Settings: Merge orderproc into guiproc
This commit is contained in:
@@ -1855,21 +1855,6 @@ static bool UpdateClientConfigValues(int32 p1)
|
|||||||
|
|
||||||
/* End - Callback Functions */
|
/* End - Callback Functions */
|
||||||
|
|
||||||
/* Begin - GUI order callbacks */
|
|
||||||
|
|
||||||
static int OrderTownGrowthRate(uint nth)
|
|
||||||
{
|
|
||||||
if (nth == 0) {
|
|
||||||
return 0;
|
|
||||||
} else if (nth <= 2) {
|
|
||||||
return nth - 3;
|
|
||||||
} else {
|
|
||||||
return nth - 2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* End - GUI order callbacks */
|
|
||||||
|
|
||||||
/* Begin - xref conversion callbacks */
|
/* Begin - xref conversion callbacks */
|
||||||
|
|
||||||
static int64 LinkGraphDistModeXrefChillPP(int64 val)
|
static int64 LinkGraphDistModeXrefChillPP(int64 val)
|
||||||
@@ -1881,6 +1866,28 @@ static int64 LinkGraphDistModeXrefChillPP(int64 val)
|
|||||||
|
|
||||||
/* Begin - GUI callbacks */
|
/* Begin - GUI callbacks */
|
||||||
|
|
||||||
|
static bool OrderTownGrowthRate(SettingOnGuiCtrlData &data)
|
||||||
|
{
|
||||||
|
switch (data.type) {
|
||||||
|
case SOGCT_MULTISTRING_ORDER: {
|
||||||
|
int in = data.val;
|
||||||
|
int out;
|
||||||
|
if (in == 0) {
|
||||||
|
out = 0;
|
||||||
|
} else if (in <= 2) {
|
||||||
|
out = in - 3;
|
||||||
|
} else {
|
||||||
|
out = in - 2;
|
||||||
|
}
|
||||||
|
data.val = out;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
default:
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static bool LinkGraphDistributionSettingGUI(SettingOnGuiCtrlData &data)
|
static bool LinkGraphDistributionSettingGUI(SettingOnGuiCtrlData &data)
|
||||||
{
|
{
|
||||||
switch (data.type) {
|
switch (data.type) {
|
||||||
|
@@ -2578,7 +2578,15 @@ struct GameSettingsWindow : Window {
|
|||||||
DropDownList list;
|
DropDownList list;
|
||||||
if (sd->desc.flags & SGF_MULTISTRING) {
|
if (sd->desc.flags & SGF_MULTISTRING) {
|
||||||
for (int i = sdb->min; i <= (int)sdb->max; i++) {
|
for (int i = sdb->min; i <= (int)sdb->max; i++) {
|
||||||
int val = sd->orderproc ? sd->orderproc(i - sdb->min) : i;
|
int val = i;
|
||||||
|
if (sd->desc.guiproc != nullptr) {
|
||||||
|
SettingOnGuiCtrlData data;
|
||||||
|
data.type = SOGCT_MULTISTRING_ORDER;
|
||||||
|
data.val = i - sdb->min;
|
||||||
|
if (sd->desc.guiproc(data)) {
|
||||||
|
val = data.val;
|
||||||
|
}
|
||||||
|
}
|
||||||
assert_msg(val >= sdb->min && val <= (int)sdb->max, "min: %d, max: %d, val: %d", sdb->min, sdb->max, val);
|
assert_msg(val >= sdb->min && val <= (int)sdb->max, "min: %d, max: %d, val: %d", sdb->min, sdb->max, val);
|
||||||
list.emplace_back(new DropDownListStringItem(sdb->str_val + val - sdb->min, val, false));
|
list.emplace_back(new DropDownListStringItem(sdb->str_val + val - sdb->min, val, false));
|
||||||
}
|
}
|
||||||
|
@@ -91,16 +91,17 @@ enum SettingType {
|
|||||||
|
|
||||||
enum SettingOnGuiCtrlType {
|
enum SettingOnGuiCtrlType {
|
||||||
SOGCT_DESCRIPTION_TEXT, ///< Description text callback
|
SOGCT_DESCRIPTION_TEXT, ///< Description text callback
|
||||||
|
SOGCT_MULTISTRING_ORDER, ///< SGF_MULTISTRING reordering callback
|
||||||
};
|
};
|
||||||
|
|
||||||
struct SettingOnGuiCtrlData {
|
struct SettingOnGuiCtrlData {
|
||||||
SettingOnGuiCtrlType type;
|
SettingOnGuiCtrlType type;
|
||||||
StringID text;
|
StringID text;
|
||||||
|
int val;
|
||||||
};
|
};
|
||||||
|
|
||||||
typedef bool OnChange(int32 var); ///< callback prototype on data modification
|
typedef bool OnChange(int32 var); ///< callback prototype on data modification
|
||||||
typedef size_t OnConvert(const char *value); ///< callback prototype for conversion error
|
typedef size_t OnConvert(const char *value); ///< callback prototype for conversion error
|
||||||
typedef int OnGuiOrder(uint nth); ///< callback prototype for GUI ordering
|
|
||||||
typedef bool OnGuiCtrl(SettingOnGuiCtrlData &data); ///< callback prototype for GUI operations
|
typedef bool OnGuiCtrl(SettingOnGuiCtrlData &data); ///< callback prototype for GUI operations
|
||||||
typedef int64 OnXrefValueConvert(int64 val); ///< callback prototype for xref value conversion
|
typedef int64 OnXrefValueConvert(int64 val); ///< callback prototype for xref value conversion
|
||||||
|
|
||||||
@@ -144,7 +145,6 @@ struct SettingDesc {
|
|||||||
SaveLoad save; ///< Internal structure (going to savegame, parts to config)
|
SaveLoad save; ///< Internal structure (going to savegame, parts to config)
|
||||||
const char *patx_name; ///< Name to save/load setting from in PATX chunk, if nullptr save/load from PATS chunk as normal
|
const char *patx_name; ///< Name to save/load setting from in PATX chunk, if nullptr save/load from PATS chunk as normal
|
||||||
SettingsXref xref; ///< Details of SettingDesc to use instead of the contents of this one, useful for loading legacy savegames, if target field nullptr save/load as normal
|
SettingsXref xref; ///< Details of SettingDesc to use instead of the contents of this one, useful for loading legacy savegames, if target field nullptr save/load as normal
|
||||||
OnGuiOrder *orderproc; ///< Callback procedure for GUI re-ordering
|
|
||||||
|
|
||||||
bool IsEditable(bool do_command = false) const;
|
bool IsEditable(bool do_command = false) const;
|
||||||
SettingType GetType() const;
|
SettingType GetType() const;
|
||||||
|
@@ -17,7 +17,7 @@ static const SettingDesc _company_settings[] = {
|
|||||||
};
|
};
|
||||||
[templates]
|
[templates]
|
||||||
SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname, $orderproc),
|
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDT_NULL = SDT_NULL($length, $from, $to, $extver),
|
SDT_NULL = SDT_NULL($length, $from, $to, $extver),
|
||||||
SDT_END = SDT_END()
|
SDT_END = SDT_END()
|
||||||
|
|
||||||
@@ -40,7 +40,6 @@ cat = SC_ADVANCED
|
|||||||
startup = false
|
startup = false
|
||||||
extver = SlXvFeatureTest()
|
extver = SlXvFeatureTest()
|
||||||
patxname = nullptr
|
patxname = nullptr
|
||||||
orderproc = nullptr
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -9,7 +9,7 @@ static const SettingDesc _currency_settings[] = {
|
|||||||
[post-amble]
|
[post-amble]
|
||||||
};
|
};
|
||||||
[templates]
|
[templates]
|
||||||
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
|
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDT_END = SDT_END()
|
SDT_END = SDT_END()
|
||||||
|
|
||||||
@@ -31,7 +31,6 @@ to = SL_MAX_VERSION
|
|||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
startup = false
|
startup = false
|
||||||
extver = SlXvFeatureTest()
|
extver = SlXvFeatureTest()
|
||||||
orderproc = nullptr
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -38,12 +38,12 @@ static const SettingDesc _gameopt_settings[] = {
|
|||||||
};
|
};
|
||||||
[templates]
|
[templates]
|
||||||
SDTG_GENERAL = SDTG_GENERAL($name, $sdt_cmd, $sle_cmd, $type, $flags, $guiflags, $var, $length, $def, $min, $max, $interval, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
SDTG_GENERAL = SDTG_GENERAL($name, $sdt_cmd, $sle_cmd, $type, $flags, $guiflags, $var, $length, $def, $min, $max, $interval, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
|
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDT_NULL = SDT_NULL($length, $from, $to, $extver),
|
SDT_NULL = SDT_NULL($length, $from, $to, $extver),
|
||||||
SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $guiflags, $var, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $guiflags, $var, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $load, $cat, $startup, $extver, nullptr),
|
SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $load, $cat, $startup, $extver, nullptr),
|
||||||
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
|
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDT_END = SDT_END()
|
SDT_END = SDT_END()
|
||||||
|
|
||||||
[validation]
|
[validation]
|
||||||
@@ -68,7 +68,6 @@ to = SL_MAX_VERSION
|
|||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
startup = false
|
startup = false
|
||||||
extver = SlXvFeatureTest()
|
extver = SlXvFeatureTest()
|
||||||
orderproc = nullptr
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -26,7 +26,7 @@ SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $guiflags, $var, $def,
|
|||||||
SDTG_STR = SDTG_STR($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
SDTG_STR = SDTG_STR($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDTG_SSTR = SDTG_SSTR($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
SDTG_SSTR = SDTG_SSTR($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
|
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDTG_END = SDTG_END()
|
SDTG_END = SDTG_END()
|
||||||
|
|
||||||
[validation]
|
[validation]
|
||||||
@@ -48,7 +48,6 @@ to = SL_MAX_VERSION
|
|||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
startup = true
|
startup = true
|
||||||
extver = SlXvFeatureTest()
|
extver = SlXvFeatureTest()
|
||||||
orderproc = nullptr
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@@ -61,17 +61,17 @@ static size_t ConvertLandscape(const char *value);
|
|||||||
|
|
||||||
/* Macros for various objects to go in the configuration file.
|
/* Macros for various objects to go in the configuration file.
|
||||||
* This section is for global variables */
|
* This section is for global variables */
|
||||||
#define SDTG_GENERAL2(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, orderproc, enumlist)\
|
#define SDTG_GENERAL2(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, enumlist)\
|
||||||
{NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, guiproc, nullptr, cat, startup, enumlist), SLEG_GENERAL_X(sle_cmd, var, type | flags, length, from, to, extver), patxname, SettingsXref(), orderproc}
|
{NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, guiproc, nullptr, cat, startup, enumlist), SLEG_GENERAL_X(sle_cmd, var, type | flags, length, from, to, extver), patxname, SettingsXref()}
|
||||||
|
|
||||||
#define SDTG_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
#define SDTG_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
||||||
SDTG_GENERAL2(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, nullptr, nullptr)
|
SDTG_GENERAL2(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, nullptr)
|
||||||
|
|
||||||
#define SDTG_VAR(name, type, flags, guiflags, var, def, min, max, interval, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, orderproc)\
|
#define SDTG_VAR(name, type, flags, guiflags, var, def, min, max, interval, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
||||||
SDTG_GENERAL2(name, SDT_NUMX, SL_VAR, type, flags, guiflags, var, 0, def, min, max, interval, nullptr, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, orderproc, nullptr)
|
SDTG_GENERAL2(name, SDT_NUMX, SL_VAR, type, flags, guiflags, var, 0, def, min, max, interval, nullptr, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, nullptr)
|
||||||
|
|
||||||
#define SDTG_ENUM(name, type, flags, guiflags, var, def, str, strhelp, proc, guiproc, from, to, cat, startup, extver, patxname, enumlist)\
|
#define SDTG_ENUM(name, type, flags, guiflags, var, def, str, strhelp, proc, guiproc, from, to, cat, startup, extver, patxname, enumlist)\
|
||||||
SDTG_GENERAL2(name, SDT_NUMX, SL_VAR, type, flags, guiflags | SGF_ENUM, var, 0, def, 0, 0, 0, nullptr, str, strhelp, STR_NULL, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname, nullptr, enumlist)
|
SDTG_GENERAL2(name, SDT_NUMX, SL_VAR, type, flags, guiflags | SGF_ENUM, var, 0, def, 0, 0, 0, nullptr, str, strhelp, STR_NULL, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname, enumlist)
|
||||||
|
|
||||||
#define SDTG_BOOL(name, flags, guiflags, var, def, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
#define SDTG_BOOL(name, flags, guiflags, var, def, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
||||||
SDTG_GENERAL(name, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, var, 0, def, 0, 1, 0, nullptr, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)
|
SDTG_GENERAL(name, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, var, 0, def, 0, 1, 0, nullptr, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)
|
||||||
@@ -92,23 +92,23 @@ static size_t ConvertLandscape(const char *value);
|
|||||||
SDTG_GENERAL(name, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, 0, 0, full, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)
|
SDTG_GENERAL(name, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, 0, 0, full, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)
|
||||||
|
|
||||||
#define SDTG_NULL(length, from, to, extver)\
|
#define SDTG_NULL(length, from, to, extver)\
|
||||||
{{"", nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, nullptr, SC_NONE, false, nullptr}, SLEG_NULL_X(length, from, to, extver), nullptr, SettingsXref(), nullptr}
|
{{"", nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, nullptr, SC_NONE, false, nullptr}, SLEG_NULL_X(length, from, to, extver), nullptr, SettingsXref()}
|
||||||
|
|
||||||
#define SDTG_END() {{nullptr, nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, nullptr, SC_NONE, false, nullptr}, SLEG_END(), nullptr, SettingsXref(), nullptr}
|
#define SDTG_END() {{nullptr, nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, nullptr, SC_NONE, false, nullptr}, SLEG_END(), nullptr, SettingsXref()}
|
||||||
|
|
||||||
/* Macros for various objects to go in the configuration file.
|
/* Macros for various objects to go in the configuration file.
|
||||||
* This section is for structures where their various members are saved */
|
* This section is for structures where their various members are saved */
|
||||||
#define SDT_GENERAL2(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, load, from, to, cat, startup, extver, patxname, orderproc, enumlist)\
|
#define SDT_GENERAL2(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, load, from, to, cat, startup, extver, patxname, enumlist)\
|
||||||
{NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, guiproc, load, cat, startup, enumlist), SLE_GENERAL_X(sle_cmd, base, var, type | flags, length, from, to, extver), patxname, SettingsXref(), orderproc}
|
{NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, guiproc, load, cat, startup, enumlist), SLE_GENERAL_X(sle_cmd, base, var, type | flags, length, from, to, extver), patxname, SettingsXref()}
|
||||||
|
|
||||||
#define SDT_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, load, from, to, cat, startup, extver, patxname)\
|
#define SDT_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, load, from, to, cat, startup, extver, patxname)\
|
||||||
SDT_GENERAL2(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, load, from, to, cat, startup, extver, patxname, nullptr, nullptr)
|
SDT_GENERAL2(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, strhelp, strval, proc, guiproc, load, from, to, cat, startup, extver, patxname, nullptr)
|
||||||
|
|
||||||
#define SDT_VAR(base, var, type, flags, guiflags, def, min, max, interval, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, orderproc)\
|
#define SDT_VAR(base, var, type, flags, guiflags, def, min, max, interval, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
||||||
SDT_GENERAL2(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, base, var, 1, def, min, max, interval, nullptr, str, strhelp, strval, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname, orderproc, nullptr)
|
SDT_GENERAL2(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, base, var, 1, def, min, max, interval, nullptr, str, strhelp, strval, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname, nullptr)
|
||||||
|
|
||||||
#define SDT_ENUM(base, var, type, flags, guiflags, def, str, strhelp, proc, guiproc, from, to, cat, startup, extver, patxname, enumlist)\
|
#define SDT_ENUM(base, var, type, flags, guiflags, def, str, strhelp, proc, guiproc, from, to, cat, startup, extver, patxname, enumlist)\
|
||||||
SDT_GENERAL2(#var, SDT_NUMX, SL_VAR, type, flags, guiflags | SGF_ENUM, base, var, 1, def, 0, 0, 0, nullptr, str, strhelp, STR_NULL, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname, nullptr, enumlist)
|
SDT_GENERAL2(#var, SDT_NUMX, SL_VAR, type, flags, guiflags | SGF_ENUM, base, var, 1, def, 0, 0, 0, nullptr, str, strhelp, STR_NULL, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname, enumlist)
|
||||||
|
|
||||||
#define SDT_BOOL(base, var, flags, guiflags, def, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
#define SDT_BOOL(base, var, flags, guiflags, def, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
||||||
SDT_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, base, var, 1, def, 0, 1, 0, nullptr, str, strhelp, strval, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname)
|
SDT_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, base, var, 1, def, 0, 1, 0, nullptr, str, strhelp, strval, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname)
|
||||||
@@ -126,14 +126,14 @@ static size_t ConvertLandscape(const char *value);
|
|||||||
SDT_GENERAL(#var, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, 0, 0, full, str, strhelp, strval, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname)
|
SDT_GENERAL(#var, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, 0, 0, full, str, strhelp, strval, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname)
|
||||||
|
|
||||||
#define SDT_NULL(length, from, to, extver)\
|
#define SDT_NULL(length, from, to, extver)\
|
||||||
{{"", nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, nullptr, SC_NONE, false, nullptr}, SLE_CONDNULL_X(length, from, to, extver), nullptr, SettingsXref(), nullptr}
|
{{"", nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, nullptr, SC_NONE, false, nullptr}, SLE_CONDNULL_X(length, from, to, extver), nullptr, SettingsXref()}
|
||||||
|
|
||||||
|
|
||||||
#define SDTC_VAR(var, type, flags, guiflags, def, min, max, interval, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, orderproc)\
|
#define SDTC_VAR(var, type, flags, guiflags, def, min, max, interval, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
||||||
SDTG_GENERAL2(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, min, max, interval, nullptr, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, orderproc, nullptr)
|
SDTG_GENERAL2(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, min, max, interval, nullptr, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname, nullptr)
|
||||||
|
|
||||||
#define SDTC_ENUM(var, type, flags, guiflags, def, str, strhelp, proc, guiproc, from, to, cat, startup, extver, patxname, enumlist)\
|
#define SDTC_ENUM(var, type, flags, guiflags, def, str, strhelp, proc, guiproc, from, to, cat, startup, extver, patxname, enumlist)\
|
||||||
SDTG_GENERAL2(#var, SDT_NUMX, SL_VAR, type, flags, guiflags | SGF_ENUM, _settings_client.var, 1, def, 0, 0, 0, nullptr, str, strhelp, STR_NULL, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname, nullptr, enumlist)
|
SDTG_GENERAL2(#var, SDT_NUMX, SL_VAR, type, flags, guiflags | SGF_ENUM, _settings_client.var, 1, def, 0, 0, 0, nullptr, str, strhelp, STR_NULL, proc, guiproc, nullptr, from, to, cat, startup, extver, patxname,, enumlist)
|
||||||
|
|
||||||
#define SDTC_BOOL(var, flags, guiflags, def, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
#define SDTC_BOOL(var, flags, guiflags, def, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)\
|
||||||
SDTG_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, _settings_client.var, 1, def, 0, 1, 0, nullptr, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)
|
SDTG_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, _settings_client.var, 1, def, 0, 1, 0, nullptr, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)
|
||||||
@@ -148,7 +148,7 @@ static size_t ConvertLandscape(const char *value);
|
|||||||
SDTG_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, 0, max, 0, full, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)
|
SDTG_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, 0, max, 0, full, str, strhelp, strval, proc, guiproc, from, to, cat, startup, extver, patxname)
|
||||||
|
|
||||||
#define SDT_XREF(from, to, extver, xref, xrefcvt)\
|
#define SDT_XREF(from, to, extver, xref, xrefcvt)\
|
||||||
{{"", nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, nullptr, SC_NONE, false, nullptr}, SLE_CONDNULL_X(0, from, to, extver), nullptr, SettingsXref(xref, xrefcvt), nullptr}
|
{{"", nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, nullptr, SC_NONE, false, nullptr}, SLE_CONDNULL_X(0, from, to, extver), nullptr, SettingsXref(xref, xrefcvt)}
|
||||||
|
|
||||||
#define SDT_END() {{nullptr, nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, nullptr, SC_NONE, false, nullptr}, SLE_END(), nullptr, SettingsXref(), nullptr}
|
#define SDT_END() {{nullptr, nullptr, SDT_NUMX, SGF_NONE, 0, 0, 0, nullptr, STR_NULL, STR_NULL, STR_NULL, nullptr, nullptr, nullptr, SC_NONE, false, nullptr}, SLE_END(), nullptr, SettingsXref()}
|
||||||
|
|
||||||
|
@@ -77,22 +77,21 @@ static bool CheckSharingRoad(int32 p1);
|
|||||||
static bool CheckSharingWater(int32 p1);
|
static bool CheckSharingWater(int32 p1);
|
||||||
static bool CheckSharingAir(int32 p1);
|
static bool CheckSharingAir(int32 p1);
|
||||||
|
|
||||||
static bool LinkGraphDistributionSettingGUI(SettingOnGuiCtrlData &data);
|
|
||||||
|
|
||||||
/* End - Callback Functions for the various settings */
|
/* End - Callback Functions for the various settings */
|
||||||
|
|
||||||
/* Begin - GUI order callbacks */
|
|
||||||
|
|
||||||
static int OrderTownGrowthRate(uint nth);
|
|
||||||
|
|
||||||
/* End - GUI order callbacks */
|
|
||||||
|
|
||||||
/* Begin - xref conversion callbacks */
|
/* Begin - xref conversion callbacks */
|
||||||
|
|
||||||
static int64 LinkGraphDistModeXrefChillPP(int64 val);
|
static int64 LinkGraphDistModeXrefChillPP(int64 val);
|
||||||
|
|
||||||
/* End - xref conversion callbacks */
|
/* End - xref conversion callbacks */
|
||||||
|
|
||||||
|
/* Begin - GUI callbacks */
|
||||||
|
|
||||||
|
static bool LinkGraphDistributionSettingGUI(SettingOnGuiCtrlData &data);
|
||||||
|
static bool OrderTownGrowthRate(SettingOnGuiCtrlData &data);
|
||||||
|
|
||||||
|
/* End - GUI callbacks */
|
||||||
|
|
||||||
static const SettingDescEnumEntry _linkgraph_mode_symmetric[] = {
|
static const SettingDescEnumEntry _linkgraph_mode_symmetric[] = {
|
||||||
{ DT_MANUAL, STR_CONFIG_SETTING_DISTRIBUTION_MANUAL },
|
{ DT_MANUAL, STR_CONFIG_SETTING_DISTRIBUTION_MANUAL },
|
||||||
{ DT_SYMMETRIC, STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC },
|
{ DT_SYMMETRIC, STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC },
|
||||||
@@ -145,18 +144,18 @@ const SettingDesc _settings[] = {
|
|||||||
};
|
};
|
||||||
[templates]
|
[templates]
|
||||||
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname, $orderproc),
|
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDTG_ENUM = SDTG_ENUM($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname, $enumlist),
|
SDTG_ENUM = SDTG_ENUM($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname, $enumlist),
|
||||||
SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $guiflags, $var, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $guiflags, $var, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDTC_BOOL = SDTC_BOOL( $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
SDTC_BOOL = SDTC_BOOL( $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDTC_LIST = SDTC_LIST( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
SDTC_LIST = SDTC_LIST( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDTC_STR = SDTC_STR( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
SDTC_STR = SDTC_STR( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDTC_VAR = SDTC_VAR( $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname, $orderproc),
|
SDTC_VAR = SDTC_VAR( $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $load, $cat, $startup, $extver, $patxname),
|
SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $load, $cat, $startup, $extver, $patxname),
|
||||||
SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname, $orderproc),
|
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname),
|
||||||
SDT_ENUM = SDT_ENUM($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname, $enumlist),
|
SDT_ENUM = SDT_ENUM($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $proc, $guiproc, $from, $to, $cat, $startup, $extver, $patxname, $enumlist),
|
||||||
SDT_NULL = SDT_NULL($length, $from, $to, $extver),
|
SDT_NULL = SDT_NULL($length, $from, $to, $extver),
|
||||||
SDT_XREF = SDT_XREF( $from, $to, $extver, $xref, $xrefcvt),
|
SDT_XREF = SDT_XREF( $from, $to, $extver, $xref, $xrefcvt),
|
||||||
@@ -190,7 +189,6 @@ extver = SlXvFeatureTest()
|
|||||||
patxname = nullptr
|
patxname = nullptr
|
||||||
xref = <this parameter must be set>
|
xref = <this parameter must be set>
|
||||||
xrefcvt = nullptr
|
xrefcvt = nullptr
|
||||||
orderproc = nullptr
|
|
||||||
enumlist = <this parameter must be set>
|
enumlist = <this parameter must be set>
|
||||||
|
|
||||||
|
|
||||||
@@ -2505,7 +2503,7 @@ max = 4
|
|||||||
str = STR_CONFIG_SETTING_TOWN_GROWTH
|
str = STR_CONFIG_SETTING_TOWN_GROWTH
|
||||||
strhelp = STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT
|
strhelp = STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT
|
||||||
strval = STR_CONFIG_SETTING_TOWN_GROWTH_EXTREME_SLOW
|
strval = STR_CONFIG_SETTING_TOWN_GROWTH_EXTREME_SLOW
|
||||||
orderproc = OrderTownGrowthRate
|
guiproc = OrderTownGrowthRate
|
||||||
|
|
||||||
[SDT_BOOL]
|
[SDT_BOOL]
|
||||||
base = GameSettings
|
base = GameSettings
|
||||||
|
@@ -15,7 +15,7 @@ static const SettingDescGlobVarList _win32_settings[] = {
|
|||||||
#endif /* _WIN32 */
|
#endif /* _WIN32 */
|
||||||
[templates]
|
[templates]
|
||||||
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
|
SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDTG_END = SDTG_END()
|
SDTG_END = SDTG_END()
|
||||||
|
|
||||||
[validation]
|
[validation]
|
||||||
@@ -36,7 +36,6 @@ to = SL_MAX_VERSION
|
|||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
startup = true
|
startup = true
|
||||||
extver = SlXvFeatureTest()
|
extver = SlXvFeatureTest()
|
||||||
orderproc = nullptr
|
|
||||||
|
|
||||||
|
|
||||||
[SDTG_BOOL]
|
[SDTG_BOOL]
|
||||||
|
@@ -11,7 +11,7 @@ static const SettingDesc _window_settings[] = {
|
|||||||
};
|
};
|
||||||
[templates]
|
[templates]
|
||||||
SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr, $orderproc),
|
SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $guiproc, $from, $to, $cat, $startup, $extver, nullptr),
|
||||||
SDT_END = SDT_END()
|
SDT_END = SDT_END()
|
||||||
|
|
||||||
[validation]
|
[validation]
|
||||||
@@ -33,7 +33,6 @@ to = SL_MAX_VERSION
|
|||||||
cat = SC_ADVANCED
|
cat = SC_ADVANCED
|
||||||
startup = false
|
startup = false
|
||||||
extver = SlXvFeatureTest()
|
extver = SlXvFeatureTest()
|
||||||
orderproc = nullptr
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user