diff --git a/src/lang/english.txt b/src/lang/english.txt index 7f28791783..0d0ae6a6bf 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -1117,7 +1117,9 @@ STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Company setting STR_CONFIG_SETTING_RESTRICT_LABEL :{BLACK}Show: STR_CONFIG_SETTING_RESTRICT_DROPDOWN_HELPTEXT :{BLACK}Restricts the list below showing only changed settings -STR_CONFIG_SETTING_RESTRICT_ALL :All settings +STR_CONFIG_SETTING_RESTRICT_BASIC :Basic settings +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Advanced settings +STR_CONFIG_SETTING_RESTRICT_ALL :Expert settings / all settings STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT :Settings with a different value than the default STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT_WO_LOCAL :Non-client settings with a different value than the default STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW :Settings with a different value than your new-game settings diff --git a/src/settings_gui.cpp b/src/settings_gui.cpp index 95df9fd4b8..33ca7a1094 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -997,6 +997,8 @@ struct SettingEntrySetting { /** How the list of advanced settings is filtered. */ enum RestrictionMode { + RM_BASIC, ///< Display settings associated to the "basic" list. + RM_ADVANCED, ///< Display settings associated to the "advanced" list. RM_ALL, ///< List all settings regardless of the default/newgame/... values. RM_CHANGED_AGAINST_DEFAULT, ///< Show only settings which are different compared to default values. RM_CHANGED_AGAINST_DEFAULT_WO_LOCAL, ///< Show only non-local settings which are different compared to default values. @@ -1302,6 +1304,9 @@ bool SettingEntry::IsVisibleByRestrictionMode(RestrictionMode mode) const return false; } + if (mode == RM_BASIC) return (this->d.entry.setting->desc.cat & SC_BASIC_LIST) != 0; + if (mode == RM_ADVANCED) return (this->d.entry.setting->desc.cat & SC_ADVANCED_LIST) != 0; + /* Read the current value. */ const void *var = ResolveVariableAddress(settings_ptr, sd); int64 current_value = ReadValue(var, sd->save.conv); @@ -1942,6 +1947,8 @@ static SettingEntry _settings_main[] = { static SettingsPage _settings_main_page = {_settings_main, lengthof(_settings_main)}; static const StringID _game_settings_restrict_dropdown[] = { + STR_CONFIG_SETTING_RESTRICT_BASIC, // RM_BASIC + STR_CONFIG_SETTING_RESTRICT_ADVANCED, // RM_ADVANCED STR_CONFIG_SETTING_RESTRICT_ALL, // RM_ALL STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT, // RM_CHANGED_AGAINST_DEFAULT STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_DEFAULT_WO_LOCAL, // RM_CHANGED_AGAINST_DEFAULT_WO_LOCAL @@ -1970,7 +1977,7 @@ struct GameSettingsWindow : QueryStringBaseWindow { Scrollbar *vscroll; - GameSettingsWindow(const WindowDesc *desc) : QueryStringBaseWindow(50), cur_restriction_mode(RM_ALL) + GameSettingsWindow(const WindowDesc *desc) : QueryStringBaseWindow(50), cur_restriction_mode(RM_BASIC) { static bool first_time = true; diff --git a/src/settings_internal.h b/src/settings_internal.h index dccbece4ed..baaef165e5 100644 --- a/src/settings_internal.h +++ b/src/settings_internal.h @@ -52,6 +52,30 @@ enum SettingGuiFlagLong { DECLARE_ENUM_AS_BIT_SET(SettingGuiFlagLong) typedef SimpleTinyEnumT SettingGuiFlag; +/** + * A SettingCategory defines a grouping of the settings. + * The group #SC_BASIC is intended for settings which also a novice player would like to change and is able to understand. + * The group #SC_ADVANCED is intended for settings which an experienced player would like to use. This is the case for most settings. + * Finally #SC_EXPERT settings only few people want to see in rare cases. + * The grouping is meant to be inclusive, i.e. all settings in #SC_BASIC also will be included + * in the set of settings in #SC_ADVANCED. The group #SC_EXPERT contains all settings. + */ +enum SettingCategory { + SC_NONE = 0, + + /* Filters for the list */ + SC_BASIC_LIST = 1 << 0, ///< Settings displayed in the list of basic settings. + SC_ADVANCED_LIST = 1 << 1, ///< Settings displayed in the list of advanced settings. + SC_EXPERT_LIST = 1 << 2, ///< Settings displayed in the list of expert settings. + + /* Setting classification */ + SC_BASIC = SC_BASIC_LIST | SC_ADVANCED_LIST | SC_EXPERT_LIST, ///< Basic settings are part of all lists. + SC_ADVANCED = SC_ADVANCED_LIST | SC_EXPERT_LIST, ///< Advanced settings are part of advanced and expert list. + SC_EXPERT = SC_EXPERT_LIST, ///< Expert settings can only be seen in the expert list. + + SC_END, +}; + typedef bool OnChange(int32 var); ///< callback prototype on data modification typedef size_t OnConvert(const char *value); ///< callback prototype for convertion error @@ -71,6 +95,7 @@ struct SettingDescBase { StringID str_val; ///< (Translated) first string describing the value. OnChange *proc; ///< callback procedure for when the value is changed OnConvert *proc_cnvt; ///< callback procedure when loading value mechanism fails + SettingCategory cat; ///< assigned categories of the setting }; struct SettingDesc { diff --git a/src/table/company_settings.ini b/src/table/company_settings.ini index 060d7acfbe..932cd6b580 100644 --- a/src/table/company_settings.ini +++ b/src/table/company_settings.ini @@ -14,8 +14,8 @@ static const SettingDesc _company_settings[] = { [post-amble] }; [templates] -SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to), +SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDT_END = SDT_END() [defaults] @@ -29,6 +29,7 @@ proc = NULL load = NULL from = 0 to = SL_MAX_VERSION +cat = SC_ADVANCED diff --git a/src/table/currency_settings.ini b/src/table/currency_settings.ini index 66eff3d226..dede8b0fb7 100644 --- a/src/table/currency_settings.ini +++ b/src/table/currency_settings.ini @@ -11,9 +11,9 @@ static const SettingDesc _currency_settings[] = { [post-amble] }; [templates] -SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to), -SDT_CHR = SDT_CHR($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to), +SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDT_CHR = SDT_CHR($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDT_END = SDT_END() [defaults] @@ -27,6 +27,7 @@ proc = NULL load = NULL from = 0 to = SL_MAX_VERSION +cat = SC_ADVANCED @@ -42,6 +43,7 @@ max = UINT16_MAX base = CurrencySpec var = separator def = ""."" +cat = SC_BASIC [SDT_VAR] base = CurrencySpec diff --git a/src/table/gameopt_settings.ini b/src/table/gameopt_settings.ini index ee1a184f09..b80f195c72 100644 --- a/src/table/gameopt_settings.ini +++ b/src/table/gameopt_settings.ini @@ -36,11 +36,11 @@ static const SettingDesc _gameopt_settings[] = { [post-amble] }; [templates] -SDTG_GENERAL = SDTG_GENERAL($name, $sdt_cmd, $sle_cmd, $type, $flags, $guiflags, $var, $length, $def, $min, $max, $interval, $full, $str, $strhelp, $strval, $proc, $from, $to), +SDTG_GENERAL = SDTG_GENERAL($name, $sdt_cmd, $sle_cmd, $type, $flags, $guiflags, $var, $length, $def, $min, $max, $interval, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDT_NULL = SDT_NULL($length, $from, $to), -SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to), -SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $load), -SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to), +SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $load, $cat), +SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDT_END = SDT_END() [defaults] @@ -54,6 +54,7 @@ proc = NULL load = NULL from = 0 to = SL_MAX_VERSION +cat = SC_ADVANCED @@ -93,6 +94,7 @@ type = SLE_UINT8 def = 3 min = 0 max = 3 +cat = SC_BASIC [SDT_OMANY] base = GameSettings @@ -102,6 +104,7 @@ flags = SLF_NO_NETWORK_SYNC def = 0 max = CUSTOM_CURRENCY_ID full = _locale_currencies +cat = SC_BASIC [SDT_OMANY] base = GameSettings @@ -111,6 +114,7 @@ flags = SLF_NO_NETWORK_SYNC def = 1 max = 2 full = _locale_units +cat = SC_BASIC # There are only 21 predefined town_name values (0-20), but you can have more with newgrf action F so allow # these bigger values (21-255). Invalid values will fallback to english on use and (undefined string) in GUI. @@ -121,6 +125,7 @@ type = SLE_UINT8 def = 0 max = 255 full = _town_names +cat = SC_BASIC [SDT_OMANY] base = GameSettings @@ -130,6 +135,7 @@ def = 0 max = 3 full = _climates load = ConvertLandscape +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -157,6 +163,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 1 max = 4 full = _autosave_interval +cat = SC_BASIC [SDT_OMANY] base = GameSettings @@ -165,6 +172,7 @@ type = SLE_UINT8 def = 1 max = 1 full = _roadsides +cat = SC_BASIC [SDT_END] diff --git a/src/table/misc_settings.ini b/src/table/misc_settings.ini index eeca619f13..919e964cad 100644 --- a/src/table/misc_settings.ini +++ b/src/table/misc_settings.ini @@ -13,11 +13,11 @@ static const SettingDescGlobVarList _misc_settings[] = { [post-amble] }; [templates] -SDTG_LIST = SDTG_LIST($name, $type, $length, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDTG_MMANY = SDTG_MMANY($name, $type, $flags, $guiflags, $var, $def, $full, $str, $strhelp, $strval, $proc, $from, $to), -SDTG_STR = SDTG_STR($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to), +SDTG_LIST = SDTG_LIST($name, $type, $length, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTG_MMANY = SDTG_MMANY($name, $type, $flags, $guiflags, $var, $def, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTG_STR = SDTG_STR($name, $type, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDTG_END = SDTG_END() [defaults] @@ -31,6 +31,7 @@ proc = NULL load = NULL from = 0 to = SL_MAX_VERSION +cat = SC_ADVANCED @@ -50,42 +51,49 @@ def = true name = ""fullscreen"" var = _fullscreen def = false +cat = SC_BASIC [SDTG_STR] name = ""graphicsset"" type = SLE_STRQ var = BaseGraphics::ini_set def = NULL +cat = SC_BASIC [SDTG_STR] name = ""soundsset"" type = SLE_STRQ var = BaseSounds::ini_set def = NULL +cat = SC_BASIC [SDTG_STR] name = ""musicset"" type = SLE_STRQ var = BaseMusic::ini_set def = NULL +cat = SC_BASIC [SDTG_STR] name = ""videodriver"" type = SLE_STRQ var = _ini_videodriver def = NULL +cat = SC_EXPERT [SDTG_STR] name = ""musicdriver"" type = SLE_STRQ var = _ini_musicdriver def = NULL +cat = SC_EXPERT [SDTG_STR] name = ""sounddriver"" type = SLE_STRQ var = _ini_sounddriver def = NULL +cat = SC_EXPERT [SDTG_STR] name = ""blitter"" @@ -98,6 +106,7 @@ name = ""language"" type = SLE_STRB var = _config_language_file def = NULL +cat = SC_BASIC ; workaround for implicit lengthof() in SDTG_LIST [SDTG_LIST] @@ -106,18 +115,21 @@ type = SLE_INT length = 2 var = _cur_resolution def = ""640,480"" +cat = SC_BASIC [SDTG_STR] name = ""screenshot_format"" type = SLE_STRB var = _screenshot_format_name def = NULL +cat = SC_EXPERT [SDTG_STR] name = ""savegame_format"" type = SLE_STRB var = _savegame_format def = NULL +cat = SC_EXPERT [SDTG_BOOL] name = ""rightclick_emulate"" @@ -219,6 +231,7 @@ var = _sprite_cache_size def = 128 min = 1 max = 512 +cat = SC_EXPERT [SDTG_VAR] name = ""player_face"" @@ -227,6 +240,7 @@ var = _company_manager_face def = 0 min = 0 max = 0xFFFFFFFF +cat = SC_BASIC [SDTG_VAR] name = ""transparency_options"" @@ -235,6 +249,7 @@ var = _transparency_opt def = 0 min = 0 max = 0x1FF +cat = SC_BASIC [SDTG_VAR] name = ""transparency_locks"" @@ -243,6 +258,7 @@ var = _transparency_lock def = 0 min = 0 max = 0x1FF +cat = SC_BASIC [SDTG_VAR] name = ""invisibility_options"" @@ -251,18 +267,21 @@ var = _invisibility_opt def = 0 min = 0 max = 0xFF +cat = SC_BASIC [SDTG_STR] name = ""keyboard"" type = SLE_STRB var = _keyboard_opt[0] def = NULL +cat = SC_EXPERT [SDTG_STR] name = ""keyboard_caps"" type = SLE_STRB var = _keyboard_opt[1] def = NULL +cat = SC_EXPERT [SDTG_VAR] name = ""last_newgrf_count"" @@ -271,6 +290,7 @@ var = _settings_client.gui.last_newgrf_count def = 100 min = 0 max = UINT32_MAX +cat = SC_EXPERT [SDTG_END] diff --git a/src/table/settings.h.preamble b/src/table/settings.h.preamble index c5cedcaab9..75e93e26f7 100644 --- a/src/table/settings.h.preamble +++ b/src/table/settings.h.preamble @@ -46,81 +46,81 @@ static size_t ConvertLandscape(const char *value); * on the appropriate macro. */ -#define NSD_GENERAL(name, def, cmd, guiflags, min, max, interval, many, str, strhelp, strval, proc, load)\ - {name, (const void*)(size_t)(def), {(byte)cmd}, {(uint16)guiflags}, min, max, interval, many, str, strhelp, strval, proc, load} +#define NSD_GENERAL(name, def, cmd, guiflags, min, max, interval, many, str, strhelp, strval, proc, load, cat)\ + {name, (const void*)(size_t)(def), {(byte)cmd}, {(uint16)guiflags}, min, max, interval, many, str, strhelp, strval, proc, load, cat} /* Macros for various objects to go in the configuration file. * This section is for global variables */ -#define SDTG_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, strhelp, strval, proc, from, to)\ - {NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, NULL), SLEG_GENERAL(sle_cmd, var, type | flags, length, from, to)} +#define SDTG_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, var, length, def, min, max, interval, full, str, strhelp, strval, proc, from, to, cat)\ + {NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, NULL, cat), SLEG_GENERAL(sle_cmd, var, type | flags, length, from, to)} -#define SDTG_VAR(name, type, flags, guiflags, var, def, min, max, interval, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(name, SDT_NUMX, SL_VAR, type, flags, guiflags, var, 0, def, min, max, interval, NULL, str, strhelp, strval, proc, from, to) +#define SDTG_VAR(name, type, flags, guiflags, var, def, min, max, interval, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(name, SDT_NUMX, SL_VAR, type, flags, guiflags, var, 0, def, min, max, interval, NULL, str, strhelp, strval, proc, from, to, cat) -#define SDTG_BOOL(name, flags, guiflags, var, def, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(name, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, var, 0, def, 0, 1, 0, NULL, str, strhelp, strval, proc, from, to) +#define SDTG_BOOL(name, flags, guiflags, var, def, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(name, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, var, 0, def, 0, 1, 0, NULL, str, strhelp, strval, proc, from, to, cat) -#define SDTG_LIST(name, type, length, flags, guiflags, var, def, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(name, SDT_INTLIST, SL_ARR, type, flags, guiflags, var, length, def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to) +#define SDTG_LIST(name, type, length, flags, guiflags, var, def, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(name, SDT_INTLIST, SL_ARR, type, flags, guiflags, var, length, def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to, cat) -#define SDTG_STR(name, type, flags, guiflags, var, def, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(name, SDT_STRING, SL_STR, type, flags, guiflags, var, lengthof(var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to) +#define SDTG_STR(name, type, flags, guiflags, var, def, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(name, SDT_STRING, SL_STR, type, flags, guiflags, var, lengthof(var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to, cat) -#define SDTG_OMANY(name, type, flags, guiflags, var, def, max, full, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(name, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, max, 0, full, str, strhelp, strval, proc, from, to) +#define SDTG_OMANY(name, type, flags, guiflags, var, def, max, full, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(name, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, max, 0, full, str, strhelp, strval, proc, from, to, cat) -#define SDTG_MMANY(name, type, flags, guiflags, var, def, full, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(name, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, 0, 0, full, str, strhelp, strval, proc, from, to) +#define SDTG_MMANY(name, type, flags, guiflags, var, def, full, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(name, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, var, 0, def, 0, 0, 0, full, str, strhelp, strval, proc, from, to, cat) #define SDTG_NULL(length, from, to)\ - {{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL}, SLEG_NULL(length, from, to)} + {{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL, SC_NONE}, SLEG_NULL(length, from, to)} -#define SDTG_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL}, SLEG_END()} +#define SDTG_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL, SC_NONE}, SLEG_END()} /* Macros for various objects to go in the configuration file. * This section is for structures where their various members are saved */ -#define SDT_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, strhelp, strval, proc, load, from, to)\ - {NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, load), SLE_GENERAL(sle_cmd, base, var, type | flags, length, from, to)} +#define SDT_GENERAL(name, sdt_cmd, sle_cmd, type, flags, guiflags, base, var, length, def, min, max, interval, full, str, strhelp, strval, proc, load, from, to, cat)\ + {NSD_GENERAL(name, def, sdt_cmd, guiflags, min, max, interval, full, str, strhelp, strval, proc, load, cat), SLE_GENERAL(sle_cmd, base, var, type | flags, length, from, to)} -#define SDT_VAR(base, var, type, flags, guiflags, def, min, max, interval, str, strhelp, strval, proc, from, to)\ - SDT_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, base, var, 1, def, min, max, interval, NULL, str, strhelp, strval, proc, NULL, from, to) +#define SDT_VAR(base, var, type, flags, guiflags, def, min, max, interval, str, strhelp, strval, proc, from, to, cat)\ + SDT_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, base, var, 1, def, min, max, interval, NULL, str, strhelp, strval, proc, NULL, from, to, cat) -#define SDT_BOOL(base, var, flags, guiflags, def, str, strhelp, strval, proc, from, to)\ - SDT_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, base, var, 1, def, 0, 1, 0, NULL, str, strhelp, strval, proc, NULL, from, to) +#define SDT_BOOL(base, var, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\ + SDT_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, base, var, 1, def, 0, 1, 0, NULL, str, strhelp, strval, proc, NULL, from, to, cat) -#define SDT_LIST(base, var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to)\ - SDT_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, NULL, from, to) +#define SDT_LIST(base, var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\ + SDT_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, NULL, from, to, cat) -#define SDT_STR(base, var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to)\ - SDT_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, NULL, from, to) +#define SDT_STR(base, var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\ + SDT_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, base, var, lengthof(((base*)8)->var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, NULL, from, to, cat) -#define SDT_CHR(base, var, flags, guiflags, def, str, strhelp, strval, proc, from, to)\ - SDT_GENERAL(#var, SDT_STRING, SL_VAR, SLE_CHAR, flags, guiflags, base, var, 1, def, 0, 0, 0, NULL, str, strhelp, strval, proc, NULL, from, to) +#define SDT_CHR(base, var, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\ + SDT_GENERAL(#var, SDT_STRING, SL_VAR, SLE_CHAR, flags, guiflags, base, var, 1, def, 0, 0, 0, NULL, str, strhelp, strval, proc, NULL, from, to, cat) -#define SDT_OMANY(base, var, type, flags, guiflags, def, max, full, str, strhelp, strval, proc, from, to, load)\ - SDT_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, max, 0, full, str, strhelp, strval, proc, load, from, to) +#define SDT_OMANY(base, var, type, flags, guiflags, def, max, full, str, strhelp, strval, proc, from, to, load, cat)\ + SDT_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, max, 0, full, str, strhelp, strval, proc, load, from, to, cat) -#define SDT_MMANY(base, var, type, flags, guiflags, def, full, str, proc, strhelp, strval, from, to)\ - SDT_GENERAL(#var, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, 0, 0, full, str, strhelp, strval, proc, NULL, from, to) +#define SDT_MMANY(base, var, type, flags, guiflags, def, full, str, proc, strhelp, strval, from, to, cat)\ + SDT_GENERAL(#var, SDT_MANYOFMANY, SL_VAR, type, flags, guiflags, base, var, 1, def, 0, 0, 0, full, str, strhelp, strval, proc, NULL, from, to, cat) #define SDT_NULL(length, from, to)\ - {{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL}, SLE_CONDNULL(length, from, to)} + {{"", NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL, SC_NONE}, SLE_CONDNULL(length, from, to)} -#define SDTC_VAR(var, type, flags, guiflags, def, min, max, interval, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, min, max, interval, NULL, str, strhelp, strval, proc, from, to) +#define SDTC_VAR(var, type, flags, guiflags, def, min, max, interval, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(#var, SDT_NUMX, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, min, max, interval, NULL, str, strhelp, strval, proc, from, to, cat) -#define SDTC_BOOL(var, flags, guiflags, def, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, _settings_client.var, 1, def, 0, 1, 0, NULL, str, strhelp, strval, proc, from, to) +#define SDTC_BOOL(var, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(#var, SDT_BOOLX, SL_VAR, SLE_BOOL, flags, guiflags, _settings_client.var, 1, def, 0, 1, 0, NULL, str, strhelp, strval, proc, from, to, cat) -#define SDTC_LIST(var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to) +#define SDTC_LIST(var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(#var, SDT_INTLIST, SL_ARR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to, cat) -#define SDTC_STR(var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to) +#define SDTC_STR(var, type, flags, guiflags, def, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(#var, SDT_STRING, SL_STR, type, flags, guiflags, _settings_client.var, lengthof(_settings_client.var), def, 0, 0, 0, NULL, str, strhelp, strval, proc, from, to, cat) -#define SDTC_OMANY(var, type, flags, guiflags, def, max, full, str, strhelp, strval, proc, from, to)\ - SDTG_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, 0, max, 0, full, str, strhelp, strval, proc, from, to) +#define SDTC_OMANY(var, type, flags, guiflags, def, max, full, str, strhelp, strval, proc, from, to, cat)\ + SDTG_GENERAL(#var, SDT_ONEOFMANY, SL_VAR, type, flags, guiflags, _settings_client.var, 1, def, 0, max, 0, full, str, strhelp, strval, proc, from, to, cat) -#define SDT_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL}, SLE_END()} +#define SDT_END() {{NULL, NULL, {0}, {0}, 0, 0, 0, NULL, STR_NULL, STR_NULL, STR_NULL, NULL, NULL, SC_NONE}, SLE_END()} diff --git a/src/table/settings.ini b/src/table/settings.ini index b16dc09885..f82e7f8e1f 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -63,17 +63,17 @@ const SettingDesc _settings[] = { [post-amble] }; [templates] -SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to), -SDTC_BOOL = SDTC_BOOL( $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDTC_LIST = SDTC_LIST( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to), -SDTC_STR = SDTC_STR( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDTC_VAR = SDTC_VAR( $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to), -SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $load), -SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to), +SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTC_BOOL = SDTC_BOOL( $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTC_LIST = SDTC_LIST( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTC_STR = SDTC_STR( $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTC_VAR = SDTC_VAR( $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $strhelp, $strval, $proc, $from, $to, $load, $cat), +SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDT_NULL = SDT_NULL($length, $from, $to), SDT_END = SDT_END() @@ -88,6 +88,7 @@ proc = NULL load = NULL from = 0 to = SL_MAX_VERSION +cat = SC_ADVANCED @@ -103,6 +104,7 @@ min = 0 max = MAX_COMPANIES - 1 interval = 1 proc = MaxNoAIsChange +cat = SC_BASIC [SDT_NULL] length = 1 @@ -121,6 +123,7 @@ max = 4 interval = 1 strval = STR_NUM_VERY_LOW proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -134,6 +137,7 @@ max = ID_END - 1 interval = 1 strval = STR_FUNDING_ONLY proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -146,6 +150,7 @@ min = 100000 max = 500000 interval = 50000 proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -158,6 +163,7 @@ min = 2 max = 4 interval = 1 proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -171,6 +177,7 @@ max = 2 interval = 1 strval = STR_SEA_LEVEL_LOW proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -183,6 +190,7 @@ max = 4 interval = 1 strval = STR_AI_SPEED_VERY_SLOW proc = DifficultyChange +cat = SC_BASIC [SDT_NULL] length = 1 @@ -200,6 +208,7 @@ max = 2 interval = 1 strval = STR_DISASTER_NONE proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -225,6 +234,7 @@ max = 2 interval = 1 strval = STR_SEA_LEVEL_LOW proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -238,6 +248,7 @@ max = 3 interval = 1 strval = STR_TERRAIN_TYPE_VERY_FLAT proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -251,6 +262,7 @@ max = 4 interval = 1 strval = STR_SEA_LEVEL_VERY_LOW proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -263,6 +275,7 @@ max = 1 interval = 1 strval = STR_ECONOMY_STEADY proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -287,6 +300,7 @@ max = 1 interval = 1 strval = STR_CONFIG_SETTING_OFF proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -309,6 +323,7 @@ def = 3 min = 0 max = 3 proc = DifficultyReset +cat = SC_BASIC ; There are only 21 predefined town_name values (0-20), but you can have more with newgrf action F so allow ; these bigger values (21-255). Invalid values will fallback to english on use and (undefined string) in GUI. @@ -321,6 +336,7 @@ guiflags = SGF_NO_NETWORK def = 0 max = 255 full = _town_names +cat = SC_BASIC [SDT_OMANY] base = GameSettings @@ -332,6 +348,7 @@ def = 0 max = 3 full = _climates load = ConvertLandscape +cat = SC_BASIC ; Snow line (or snow_line_height * TILE_HEIGHT) [SDT_NULL] @@ -359,6 +376,7 @@ guiflags = SGF_NO_NETWORK def = true str = STR_CONFIG_SETTING_BUILDONSLOPES strhelp = STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -383,6 +401,7 @@ def = 64 << 16 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -393,6 +412,7 @@ def = 4096 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -403,6 +423,7 @@ def = 64 << 16 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -413,6 +434,7 @@ def = 4096 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -423,6 +445,7 @@ def = 64 << 16 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -433,6 +456,7 @@ def = 4096 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -441,6 +465,7 @@ from = 75 def = true str = STR_CONFIG_SETTING_AUTOSLOPE strhelp = STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -494,6 +519,7 @@ str = STR_CONFIG_SETTING_SIGNALSIDE strhelp = STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT strval = STR_CONFIG_SETTING_SIGNALSIDE_LEFT proc = RedrawScreen +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -541,6 +567,7 @@ str = STR_CONFIG_SETTING_TOWN_FOUNDING strhelp = STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT strval = STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN proc = TownFoundingChanged +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -595,6 +622,7 @@ str = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS strhelp = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT strval = STR_CONFIG_SETTING_PERCENTAGE proc = TrainSlopeSteepnessChanged +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -609,6 +637,7 @@ str = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT strval = STR_CONFIG_SETTING_PERCENTAGE proc = RoadVehSlopeSteepnessChanged +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -616,6 +645,7 @@ var = pf.forbid_90_deg def = false str = STR_CONFIG_SETTING_FORBID_90_DEG strhelp = STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -629,6 +659,7 @@ interval = 1 str = STR_CONFIG_SETTING_TRAIN_LENGTH strhelp = STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT strval = STR_CONFIG_SETTING_TILE_LENGTH +cat = SC_BASIC ; vehicle.mammoth_trains [SDT_NULL] @@ -661,12 +692,14 @@ var = pf.roadveh_queue def = true str = STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = pf.new_pathfinding_all to = 86 def = false +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -674,6 +707,7 @@ var = pf.yapf.ship_use_yapf from = 28 to = 86 def = false +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -681,6 +715,7 @@ var = pf.yapf.road_use_yapf from = 28 to = 86 def = true +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -688,6 +723,7 @@ var = pf.yapf.rail_use_yapf from = 28 to = 86 def = true +cat = SC_EXPERT ## [SDT_VAR] @@ -703,6 +739,7 @@ interval = 1 str = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT strval = STR_CONFIG_SETTING_PATHFINDER_NPF +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -717,6 +754,7 @@ interval = 1 str = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT strval = STR_CONFIG_SETTING_PATHFINDER_NPF +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -731,6 +769,7 @@ interval = 1 str = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT strval = STR_CONFIG_SETTING_PATHFINDER_OPF +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -751,6 +790,7 @@ str = STR_CONFIG_SETTING_MAX_TRAINS strhelp = STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT strval = STR_JUST_COMMA proc = RedrawScreen +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -763,6 +803,7 @@ str = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES strhelp = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT strval = STR_JUST_COMMA proc = RedrawScreen +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -775,6 +816,7 @@ str = STR_CONFIG_SETTING_MAX_AIRCRAFT strhelp = STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT strval = STR_JUST_COMMA proc = RedrawScreen +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -787,6 +829,7 @@ str = STR_CONFIG_SETTING_MAX_SHIPS strhelp = STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT strval = STR_JUST_COMMA proc = RedrawScreen +cat = SC_BASIC [SDTG_BOOL] name = NULL @@ -860,6 +903,7 @@ def = false str = STR_CONFIG_SETTING_DISABLE_ELRAILS strhelp = STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT proc = SettingsDisableElrail +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -904,6 +948,7 @@ def = true str = STR_CONFIG_SETTING_DYNAMIC_ENGINES strhelp = STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT proc = ChangeDynamicEngines +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -918,6 +963,7 @@ interval = 1 str = STR_CONFIG_SETTING_PLANE_CRASHES strhelp = STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT strval = STR_CONFIG_SETTING_PLANE_CRASHES_NONE +cat = SC_BASIC ; station.join_stations [SDT_NULL] @@ -937,6 +983,7 @@ guiflags = SGF_NO_NETWORK def = true str = STR_CONFIG_SETTING_IMPROVEDLOAD strhelp = STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -967,6 +1014,7 @@ str = STR_CONFIG_SETTING_STATION_SPREAD strhelp = STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT strval = STR_CONFIG_SETTING_TILE_LENGTH proc = InvalidateStationBuildWindow +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -974,6 +1022,7 @@ var = order.serviceathelipad def = true str = STR_CONFIG_SETTING_SERVICEATHELIPAD strhelp = STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -982,6 +1031,7 @@ def = true str = STR_CONFIG_SETTING_CATCHMENT strhelp = STR_CONFIG_SETTING_CATCHMENT_HELPTEXT proc = StationCatchmentChanged +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -991,6 +1041,7 @@ guiflags = SGF_NO_NETWORK def = true str = STR_CONFIG_SETTING_GRADUAL_LOADING strhelp = STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -999,6 +1050,7 @@ from = 47 def = true str = STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD strhelp = STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -1007,6 +1059,7 @@ from = 114 def = true str = STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD strhelp = STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -1015,6 +1068,7 @@ from = 62 def = true str = STR_CONFIG_SETTING_ADJACENT_STATIONS strhelp = STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -1042,6 +1096,7 @@ var = economy.inflation def = true str = STR_CONFIG_SETTING_INFLATION strhelp = STR_CONFIG_SETTING_INFLATION_HELPTEXT +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -1055,6 +1110,7 @@ str = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD strhelp = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT strval = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE proc = InvalidateBuildIndustryWindow +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -1067,6 +1123,7 @@ max = 4 str = STR_CONFIG_SETTING_INDUSTRY_PLATFORM strhelp = STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT strval = STR_CONFIG_SETTING_TILE_LENGTH +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -1086,6 +1143,7 @@ def = true str = STR_CONFIG_SETTING_BRIBE strhelp = STR_CONFIG_SETTING_BRIBE_HELPTEXT proc = RedrawTownAuthority +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -1095,6 +1153,7 @@ def = true str = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE strhelp = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT proc = RedrawTownAuthority +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -1104,6 +1163,7 @@ def = true str = STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS strhelp = STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT proc = RedrawTownAuthority +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -1113,6 +1173,7 @@ def = true str = STR_CONFIG_SETTING_ALLOW_FUND_ROAD strhelp = STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT proc = RedrawTownAuthority +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -1121,6 +1182,7 @@ from = 79 def = true str = STR_CONFIG_SETTING_ALLOW_GIVE_MONEY strhelp = STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -1131,6 +1193,7 @@ min = MIN_SNOWLINE_HEIGHT max = MAX_SNOWLINE_HEIGHT str = STR_CONFIG_SETTING_SNOWLINE_HEIGHT strval = STR_JUST_COMMA +cat = SC_BASIC [SDT_NULL] length = 4 @@ -1146,6 +1209,7 @@ max = MAX_YEAR interval = 1 str = STR_CONFIG_SETTING_STARTING_YEAR strval = STR_JUST_INT +cat = SC_BASIC [SDT_NULL] length = 4 @@ -1158,6 +1222,7 @@ def = true str = STR_CONFIG_SETTING_SMOOTH_ECONOMY strhelp = STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT proc = InvalidateIndustryViewWindow +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -1177,6 +1242,7 @@ max = 100 str = STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE strhelp = STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT strval = STR_CONFIG_SETTING_PERCENTAGE +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1225,6 +1291,7 @@ from = 77 def = true str = STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD strhelp = STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT +cat = SC_EXPERT ; previously ai-new setting. [SDT_NULL] @@ -1237,6 +1304,7 @@ var = ai.ai_in_multiplayer def = true str = STR_CONFIG_SETTING_AI_IN_MULTIPLAYER strhelp = STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -1279,6 +1347,7 @@ interval = 2500 str = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES strhelp = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT strval = STR_JUST_COMMA +cat = SC_EXPERT ## [SDT_VAR] @@ -1288,6 +1357,7 @@ type = SLE_UINT8 def = 0 min = 0 max = 100 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1296,6 +1366,7 @@ type = SLE_UINT8 def = 20 min = 5 max = 60 +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -1312,6 +1383,7 @@ type = SLE_UINT8 def = 15 min = 2 max = 255 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1320,6 +1392,7 @@ type = SLE_UINT8 def = 41 min = 2 max = 255 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1329,6 +1402,7 @@ from = 96 def = 800 min = 200 max = 65535 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1338,6 +1412,7 @@ from = 96 def = 2000 min = 400 max = 65535 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1347,6 +1422,7 @@ from = 96 def = 4000 min = 800 max = 65535 +cat = SC_EXPERT [SDT_BOOL] base = GameSettings @@ -1356,6 +1432,7 @@ def = false str = STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE strhelp = STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT proc = InvalidateCompanyInfrastructureWindow +cat = SC_BASIC ## [SDT_VAR] @@ -1366,12 +1443,14 @@ from = 100 def = 30 min = 2 max = 255 +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = pf.reserve_paths from = 100 def = false +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1381,6 +1460,7 @@ from = 100 def = 20 min = 1 max = 255 +cat = SC_EXPERT ## [SDT_VAR] @@ -1390,6 +1470,7 @@ type = SLE_UINT16 def = 4096 min = 64 max = 65535 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1398,6 +1479,7 @@ type = SLE_UINT8 def = 48 min = 4 max = 255 +cat = SC_EXPERT ## [SDT_VAR] @@ -1407,6 +1489,7 @@ type = SLE_UINT def = 10000 min = 500 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1415,6 +1498,7 @@ type = SLE_UINT def = 10 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1423,6 +1507,7 @@ type = SLE_UINT def = 100 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1431,6 +1516,7 @@ type = SLE_UINT def = 10 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1439,6 +1525,7 @@ type = SLE_UINT def = 1 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1447,6 +1534,7 @@ type = SLE_UINT def = 1 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1455,6 +1543,7 @@ type = SLE_UINT def = 1 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1463,6 +1552,7 @@ type = SLE_UINT def = 50 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1472,6 +1562,7 @@ from = 100 def = 3 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1481,6 +1572,7 @@ from = 100 def = 15 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1489,6 +1581,7 @@ type = SLE_UINT def = 2 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1497,6 +1590,7 @@ type = SLE_UINT def = 1 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1505,6 +1599,7 @@ type = SLE_UINT def = 1 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1513,6 +1608,7 @@ type = SLE_UINT def = 3 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1522,6 +1618,7 @@ from = 47 def = 8 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1531,6 +1628,7 @@ from = 130 def = 8 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1540,6 +1638,7 @@ from = 130 def = 15 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1549,6 +1648,7 @@ from = 131 def = 20 * NPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT ## [SDT_BOOL] @@ -1556,6 +1656,7 @@ base = GameSettings var = pf.yapf.disable_node_optimization from = 28 def = false +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1565,12 +1666,14 @@ from = 28 def = 10000 min = 500 max = 1000000 +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = pf.yapf.rail_firstred_twoway_eol from = 28 def = false +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1580,6 +1683,7 @@ from = 28 def = 10 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1589,6 +1693,7 @@ from = 28 def = 100 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1598,6 +1703,7 @@ from = 28 def = 10 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1607,6 +1713,7 @@ from = 28 def = 100 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1616,6 +1723,7 @@ from = 28 def = 10 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1625,6 +1733,7 @@ from = 28 def = 2 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1634,6 +1743,7 @@ from = 28 def = 1 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1643,6 +1753,7 @@ from = 28 def = 6 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1652,6 +1763,7 @@ from = 28 def = 50 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1661,6 +1773,7 @@ from = 28 def = 3 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1670,6 +1783,7 @@ from = 28 def = 10 min = 1 max = 100 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1679,6 +1793,7 @@ from = 28 def = 500 min = -1000000 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1688,6 +1803,7 @@ from = 28 def = -100 min = -1000000 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1697,6 +1813,7 @@ from = 28 def = 5 min = -1000000 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1706,6 +1823,7 @@ from = 100 def = 3 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1715,6 +1833,7 @@ from = 100 def = 8 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1724,6 +1843,7 @@ from = 100 def = 15 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1733,6 +1853,7 @@ from = 100 def = 1 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1742,6 +1863,7 @@ from = 33 def = 8 * YAPF_TILE_LENGTH min = 0 max = 20000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1751,6 +1873,7 @@ from = 33 def = 0 * YAPF_TILE_LENGTH min = 0 max = 20000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1760,6 +1883,7 @@ from = 33 def = 40 * YAPF_TILE_LENGTH min = 0 max = 20000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1769,6 +1893,7 @@ from = 33 def = 0 * YAPF_TILE_LENGTH min = 0 max = 20000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1778,6 +1903,7 @@ from = 33 def = 2 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1787,6 +1913,7 @@ from = 33 def = 1 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1796,6 +1923,7 @@ from = 33 def = 3 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1805,6 +1933,7 @@ from = 47 def = 8 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1814,6 +1943,7 @@ from = 130 def = 8 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1823,6 +1953,7 @@ from = 130 def = 15 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1832,6 +1963,7 @@ from = 131 def = 20 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT ## [SDT_VAR] @@ -1869,6 +2001,7 @@ min = 0 max = 3 str = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN strval = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -1887,6 +2020,7 @@ from = 30 def = GENERATE_NEW_SEED min = 0 max = UINT32_MAX +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1911,6 +2045,7 @@ min = 0 max = 1 str = STR_CONFIG_SETTING_HEIGHTMAP_ROTATION strval = STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -1922,6 +2057,7 @@ min = 0 max = 15 str = STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT strval = STR_JUST_COMMA +cat = SC_BASIC ## [SDT_VAR] @@ -1932,6 +2068,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 8 min = MIN_MAP_SIZE_BITS max = MAX_MAP_SIZE_BITS +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -1941,6 +2078,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 8 min = MIN_MAP_SIZE_BITS max = MAX_MAP_SIZE_BITS +cat = SC_BASIC [SDT_BOOL] base = GameSettings @@ -1950,6 +2088,7 @@ def = true str = STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES strhelp = STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT proc = CheckFreeformEdges +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -1968,6 +2107,7 @@ from = 115 def = 1 min = 1 max = 5000 +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -1981,6 +2121,7 @@ max = 2 str = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT strhelp = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT strval = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NONE +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -1990,6 +2131,7 @@ from = 149 def = 1 min = 2 max = 90 +cat = SC_BASIC [SDT_VAR] base = GameSettings @@ -1999,6 +2141,7 @@ from = 163 def = 16 min = 2 max = 255 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -2008,6 +2151,7 @@ from = 163 def = 5 min = 1 max = 255 +cat = SC_EXPERT [SDT_VAR] base = GameSettings @@ -2030,6 +2174,7 @@ def = 0 max = CUSTOM_CURRENCY_ID full = _locale_currencies proc = RedrawScreen +cat = SC_BASIC [SDT_OMANY] base = GameSettings @@ -2041,6 +2186,7 @@ def = 1 max = 2 full = _locale_units proc = RedrawScreen +cat = SC_BASIC [SDT_STR] base = GameSettings @@ -2050,6 +2196,7 @@ from = 118 flags = SLF_NO_NETWORK_SYNC def = NULL proc = RedrawScreen +cat = SC_BASIC [SDT_STR] base = GameSettings @@ -2059,6 +2206,7 @@ from = 118 flags = SLF_NO_NETWORK_SYNC def = NULL proc = RedrawScreen +cat = SC_BASIC [SDT_STR] base = GameSettings @@ -2068,6 +2216,7 @@ from = 126 flags = SLF_NO_NETWORK_SYNC def = NULL proc = RedrawScreen +cat = SC_BASIC ;*************************************************************************** @@ -2080,11 +2229,13 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 1 max = 4 full = _autosave_interval +cat = SC_BASIC [SDTC_BOOL] var = gui.threaded_saves flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true +cat = SC_EXPERT [SDTC_OMANY] var = gui.date_format_in_default_names @@ -2104,6 +2255,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true str = STR_CONFIG_SETTING_SHOWFINANCES strhelp = STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT +cat = SC_BASIC [SDTC_VAR] var = gui.auto_scrolling @@ -2116,6 +2268,7 @@ max = 3 str = STR_CONFIG_SETTING_AUTOSCROLL strhelp = STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT strval = STR_CONFIG_SETTING_AUTOSCROLL_DISABLED +cat = SC_BASIC [SDTC_BOOL] var = gui.reverse_scroll @@ -2123,6 +2276,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false str = STR_CONFIG_SETTING_REVERSE_SCROLLING strhelp = STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT +cat = SC_BASIC [SDTC_BOOL] var = gui.smooth_scroll @@ -2137,6 +2291,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false str = STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING strhelp = STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT +cat = SC_BASIC [SDTC_BOOL] var = gui.measure_tooltip @@ -2144,6 +2299,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true str = STR_CONFIG_SETTING_MEASURE_TOOLTIP strhelp = STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT +cat = SC_BASIC [SDTC_VAR] var = gui.errmsg_duration @@ -2180,6 +2336,7 @@ str = STR_CONFIG_SETTING_TOOLBAR_POS strhelp = STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT strval = STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT proc = v_PositionMainToolbar +cat = SC_BASIC [SDTC_VAR] var = gui.statusbar_pos @@ -2193,6 +2350,7 @@ str = STR_CONFIG_SETTING_STATUSBAR_POS strhelp = STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT strval = STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT proc = v_PositionStatusbar +cat = SC_BASIC [SDTC_VAR] var = gui.window_snap_radius @@ -2205,6 +2363,7 @@ max = 32 str = STR_CONFIG_SETTING_SNAP_RADIUS strhelp = STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT strval = STR_CONFIG_SETTING_SNAP_RADIUS_VALUE +cat = SC_EXPERT [SDTC_VAR] var = gui.window_soft_limit @@ -2218,6 +2377,7 @@ interval = 1 str = STR_CONFIG_SETTING_SOFT_LIMIT strhelp = STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT strval = STR_CONFIG_SETTING_SOFT_LIMIT_VALUE +cat = SC_EXPERT [SDTC_VAR] var = gui.zoom_min @@ -2292,6 +2452,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false str = STR_CONFIG_SETTING_PREFER_TEAMCHAT strhelp = STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT +cat = SC_BASIC [SDTC_VAR] var = gui.scrollwheel_scrolling @@ -2304,6 +2465,7 @@ max = 2 str = STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING strhelp = STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT strval = STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM +cat = SC_BASIC [SDTC_VAR] var = gui.scrollwheel_multiplier @@ -2316,6 +2478,7 @@ interval = 1 str = STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER strhelp = STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT strval = STR_JUST_COMMA +cat = SC_BASIC [SDTC_BOOL] var = gui.pause_on_newgame @@ -2323,6 +2486,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false str = STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME strhelp = STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT +cat = SC_BASIC [SDTC_VAR] var = gui.advanced_vehicle_list @@ -2343,6 +2507,7 @@ def = false str = STR_CONFIG_SETTING_TIMETABLE_IN_TICKS strhelp = STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT proc = InvalidateVehTimetableWindow +cat = SC_EXPERT [SDTC_BOOL] var = gui.timetable_arrival_departure @@ -2358,6 +2523,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false str = STR_CONFIG_SETTING_QUICKGOTO strhelp = STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT +cat = SC_BASIC [SDTC_VAR] var = gui.loading_indicators @@ -2371,6 +2537,7 @@ str = STR_CONFIG_SETTING_LOADING_INDICATORS strhelp = STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT strval = STR_CONFIG_SETTING_COMPANIES_OFF proc = RedrawScreen +cat = SC_BASIC [SDTC_VAR] var = gui.default_rail_type @@ -2383,6 +2550,7 @@ max = 2 str = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE strhelp = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT strval = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST +cat = SC_BASIC [SDTC_BOOL] var = gui.enable_signal_gui @@ -2391,6 +2559,7 @@ def = true str = STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI strhelp = STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT proc = CloseSignalGUI +cat = SC_EXPERT [SDTC_VAR] var = gui.coloured_news_year @@ -2403,6 +2572,7 @@ interval = 1 str = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR strhelp = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT strval = STR_JUST_INT +cat = SC_EXPERT [SDTC_VAR] var = gui.drag_signals_density @@ -2415,6 +2585,7 @@ str = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY strhelp = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT strval = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE proc = DragSignalsDensityChanged +cat = SC_BASIC [SDTC_BOOL] var = gui.drag_signals_fixed_distance @@ -2422,6 +2593,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false str = STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE strhelp = STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT +cat = SC_EXPERT [SDTC_VAR] var = gui.semaphore_build_before @@ -2442,6 +2614,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true str = STR_CONFIG_SETTING_WARN_INCOME_LESS strhelp = STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT +cat = SC_BASIC [SDTC_VAR] var = gui.order_review_system @@ -2454,6 +2627,7 @@ max = 2 str = STR_CONFIG_SETTING_ORDER_REVIEW strhelp = STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT strval = STR_CONFIG_SETTING_ORDER_REVIEW_OFF +cat = SC_BASIC [SDTC_BOOL] var = gui.lost_vehicle_warn @@ -2469,6 +2643,7 @@ def = true str = STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING strhelp = STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT proc = RedrawScreen +cat = SC_EXPERT [SDTC_BOOL] var = gui.new_nonstop @@ -2476,6 +2651,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false str = STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT strhelp = STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT +cat = SC_BASIC [SDTC_VAR] var = gui.stop_location @@ -2489,6 +2665,7 @@ interval = 1 str = STR_CONFIG_SETTING_STOP_LOCATION strhelp = STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT strval = STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END +cat = SC_BASIC [SDTC_BOOL] var = gui.keep_all_autosave @@ -2499,6 +2676,7 @@ def = false var = gui.autosave_on_exit flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false +cat = SC_BASIC [SDTC_VAR] var = gui.max_num_autosaves @@ -2528,6 +2706,7 @@ def = false str = STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION strhelp = STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT proc = RedrawScreen +cat = SC_BASIC [SDTC_VAR] var = gui.default_signal_type @@ -2541,6 +2720,7 @@ interval = 1 str = STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE strhelp = STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT strval = STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL +cat = SC_BASIC [SDTC_VAR] var = gui.cycle_signal_types @@ -2570,16 +2750,19 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 5 min = 1 max = 7 +cat = SC_BASIC [SDTC_BOOL] var = gui.station_dragdrop flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true +cat = SC_BASIC [SDTC_BOOL] var = gui.station_show_coverage flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false +cat = SC_BASIC [SDTC_BOOL] var = gui.persistent_buildingtools @@ -2587,6 +2770,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true str = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS strhelp = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT +cat = SC_BASIC [SDTC_BOOL] var = gui.expenses_layout @@ -2603,6 +2787,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 25 min = 1 max = UINT8_MAX +cat = SC_EXPERT [SDTC_VAR] var = gui.graph_line_thickness @@ -2636,18 +2821,21 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 1 min = 0 max = 2 +cat = SC_EXPERT [SDTC_BOOL] var = gui.newgrf_developer_tools flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false proc = InvalidateNewGRFChangeWindows +cat = SC_EXPERT [SDTC_BOOL] var = gui.ai_developer_tools flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false proc = InvalidateAISettingsWindow +cat = SC_EXPERT [SDTC_BOOL] var = gui.scenario_developer @@ -2659,6 +2847,7 @@ proc = InvalidateNewGRFChangeWindows var = gui.newgrf_show_old_versions flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false +cat = SC_EXPERT [SDTC_VAR] var = gui.newgrf_default_palette @@ -2672,6 +2861,7 @@ str = STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE strhelp = STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_HELPTEXT strval = STR_CONFIG_SETTING_NEWGRF_DEFAULT_PALETTE_DOS proc = UpdateNewGRFConfigPalette +cat = SC_EXPERT [SDTC_VAR] var = gui.console_backlog_timeout @@ -2697,6 +2887,7 @@ def = 0 min = 0 max = 5 interval = 1 +cat = SC_BASIC [SDTC_VAR] var = music.music_vol @@ -2706,6 +2897,7 @@ def = 127 min = 0 max = 127 interval = 1 +cat = SC_BASIC [SDTC_VAR] var = music.effect_vol @@ -2715,28 +2907,33 @@ def = 127 min = 0 max = 127 interval = 1 +cat = SC_BASIC [SDTC_LIST] var = music.custom_1 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = NULL +cat = SC_BASIC [SDTC_LIST] var = music.custom_2 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = NULL +cat = SC_BASIC [SDTC_BOOL] var = music.playing flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true +cat = SC_BASIC [SDTC_BOOL] var = music.shuffle flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false +cat = SC_BASIC [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2746,6 +2943,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 620 min = 200 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2755,6 +2953,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 25 min = 5 max = 255 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2764,6 +2963,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 20 min = 1 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2774,6 +2974,7 @@ guiflags = SGF_NETWORK_ONLY def = 100 min = 0 max = 100 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2784,6 +2985,7 @@ guiflags = SGF_NETWORK_ONLY def = 0 min = 0 max = 100 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2794,6 +2996,7 @@ guiflags = SGF_NETWORK_ONLY def = 2 min = 1 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2804,6 +3007,7 @@ guiflags = SGF_NETWORK_ONLY def = 16 min = 1 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2814,6 +3018,7 @@ guiflags = SGF_NETWORK_ONLY def = 8 min = 1 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2824,6 +3029,7 @@ guiflags = SGF_NETWORK_ONLY def = 256 min = 1 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2834,6 +3040,7 @@ guiflags = SGF_NETWORK_ONLY def = 100 min = 0 max = 32000 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2891,6 +3098,7 @@ guiflags = SGF_NETWORK_ONLY def = NETWORK_DEFAULT_PORT min = 0 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -2901,6 +3109,7 @@ guiflags = SGF_NETWORK_ONLY def = NETWORK_ADMIN_PORT min = 0 max = 65535 +cat = SC_EXPERT [SDTC_BOOL] ifdef = ENABLE_NETWORK @@ -2908,6 +3117,7 @@ var = network.server_admin_chat flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = true +cat = SC_EXPERT [SDTC_BOOL] ifdef = ENABLE_NETWORK @@ -2933,6 +3143,7 @@ type = SLE_STRB flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = NULL proc = UpdateClientName +cat = SC_BASIC [SDTC_STR] ifdef = ENABLE_NETWORK @@ -2942,6 +3153,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = NULL proc = UpdateServerPassword +cat = SC_BASIC [SDTC_STR] ifdef = ENABLE_NETWORK @@ -2951,6 +3163,7 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = NULL proc = UpdateRconPassword +cat = SC_BASIC [SDTC_STR] ifdef = ENABLE_NETWORK @@ -2959,6 +3172,7 @@ type = SLE_STRB flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = NULL +cat = SC_BASIC [SDTC_STR] ifdef = ENABLE_NETWORK @@ -2974,6 +3188,7 @@ type = SLE_STRB flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = NULL +cat = SC_BASIC [SDTC_STR] ifdef = ENABLE_NETWORK @@ -3037,6 +3252,7 @@ def = 15 min = 1 max = MAX_COMPANIES proc = UpdateClientConfigValues +cat = SC_BASIC [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -3047,6 +3263,7 @@ guiflags = SGF_NETWORK_ONLY def = 25 min = 2 max = MAX_CLIENTS +cat = SC_BASIC [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -3058,6 +3275,7 @@ def = 15 min = 0 max = MAX_CLIENTS proc = UpdateClientConfigValues +cat = SC_BASIC [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -3089,6 +3307,7 @@ guiflags = SGF_NETWORK_ONLY def = 0 max = 35 full = _server_langs +cat = SC_BASIC [SDTC_BOOL] ifdef = ENABLE_NETWORK @@ -3096,6 +3315,7 @@ var = network.reload_cfg flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = false +cat = SC_EXPERT [SDTC_STR] ifdef = ENABLE_NETWORK @@ -3103,6 +3323,7 @@ var = network.last_host type = SLE_STRB flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = """" +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK @@ -3112,12 +3333,14 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 0 min = 0 max = UINT16_MAX +cat = SC_EXPERT [SDTC_BOOL] ifdef = ENABLE_NETWORK var = network.no_http_content_downloads flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false +cat = SC_EXPERT ; Since the network code (CmdChangeSetting and friends) use the index in this array to decide ; which setting the server is talking about all conditional compilation of this array must be at the @@ -3138,6 +3361,7 @@ max = 2 str = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU strhelp = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT strval = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND +cat = SC_BASIC [SDT_END] diff --git a/src/table/win32_settings.ini b/src/table/win32_settings.ini index 15bf4c37ea..282c132725 100644 --- a/src/table/win32_settings.ini +++ b/src/table/win32_settings.ini @@ -17,8 +17,8 @@ static const SettingDescGlobVarList _win32_settings[] = { }; #endif /* WIN32 */ [templates] -SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to), -SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to), +SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $strhelp, $strval, $proc, $from, $to, $cat), +SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to, $cat), SDTG_END = SDTG_END() [defaults] @@ -32,6 +32,7 @@ proc = NULL load = NULL from = 0 to = SL_MAX_VERSION +cat = SC_ADVANCED @@ -42,11 +43,13 @@ var = _display_hz def = 0 min = 0 max = 120 +cat = SC_EXPERT [SDTG_BOOL] name = ""force_full_redraw"" var = _force_full_redraw def = false +cat = SC_EXPERT [SDTG_VAR] name = ""fullscreen_bpp"" @@ -55,11 +58,13 @@ var = _fullscreen_bpp def = 8 min = 8 max = 32 +cat = SC_EXPERT [SDTG_BOOL] name = ""window_maximize"" var = _window_maximize def = false +cat = SC_BASIC [SDTG_END]