diff --git a/src/lang/english.txt b/src/lang/english.txt index 7f28791..9d76544 100644 --- a/src/lang/english.txt +++ b/src/lang/english.txt @@ -1115,10 +1115,12 @@ STR_CONFIG_SETTING_TYPE_GAME_INGAME :Game setting (s STR_CONFIG_SETTING_TYPE_COMPANY_MENU :Company setting (stored in saves; affects only new games) STR_CONFIG_SETTING_TYPE_COMPANY_INGAME :Company setting (stored in save; affects only current company) 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_BASIC :Basic settings +STR_CONFIG_SETTING_RESTRICT_ADVANCED :Advanced settings STR_CONFIG_SETTING_RESTRICT_ALL :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 c64d006..2dae3be 100644 --- a/src/settings_gui.cpp +++ b/src/settings_gui.cpp @@ -995,10 +995,12 @@ struct SettingEntrySetting { uint index; ///< Index of the setting in the settings table }; /** How the list of advanced settings is filtered. */ enum RestrictionMode { + RM_BASIC, ///< Show only settings which are in the category "basic" + RM_ADVANCED, ///< Show only settings which are in the category "advanced" 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. RM_CHANGED_AGAINST_NEW, ///< Show only settings which are different compared to the user's new game setting values. RM_END, ///< End for iteration. @@ -1300,10 +1302,14 @@ bool SettingEntry::IsVisibleByRestrictionMode(RestrictionMode mode) const if (mode == RM_CHANGED_AGAINST_DEFAULT_WO_LOCAL && (sd->save.conv & SLF_NO_NETWORK_SYNC) != 0) { /* Hide local settings when comparing our settings against those of the server. */ return false; } + if (mode == RM_BASIC) return (this->d.entry.setting->desc.cat & SC_BASIC_ONLY) != 0; + + if (mode == RM_ADVANCED) return (this->d.entry.setting->desc.cat & SC_ADVANCED_ONLY) != 0; + /* Read the current value. */ const void *var = ResolveVariableAddress(settings_ptr, sd); int64 current_value = ReadValue(var, sd->save.conv); int64 filter_value; @@ -1941,10 +1947,12 @@ static SettingEntry _settings_main[] = { /** Main page, holding all advanced settings */ 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 STR_CONFIG_SETTING_RESTRICT_CHANGED_AGAINST_NEW, // RM_CHANGED_AGAINST_NEW }; diff --git a/src/settings_internal.h b/src/settings_internal.h index dccbece..e721106 100644 --- a/src/settings_internal.h +++ b/src/settings_internal.h @@ -50,10 +50,34 @@ enum SettingGuiFlagLong { SGF_PER_COMPANY = 1 << 8, ///< this setting can be different for each company (saved in company struct) }; 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 intermediate player would like to use and + * finally #SC_EXPERT settings are those settings are a highly-skilled player would like to see. + * 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, + SC_BASIC_ONLY = 1 << 0, ///< assigned to the basic level + SC_ADVANCED_ONLY = 1 << 1, ///< assigned to the advanced level + SC_EXPERT_ONLY = 1 << 2, ///< assigned to the expert level + + // derived constants (player types) + SC_BASIC = SC_BASIC_ONLY | SC_ADVANCED_ONLY | SC_EXPERT_ONLY, ///< basic settings can be seen from anyone + SC_ADVANCED = SC_ADVANCED_ONLY | SC_EXPERT_ONLY, ///< advanced settings are seen by experts and advanced players + SC_EXPERT = SC_EXPERT_ONLY, ///< expert settings can only be seen by experts + SC_ALL = SC_EXPERT_ONLY, ///< alias for the expert level + + SC_END, //!< SC_END +}; + typedef bool OnChange(int32 var); ///< callback prototype on data modification typedef size_t OnConvert(const char *value); ///< callback prototype for convertion error /** Properties of config file settings. */ @@ -69,10 +93,12 @@ struct SettingDescBase { StringID str; ///< (translated) string with descriptive text; gui and console StringID str_help; ///< (Translated) string with help text; gui only. 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 + enum SettingCategory cat; ///< assigned categories of the setting +// TODO NICO change text alignment here! }; struct SettingDesc { SettingDescBase desc; ///< Settings structure (going to configuration file) SaveLoad save; ///< Internal structure (going to savegame, parts to config) diff --git a/src/table/company_settings.ini b/src/table/company_settings.ini index 060d7ac..45173e8 100644 --- a/src/table/company_settings.ini +++ b/src/table/company_settings.ini @@ -12,12 +12,12 @@ static bool InvalidateDetailsWindow(int32 p1); 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] flags = 0 guiflags = SGF_PER_COMPANY @@ -27,19 +27,20 @@ strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT strval = STR_NULL proc = NULL load = NULL from = 0 to = SL_MAX_VERSION - +cat = SC_EXPERT [SDT_BOOL] base = CompanySettings var = engine_renew def = false str = STR_CONFIG_SETTING_AUTORENEW_VEHICLE strhelp = STR_CONFIG_SETTING_AUTORENEW_VEHICLE_HELPTEXT +cat = SC_ADVANCED [SDT_VAR] base = CompanySettings var = engine_renew_months type = SLE_INT16 @@ -48,10 +49,12 @@ def = 6 min = -12 max = 12 str = STR_CONFIG_SETTING_AUTORENEW_MONTHS strhelp = STR_CONFIG_SETTING_AUTORENEW_MONTHS_HELPTEXT strval = STR_CONFIG_SETTING_AUTORENEW_MONTHS_VALUE_BEFORE +cat = SC_ADVANCED + [SDT_VAR] base = CompanySettings var = engine_renew_money type = SLE_UINT @@ -60,10 +63,12 @@ def = 100000 min = 0 max = 2000000 str = STR_CONFIG_SETTING_AUTORENEW_MONEY strhelp = STR_CONFIG_SETTING_AUTORENEW_MONEY_HELPTEXT strval = STR_JUST_CURRENCY_LONG +cat = SC_ADVANCED + [SDT_BOOL] base = CompanySettings var = renew_keep_length def = false @@ -73,10 +78,11 @@ base = CompanySettings var = vehicle.servint_ispercent def = false str = STR_CONFIG_SETTING_SERVINT_ISPERCENT strhelp = STR_CONFIG_SETTING_SERVINT_ISPERCENT_HELPTEXT proc = CheckInterval +cat = SC_ADVANCED [SDT_VAR] base = CompanySettings var = vehicle.servint_trains type = SLE_UINT16 @@ -86,10 +92,11 @@ min = 5 max = 800 str = STR_CONFIG_SETTING_SERVINT_TRAINS strhelp = STR_CONFIG_SETTING_SERVINT_TRAINS_HELPTEXT strval = STR_CONFIG_SETTING_SERVINT_VALUE proc = InvalidateDetailsWindow +cat = SC_ADVANCED [SDT_VAR] base = CompanySettings var = vehicle.servint_roadveh type = SLE_UINT16 @@ -99,10 +106,11 @@ min = 5 max = 800 str = STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES strhelp = STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES_HELPTEXT strval = STR_CONFIG_SETTING_SERVINT_VALUE proc = InvalidateDetailsWindow +cat = SC_ADVANCED [SDT_VAR] base = CompanySettings var = vehicle.servint_ships type = SLE_UINT16 @@ -112,10 +120,11 @@ min = 5 max = 800 str = STR_CONFIG_SETTING_SERVINT_SHIPS strhelp = STR_CONFIG_SETTING_SERVINT_SHIPS_HELPTEXT strval = STR_CONFIG_SETTING_SERVINT_VALUE proc = InvalidateDetailsWindow +cat = SC_ADVANCED [SDT_VAR] base = CompanySettings var = vehicle.servint_aircraft type = SLE_UINT16 @@ -125,10 +134,11 @@ min = 5 max = 800 str = STR_CONFIG_SETTING_SERVINT_AIRCRAFT strhelp = STR_CONFIG_SETTING_SERVINT_AIRCRAFT_HELPTEXT strval = STR_CONFIG_SETTING_SERVINT_VALUE proc = InvalidateDetailsWindow +cat = SC_ADVANCED [SDT_END] }; diff --git a/src/table/currency_settings.ini b/src/table/currency_settings.ini index 66eff3d..3f47d2f 100644 --- a/src/table/currency_settings.ini +++ b/src/table/currency_settings.ini @@ -9,13 +9,13 @@ [pre-amble] 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] flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = 0 @@ -25,43 +25,48 @@ strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT strval = STR_NULL proc = NULL load = NULL from = 0 to = SL_MAX_VERSION - +cat = SC_EXPERT [SDT_VAR] base = CurrencySpec var = rate type = SLE_UINT16 def = 1 min = 0 max = UINT16_MAX +cat = SC_ADVANCED [SDT_CHR] base = CurrencySpec var = separator def = ""."" +cat = SC_BASIC [SDT_VAR] base = CurrencySpec var = to_euro type = SLE_INT32 def = 0 min = MIN_YEAR max = MAX_YEAR +cat = SC_ADVANCED [SDT_STR] base = CurrencySpec var = prefix type = SLE_STRBQ def = NULL +cat = SC_ADVANCED [SDT_STR] base = CurrencySpec var = suffix type = SLE_STRBQ def = "" credits"" +cat = SC_ADVANCED [SDT_END] diff --git a/src/table/gameopt_settings.ini b/src/table/gameopt_settings.ini index ee1a184..8212b9d 100644 --- a/src/table/gameopt_settings.ini +++ b/src/table/gameopt_settings.ini @@ -34,15 +34,15 @@ static const SettingDesc _gameopt_settings[] = { * 'SLE_FILE_I16 | SLE_VAR_U16' in "diff_custom" is needed to get around SlArray() hack * for savegames version 0 - though it is an array, it has to go through the byteswap process */ [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] flags = 0 guiflags = 0 @@ -52,11 +52,11 @@ strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT strval = STR_NULL proc = NULL load = NULL from = 0 to = SL_MAX_VERSION - +cat = SC_EXPERT [SDTG_GENERAL] name = ""diff_custom"" sdt_cmd = SDT_INTLIST @@ -91,56 +91,62 @@ base = GameSettings var = difficulty.diff_level type = SLE_UINT8 def = 3 min = 0 max = 3 +cat = SC_BASIC [SDT_OMANY] base = GameSettings var = locale.currency type = SLE_UINT8 flags = SLF_NO_NETWORK_SYNC def = 0 max = CUSTOM_CURRENCY_ID full = _locale_currencies +cat = SC_BASIC [SDT_OMANY] base = GameSettings var = locale.units type = SLE_UINT8 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. [SDT_OMANY] base = GameSettings var = game_creation.town_name type = SLE_UINT8 def = 0 max = 255 full = _town_names +cat = SC_BASIC [SDT_OMANY] base = GameSettings var = game_creation.landscape type = SLE_UINT8 def = 0 max = 3 full = _climates load = ConvertLandscape +cat = SC_BASIC [SDT_VAR] base = GameSettings var = game_creation.snow_line_height type = SLE_UINT8 def = DEF_SNOWLINE_HEIGHT * TILE_HEIGHT min = MIN_SNOWLINE_HEIGHT * TILE_HEIGHT max = MAX_SNOWLINE_HEIGHT * TILE_HEIGHT to = 21 +cat = SC_ADVANCED [SDT_NULL] length = 1 from = 22 to = 164 @@ -155,16 +161,18 @@ type = SLE_UINT8 from = 23 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 1 max = 4 full = _autosave_interval +cat = SC_BASIC [SDT_OMANY] base = GameSettings var = vehicle.road_side 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 eeca619..dcf5025 100644 --- a/src/table/misc_settings.ini +++ b/src/table/misc_settings.ini @@ -11,15 +11,15 @@ extern char _config_language_file[MAX_PATH]; 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] flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = 0 @@ -29,11 +29,11 @@ strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT strval = STR_NULL proc = NULL load = NULL from = 0 to = SL_MAX_VERSION - +cat = SC_EXPERT [SDTG_MMANY] name = ""display_opt"" type = SLE_UINT8 @@ -43,234 +43,269 @@ full = ""SHOW_TOWN_NAMES|SHOW_STATION_NAMES|SHOW_SIGNS|FULL_ANIMATION||FULL_ [SDTG_BOOL] name = ""news_ticker_sound"" var = _news_ticker_sound def = true +cat = SC_BASIC [SDTG_BOOL] 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_BASIC [SDTG_STR] name = ""musicdriver"" type = SLE_STRQ var = _ini_musicdriver def = NULL +cat = SC_BASIC [SDTG_STR] name = ""sounddriver"" type = SLE_STRQ var = _ini_sounddriver def = NULL +cat = SC_BASIC [SDTG_STR] name = ""blitter"" type = SLE_STRQ var = _ini_blitter def = NULL +cat = SC_BASIC [SDTG_STR] name = ""language"" type = SLE_STRB var = _config_language_file def = NULL +cat = SC_BASIC ; workaround for implicit lengthof() in SDTG_LIST [SDTG_LIST] name = ""resolution"" 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_ADVANCED [SDTG_STR] name = ""savegame_format"" type = SLE_STRB var = _savegame_format def = NULL +cat = SC_EXPERT [SDTG_BOOL] name = ""rightclick_emulate"" var = _rightclick_emulate def = false +cat = SC_EXPERT [SDTG_STR] ifdef = WITH_FREETYPE name = ""small_font"" type = SLE_STRB var = _freetype.small_font def = NULL +cat = SC_ADVANCED [SDTG_STR] ifdef = WITH_FREETYPE name = ""medium_font"" type = SLE_STRB var = _freetype.medium_font def = NULL +cat = SC_ADVANCED [SDTG_STR] ifdef = WITH_FREETYPE name = ""large_font"" type = SLE_STRB var = _freetype.large_font def = NULL +cat = SC_ADVANCED [SDTG_STR] ifdef = WITH_FREETYPE name = ""mono_font"" type = SLE_STRB var = _freetype.mono_font def = NULL +cat = SC_ADVANCED [SDTG_VAR] ifdef = WITH_FREETYPE name = ""small_size"" type = SLE_UINT var = _freetype.small_size def = 8 min = 0 max = 72 +cat = SC_ADVANCED [SDTG_VAR] ifdef = WITH_FREETYPE name = ""medium_size"" type = SLE_UINT var = _freetype.medium_size def = 10 min = 0 max = 72 +cat = SC_ADVANCED [SDTG_VAR] ifdef = WITH_FREETYPE name = ""large_size"" type = SLE_UINT var = _freetype.large_size def = 16 min = 0 max = 72 +cat = SC_ADVANCED [SDTG_VAR] ifdef = WITH_FREETYPE name = ""mono_size"" type = SLE_UINT var = _freetype.mono_size def = 10 min = 0 max = 72 +cat = SC_ADVANCED [SDTG_BOOL] ifdef = WITH_FREETYPE name = ""small_aa"" var = _freetype.small_aa def = false +cat = SC_ADVANCED [SDTG_BOOL] ifdef = WITH_FREETYPE name = ""medium_aa"" var = _freetype.medium_aa def = false +cat = SC_ADVANCED [SDTG_BOOL] ifdef = WITH_FREETYPE name = ""large_aa"" var = _freetype.large_aa def = false +cat = SC_ADVANCED [SDTG_BOOL] ifdef = WITH_FREETYPE name = ""mono_aa"" var = _freetype.mono_aa def = false +cat = SC_ADVANCED [SDTG_VAR] name = ""sprite_cache_size_px"" type = SLE_UINT var = _sprite_cache_size def = 128 min = 1 max = 512 +cat = SC_EXPERT [SDTG_VAR] name = ""player_face"" type = SLE_UINT32 var = _company_manager_face def = 0 min = 0 max = 0xFFFFFFFF +cat = SC_BASIC [SDTG_VAR] name = ""transparency_options"" type = SLE_UINT var = _transparency_opt def = 0 min = 0 max = 0x1FF +cat = SC_BASIC [SDTG_VAR] name = ""transparency_locks"" type = SLE_UINT var = _transparency_lock def = 0 min = 0 max = 0x1FF +cat = SC_ADVANCED [SDTG_VAR] name = ""invisibility_options"" type = SLE_UINT var = _invisibility_opt def = 0 min = 0 max = 0xFF +cat = SC_ADVANCED + [SDTG_STR] name = ""keyboard"" type = SLE_STRB var = _keyboard_opt[0] def = NULL +cat = SC_ADVANCED [SDTG_STR] name = ""keyboard_caps"" type = SLE_STRB var = _keyboard_opt[1] def = NULL +cat = SC_ADVANCED [SDTG_VAR] name = ""last_newgrf_count"" type = SLE_UINT32 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 c5cedca..962ba4d 100644 --- a/src/table/settings.h.preamble +++ b/src/table/settings.h.preamble @@ -44,83 +44,83 @@ static size_t ConvertLandscape(const char *value); * mechanism, a callback procedure is made available. You will have to supply the function, which * will work on a string, one function per setting. And of course, enable the callback param * 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_EXPERT}, 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_EXPERT}, 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 b16dc09..3709001 100644 --- a/src/table/settings.ini +++ b/src/table/settings.ini @@ -61,21 +61,21 @@ static bool UpdateClientConfigValues(int32 p1); * service depot, causing desyncs on a massive scale. */ 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() [defaults] flags = 0 @@ -86,11 +86,11 @@ strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT strval = STR_NULL proc = NULL load = NULL from = 0 to = SL_MAX_VERSION - +cat = SC_EXPERT ; Saved settings variables. ; Do not ADD or REMOVE something in this "difficulty.XXX" table or before it. It breaks savegame compatability. [SDT_VAR] @@ -101,10 +101,11 @@ from = 97 def = 0 min = 0 max = MAX_COMPANIES - 1 interval = 1 proc = MaxNoAIsChange +cat = SC_BASIC [SDT_NULL] length = 1 from = 97 to = 109 @@ -119,10 +120,11 @@ def = 2 min = 0 max = 4 interval = 1 strval = STR_NUM_VERY_LOW proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.industry_density type = SLE_UINT8 @@ -132,10 +134,11 @@ def = ID_END - 1 min = 0 max = ID_END - 1 interval = 1 strval = STR_FUNDING_ONLY proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.max_loan type = SLE_UINT32 @@ -144,10 +147,11 @@ guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO | SGF_CURRENCY def = 300000 min = 100000 max = 500000 interval = 50000 proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.initial_interest type = SLE_UINT8 @@ -156,10 +160,11 @@ guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO def = 2 min = 2 max = 4 interval = 1 proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.vehicle_costs type = SLE_UINT8 @@ -169,10 +174,11 @@ def = 0 min = 0 max = 2 interval = 1 strval = STR_SEA_LEVEL_LOW proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.competitor_speed type = SLE_UINT8 @@ -181,10 +187,11 @@ def = 2 min = 0 max = 4 interval = 1 strval = STR_AI_SPEED_VERY_SLOW proc = DifficultyChange +cat = SC_BASIC [SDT_NULL] length = 1 from = 97 to = 109 @@ -198,10 +205,11 @@ def = 1 min = 0 max = 2 interval = 1 strval = STR_DISASTER_NONE proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.subsidy_multiplier type = SLE_UINT8 @@ -210,10 +218,11 @@ def = 2 min = 0 max = 3 interval = 1 strval = STR_SUBSIDY_X1_5 proc = DifficultyChange +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = difficulty.construction_cost type = SLE_UINT8 @@ -223,10 +232,11 @@ def = 0 min = 0 max = 2 interval = 1 strval = STR_SEA_LEVEL_LOW proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.terrain_type type = SLE_UINT8 @@ -236,10 +246,11 @@ def = 1 min = 0 max = 3 interval = 1 strval = STR_TERRAIN_TYPE_VERY_FLAT proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.quantity_sea_lakes type = SLE_UINT8 @@ -249,10 +260,11 @@ def = 0 min = 0 max = 4 interval = 1 strval = STR_SEA_LEVEL_VERY_LOW proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.economy type = SLE_UINT8 @@ -261,10 +273,11 @@ def = 0 min = 0 max = 1 interval = 1 strval = STR_ECONOMY_STEADY proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.line_reverse_mode type = SLE_UINT8 @@ -273,10 +286,11 @@ def = 0 min = 0 max = 1 interval = 1 strval = STR_REVERSE_AT_END_OF_LINE_AND_AT_STATIONS proc = DifficultyChange +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = difficulty.disasters type = SLE_UINT8 @@ -285,10 +299,11 @@ def = 0 min = 0 max = 1 interval = 1 strval = STR_CONFIG_SETTING_OFF proc = DifficultyChange +cat = SC_BASIC [SDT_VAR] base = GameSettings var = difficulty.town_council_tolerance type = SLE_UINT8 @@ -297,20 +312,22 @@ def = 0 min = 0 max = 2 interval = 1 strval = STR_CITY_APPROVAL_PERMISSIVE proc = DifficultyNoiseChange +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = difficulty.diff_level type = SLE_UINT8 from = 97 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. [SDT_OMANY] base = GameSettings @@ -319,10 +336,11 @@ type = SLE_UINT8 from = 97 guiflags = SGF_NO_NETWORK def = 0 max = 255 full = _town_names +cat = SC_BASIC [SDT_OMANY] base = GameSettings var = game_creation.landscape type = SLE_UINT8 @@ -330,10 +348,11 @@ from = 97 guiflags = SGF_NO_NETWORK def = 0 max = 3 full = _climates load = ConvertLandscape +cat = SC_BASIC ; Snow line (or snow_line_height * TILE_HEIGHT) [SDT_NULL] length = 1 from = 97 @@ -347,20 +366,22 @@ from = 97 guiflags = SGF_NO_NETWORK def = 1 max = 1 full = _roadsides proc = CheckRoadSide +cat = SC_BASIC ; Construction [SDT_BOOL] base = GameSettings var = construction.build_on_slopes guiflags = SGF_NO_NETWORK def = true str = STR_CONFIG_SETTING_BUILDONSLOPES strhelp = STR_CONFIG_SETTING_BUILDONSLOPES_HELPTEXT +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = construction.command_pause_level type = SLE_UINT8 @@ -371,85 +392,94 @@ min = 0 max = 3 interval = 1 str = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL strhelp = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT strval = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = construction.terraform_per_64k_frames type = SLE_UINT32 from = 156 def = 64 << 16 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = construction.terraform_frame_burst type = SLE_UINT16 from = 156 def = 4096 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = construction.clear_per_64k_frames type = SLE_UINT32 from = 156 def = 64 << 16 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = construction.clear_frame_burst type = SLE_UINT16 from = 156 def = 4096 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = construction.tree_per_64k_frames type = SLE_UINT32 from = 175 def = 64 << 16 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = construction.tree_frame_burst type = SLE_UINT16 from = 175 def = 4096 min = 0 max = 1 << 30 interval = 1 +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = construction.autoslope from = 75 def = true str = STR_CONFIG_SETTING_AUTOSLOPE strhelp = STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = construction.extra_dynamite def = true str = STR_CONFIG_SETTING_EXTRADYNAMITE strhelp = STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = construction.max_bridge_length type = SLE_UINT16 @@ -460,10 +490,11 @@ min = 1 max = 2048 interval = 1 str = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH strhelp = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT strval = STR_CONFIG_SETTING_TILE_LENGTH +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = construction.max_tunnel_length type = SLE_UINT16 @@ -474,10 +505,11 @@ min = 1 max = 2048 interval = 1 str = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH strhelp = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT strval = STR_CONFIG_SETTING_TILE_LENGTH +cat = SC_ADVANCED # construction.longbridges [SDT_NULL] length = 1 to = 158 @@ -492,18 +524,20 @@ min = 0 max = 2 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 var = station.never_expire_airports guiflags = SGF_NO_NETWORK def = false str = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS strhelp = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = economy.town_layout type = SLE_UINT8 @@ -515,19 +549,21 @@ max = NUM_TLS - 1 interval = 1 str = STR_CONFIG_SETTING_TOWN_LAYOUT strhelp = STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT strval = STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT proc = TownFoundingChanged +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = economy.allow_town_roads from = 113 guiflags = SGF_NO_NETWORK def = true str = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = economy.found_town type = SLE_UINT8 @@ -539,19 +575,21 @@ max = TF_END - 1 interval = 1 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 var = economy.allow_town_level_crossings from = 143 guiflags = SGF_NO_NETWORK def = true str = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT +cat = SC_ADVANCED ; Vehicles [SDT_VAR] base = GameSettings @@ -564,10 +602,11 @@ max = 1 interval = 1 str = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL strhelp = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT strval = STR_CONFIG_SETTING_ORIGINAL proc = TrainAccelerationModelChanged +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = vehicle.roadveh_acceleration_model type = SLE_UINT8 @@ -579,10 +618,11 @@ max = 1 interval = 1 str = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT strval = STR_CONFIG_SETTING_ORIGINAL proc = RoadVehAccelerationModelChanged +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = vehicle.train_slope_steepness type = SLE_UINT8 @@ -593,10 +633,11 @@ max = 10 interval = 1 str = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS strhelp = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT strval = STR_CONFIG_SETTING_PERCENTAGE proc = TrainSlopeSteepnessChanged +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = vehicle.roadveh_slope_steepness type = SLE_UINT8 @@ -607,17 +648,19 @@ max = 10 interval = 1 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_ADVANCED [SDT_BOOL] base = GameSettings 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 var = vehicle.max_train_length type = SLE_UINT8 @@ -627,10 +670,11 @@ min = 1 max = 64 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] length = 1 to = 158 @@ -645,10 +689,11 @@ def = 1 min = 0 max = 2 str = STR_CONFIG_SETTING_SMOKE_AMOUNT strhelp = STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT strval = STR_CONFIG_SETTING_NONE +cat = SC_BASIC ; order.gotodepot [SDT_NULL] length = 1 to = 158 @@ -659,37 +704,42 @@ to = 158 base = GameSettings var = pf.roadveh_queue def = true str = STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = pf.new_pathfinding_all to = 86 def = false +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = pf.yapf.ship_use_yapf from = 28 to = 86 def = false +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = pf.yapf.road_use_yapf from = 28 to = 86 def = true +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = pf.yapf.rail_use_yapf from = 28 to = 86 def = true +cat = SC_EXPERT ## [SDT_VAR] base = GameSettings var = pf.pathfinder_for_trains @@ -701,10 +751,11 @@ min = 1 max = 2 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 var = pf.pathfinder_for_roadvehs type = SLE_UINT8 @@ -715,10 +766,11 @@ min = 1 max = 2 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 var = pf.pathfinder_for_ships type = SLE_UINT8 @@ -729,18 +781,20 @@ min = 0 max = 2 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 var = vehicle.never_expire_vehicles guiflags = SGF_NO_NETWORK def = false str = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES strhelp = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = vehicle.max_trains type = SLE_UINT16 @@ -749,10 +803,11 @@ min = 0 max = 5000 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 var = vehicle.max_roadveh type = SLE_UINT16 @@ -761,10 +816,11 @@ min = 0 max = 5000 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 var = vehicle.max_aircraft type = SLE_UINT16 @@ -773,10 +829,11 @@ min = 0 max = 5000 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 var = vehicle.max_ships type = SLE_UINT16 @@ -785,10 +842,11 @@ min = 0 max = 5000 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 guiflags = SGF_NO_NETWORK var = _old_vds.servint_ispercent @@ -839,29 +897,32 @@ to = 119 base = GameSettings var = order.no_servicing_if_no_breakdowns def = true str = STR_CONFIG_SETTING_NOSERVICE strhelp = STR_CONFIG_SETTING_NOSERVICE_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = vehicle.wagon_speed_limits guiflags = SGF_NO_NETWORK def = true str = STR_CONFIG_SETTING_WAGONSPEEDLIMITS strhelp = STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT proc = UpdateConsists +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = vehicle.disable_elrails from = 38 guiflags = SGF_NO_NETWORK def = false str = STR_CONFIG_SETTING_DISABLE_ELRAILS strhelp = STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT proc = SettingsDisableElrail +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = vehicle.freight_trains type = SLE_UINT8 @@ -873,10 +934,11 @@ max = 255 interval = 1 str = STR_CONFIG_SETTING_FREIGHT_TRAINS strhelp = STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT strval = STR_JUST_COMMA proc = UpdateConsists +cat = SC_EXPERT ; order.timetabling [SDT_NULL] length = 1 from = 67 @@ -892,20 +954,22 @@ def = 4 min = 1 max = 4 str = STR_CONFIG_SETTING_PLANE_SPEED strhelp = STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT strval = STR_CONFIG_SETTING_PLANE_SPEED_VALUE +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = vehicle.dynamic_engines from = 95 guiflags = SGF_NO_NETWORK def = true str = STR_CONFIG_SETTING_DYNAMIC_ENGINES strhelp = STR_CONFIG_SETTING_DYNAMIC_ENGINES_HELPTEXT proc = ChangeDynamicEngines +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = vehicle.plane_crashes type = SLE_UINT8 @@ -916,10 +980,11 @@ min = 0 max = 2 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] length = 1 to = 158 @@ -935,23 +1000,26 @@ base = GameSettings var = order.improved_load guiflags = SGF_NO_NETWORK def = true str = STR_CONFIG_SETTING_IMPROVEDLOAD strhelp = STR_CONFIG_SETTING_IMPROVEDLOAD_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = order.selectgoods def = true str = STR_CONFIG_SETTING_SELECTGOODS strhelp = STR_CONFIG_SETTING_SELECTGOODS_HELPTEXT +cat = SC_ADVANCED [SDTC_BOOL] var = gui.sg_new_nonstop from = 22 to = 92 def = false +cat = SC_ADVANCED ; station.nonuniform_stations [SDT_NULL] length = 1 to = 158 @@ -965,85 +1033,95 @@ min = 4 max = 64 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 var = order.serviceathelipad def = true str = STR_CONFIG_SETTING_SERVICEATHELIPAD strhelp = STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = station.modified_catchment def = true str = STR_CONFIG_SETTING_CATCHMENT strhelp = STR_CONFIG_SETTING_CATCHMENT_HELPTEXT proc = StationCatchmentChanged +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = order.gradual_loading from = 40 guiflags = SGF_NO_NETWORK def = true str = STR_CONFIG_SETTING_GRADUAL_LOADING strhelp = STR_CONFIG_SETTING_GRADUAL_LOADING_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = construction.road_stop_on_town_road 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 var = construction.road_stop_on_competitor_road from = 114 def = true str = STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD strhelp = STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = station.adjacent_stations from = 62 def = true str = STR_CONFIG_SETTING_ADJACENT_STATIONS strhelp = STR_CONFIG_SETTING_ADJACENT_STATIONS_HELPTEXT +cat = SC_BASIC [SDT_BOOL] base = GameSettings var = economy.station_noise_level from = 96 guiflags = SGF_NO_NETWORK def = false str = STR_CONFIG_SETTING_NOISE_LEVEL strhelp = STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT proc = InvalidateTownViewWindow +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = station.distant_join_stations from = 106 def = true str = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS strhelp = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT proc = DeleteSelectStationWindow +cat = SC_ADVANCED ## [SDT_BOOL] base = GameSettings var = economy.inflation def = true str = STR_CONFIG_SETTING_INFLATION strhelp = STR_CONFIG_SETTING_INFLATION_HELPTEXT +cat = SC_BASIC [SDT_VAR] base = GameSettings var = construction.raw_industry_construction type = SLE_UINT8 @@ -1053,10 +1131,11 @@ min = 0 max = 2 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 var = construction.industry_platform type = SLE_UINT8 @@ -1065,17 +1144,19 @@ def = 1 min = 0 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 var = economy.multiple_industry_per_town def = false str = STR_CONFIG_SETTING_MULTIPINDTOWN strhelp = STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT +cat = SC_BASIC [SDT_NULL] length = 1 to = 140 @@ -1084,55 +1165,61 @@ base = GameSettings var = economy.bribe def = true str = STR_CONFIG_SETTING_BRIBE strhelp = STR_CONFIG_SETTING_BRIBE_HELPTEXT proc = RedrawTownAuthority +cat = SC_BASIC [SDT_BOOL] base = GameSettings var = economy.exclusive_rights from = 79 def = true str = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE strhelp = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT proc = RedrawTownAuthority +cat = SC_BASIC [SDT_BOOL] base = GameSettings var = economy.fund_buildings from = 165 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 var = economy.fund_roads from = 160 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 var = economy.give_money 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 var = game_creation.snow_line_height type = SLE_UINT8 def = DEF_SNOWLINE_HEIGHT min = MIN_SNOWLINE_HEIGHT max = MAX_SNOWLINE_HEIGHT str = STR_CONFIG_SETTING_SNOWLINE_HEIGHT strval = STR_JUST_COMMA +cat = SC_ADVANCED [SDT_NULL] length = 4 to = 143 @@ -1144,10 +1231,11 @@ def = DEF_START_YEAR min = MIN_YEAR max = MAX_YEAR interval = 1 str = STR_CONFIG_SETTING_STARTING_YEAR strval = STR_JUST_INT +cat = SC_BASIC [SDT_NULL] length = 4 to = 104 @@ -1156,17 +1244,19 @@ base = GameSettings var = economy.smooth_economy def = true str = STR_CONFIG_SETTING_SMOOTH_ECONOMY strhelp = STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT proc = InvalidateIndustryViewWindow +cat = SC_BASIC [SDT_BOOL] base = GameSettings var = economy.allow_shares def = false str = STR_CONFIG_SETTING_ALLOW_SHARES strhelp = STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT +cat = SC_BASIC [SDT_VAR] base = GameSettings var = economy.feeder_payment_share type = SLE_UINT8 @@ -1175,10 +1265,11 @@ def = 75 min = 0 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 var = economy.town_growth_rate type = SLE_UINT8 @@ -1188,10 +1279,11 @@ def = 2 min = 0 max = 4 str = STR_CONFIG_SETTING_TOWN_GROWTH strhelp = STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT strval = STR_CONFIG_SETTING_TOWN_GROWTH_NONE +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = economy.larger_towns type = SLE_UINT8 @@ -1202,10 +1294,11 @@ min = 0 max = 255 interval = 1 str = STR_CONFIG_SETTING_LARGER_TOWNS strhelp = STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT strval = STR_CONFIG_SETTING_LARGER_TOWNS_VALUE +cat = SC_BASIC [SDT_VAR] base = GameSettings var = economy.initial_city_size type = SLE_UINT8 @@ -1215,18 +1308,20 @@ min = 1 max = 10 interval = 1 str = STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER strhelp = STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT strval = STR_JUST_COMMA +cat = SC_BASIC [SDT_BOOL] base = GameSettings var = economy.mod_road_rebuild 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] length = 1 to = 106 @@ -1235,38 +1330,43 @@ to = 106 base = GameSettings var = ai.ai_in_multiplayer def = true str = STR_CONFIG_SETTING_AI_IN_MULTIPLAYER strhelp = STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = ai.ai_disable_veh_train def = false str = STR_CONFIG_SETTING_AI_BUILDS_TRAINS strhelp = STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = ai.ai_disable_veh_roadveh def = false str = STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES strhelp = STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = ai.ai_disable_veh_aircraft def = false str = STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT strhelp = STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT +cat = SC_ADVANCED [SDT_BOOL] base = GameSettings var = ai.ai_disable_veh_ship def = false str = STR_CONFIG_SETTING_AI_BUILDS_SHIPS strhelp = STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = script.script_max_opcode_till_suspend type = SLE_UINT32 @@ -1277,563 +1377,628 @@ min = 5000 max = 250000 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] base = GameSettings var = vehicle.extend_vehicle_life type = SLE_UINT8 def = 0 min = 0 max = 100 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = economy.dist_local_authority type = SLE_UINT8 def = 20 min = 5 max = 60 +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = pf.reverse_at_signals from = 159 def = false str = STR_CONFIG_SETTING_REVERSE_AT_SIGNALS strhelp = STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.wait_oneway_signal type = SLE_UINT8 def = 15 min = 2 max = 255 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.wait_twoway_signal type = SLE_UINT8 def = 41 min = 2 max = 255 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = economy.town_noise_population[0] type = SLE_UINT16 from = 96 def = 800 min = 200 max = 65535 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = economy.town_noise_population[1] type = SLE_UINT16 from = 96 def = 2000 min = 400 max = 65535 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = economy.town_noise_population[2] type = SLE_UINT16 from = 96 def = 4000 min = 800 max = 65535 +cat = SC_EXPERT [SDT_BOOL] base = GameSettings var = economy.infrastructure_maintenance from = 166 def = false str = STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE strhelp = STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT proc = InvalidateCompanyInfrastructureWindow +cat = SC_BASIC ## [SDT_VAR] base = GameSettings var = pf.wait_for_pbs_path type = SLE_UINT8 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 var = pf.path_backoff_interval type = SLE_UINT8 from = 100 def = 20 min = 1 max = 255 +cat = SC_EXPERT ## [SDT_VAR] base = GameSettings var = pf.opf.pf_maxlength type = SLE_UINT16 def = 4096 min = 64 max = 65535 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.opf.pf_maxdepth type = SLE_UINT8 def = 48 min = 4 max = 255 +cat = SC_EXPERT ## [SDT_VAR] base = GameSettings var = pf.npf.npf_max_search_nodes type = SLE_UINT def = 10000 min = 500 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_rail_firstred_penalty type = SLE_UINT def = 10 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_rail_firstred_exit_penalty type = SLE_UINT def = 100 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_rail_lastred_penalty type = SLE_UINT def = 10 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_rail_station_penalty type = SLE_UINT def = 1 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_rail_slope_penalty type = SLE_UINT def = 1 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_rail_curve_penalty type = SLE_UINT def = 1 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_rail_depot_reverse_penalty type = SLE_UINT def = 50 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_rail_pbs_cross_penalty type = SLE_UINT from = 100 def = 3 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_rail_pbs_signal_back_penalty type = SLE_UINT from = 100 def = 15 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_buoy_penalty type = SLE_UINT def = 2 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_water_curve_penalty type = SLE_UINT def = 1 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_road_curve_penalty type = SLE_UINT def = 1 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_crossing_penalty type = SLE_UINT def = 3 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_road_drive_through_penalty type = SLE_UINT from = 47 def = 8 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_road_dt_occupied_penalty type = SLE_UINT from = 130 def = 8 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.npf_road_bay_occupied_penalty type = SLE_UINT from = 130 def = 15 * NPF_TILE_LENGTH min = 0 max = 100000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.npf.maximum_go_to_depot_penalty type = SLE_UINT from = 131 def = 20 * NPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT ## [SDT_BOOL] base = GameSettings var = pf.yapf.disable_node_optimization from = 28 def = false +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.max_search_nodes type = SLE_UINT 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 var = pf.yapf.rail_firstred_penalty type = SLE_UINT from = 28 def = 10 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_firstred_exit_penalty type = SLE_UINT from = 28 def = 100 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_lastred_penalty type = SLE_UINT from = 28 def = 10 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_lastred_exit_penalty type = SLE_UINT from = 28 def = 100 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_station_penalty type = SLE_UINT from = 28 def = 10 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_slope_penalty type = SLE_UINT from = 28 def = 2 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_curve45_penalty type = SLE_UINT from = 28 def = 1 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_curve90_penalty type = SLE_UINT from = 28 def = 6 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_depot_reverse_penalty type = SLE_UINT from = 28 def = 50 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_crossing_penalty type = SLE_UINT from = 28 def = 3 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_look_ahead_max_signals type = SLE_UINT from = 28 def = 10 min = 1 max = 100 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_look_ahead_signal_p0 type = SLE_INT from = 28 def = 500 min = -1000000 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_look_ahead_signal_p1 type = SLE_INT from = 28 def = -100 min = -1000000 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_look_ahead_signal_p2 type = SLE_INT from = 28 def = 5 min = -1000000 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_pbs_cross_penalty type = SLE_UINT from = 100 def = 3 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_pbs_station_penalty type = SLE_UINT from = 100 def = 8 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_pbs_signal_back_penalty type = SLE_UINT from = 100 def = 15 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_doubleslip_penalty type = SLE_UINT from = 100 def = 1 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_longer_platform_penalty type = SLE_UINT from = 33 def = 8 * YAPF_TILE_LENGTH min = 0 max = 20000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_longer_platform_per_tile_penalty type = SLE_UINT from = 33 def = 0 * YAPF_TILE_LENGTH min = 0 max = 20000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_shorter_platform_penalty type = SLE_UINT from = 33 def = 40 * YAPF_TILE_LENGTH min = 0 max = 20000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.rail_shorter_platform_per_tile_penalty type = SLE_UINT from = 33 def = 0 * YAPF_TILE_LENGTH min = 0 max = 20000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.road_slope_penalty type = SLE_UINT from = 33 def = 2 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.road_curve_penalty type = SLE_UINT from = 33 def = 1 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.road_crossing_penalty type = SLE_UINT from = 33 def = 3 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.road_stop_penalty type = SLE_UINT from = 47 def = 8 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.road_stop_occupied_penalty type = SLE_UINT from = 130 def = 8 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.road_stop_bay_occupied_penalty type = SLE_UINT from = 130 def = 15 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT [SDT_VAR] base = GameSettings var = pf.yapf.maximum_go_to_depot_penalty type = SLE_UINT from = 131 def = 20 * YAPF_TILE_LENGTH min = 0 max = 1000000 +cat = SC_EXPERT ## [SDT_VAR] base = GameSettings var = game_creation.land_generator @@ -1843,10 +2008,11 @@ guiflags = SGF_MULTISTRING def = 1 min = 0 max = 1 str = STR_CONFIG_SETTING_LAND_GENERATOR strval = STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL +cat = SC_BASIC [SDT_VAR] base = GameSettings var = game_creation.oil_refinery_limit type = SLE_UINT8 @@ -1855,10 +2021,11 @@ def = 32 min = 12 max = 48 str = STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE strval = STR_CONFIG_SETTING_TILE_LENGTH strhelp = STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = game_creation.tgen_smoothness type = SLE_UINT8 @@ -1867,28 +2034,31 @@ guiflags = SGF_MULTISTRING def = 1 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 var = game_creation.variety type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 0 min = 0 max = 5 +cat = SC_BASIC [SDT_VAR] base = GameSettings var = game_creation.generation_seed type = SLE_UINT32 from = 30 def = GENERATE_NEW_SEED min = 0 max = UINT32_MAX +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = game_creation.tree_placer type = SLE_UINT8 @@ -1897,10 +2067,11 @@ guiflags = SGF_MULTISTRING def = 2 min = 0 max = 2 str = STR_CONFIG_SETTING_TREE_PLACER strval = STR_CONFIG_SETTING_TREE_PLACER_NONE +cat = SC_BASIC [SDT_VAR] base = GameSettings var = game_creation.heightmap_rotation type = SLE_UINT8 @@ -1909,10 +2080,11 @@ guiflags = SGF_MULTISTRING def = 0 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 var = game_creation.se_flat_world_height type = SLE_UINT8 @@ -1920,56 +2092,62 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 1 min = 0 max = 15 str = STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT strval = STR_JUST_COMMA +cat = SC_BASIC ## [SDT_VAR] base = GameSettings var = game_creation.map_x type = SLE_UINT8 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 var = game_creation.map_y type = SLE_UINT8 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 var = construction.freeform_edges from = 111 def = true str = STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES strhelp = STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES_HELPTEXT proc = CheckFreeformEdges +cat = SC_ADVANCED [SDT_VAR] base = GameSettings var = game_creation.water_borders type = SLE_UINT8 from = 111 def = 15 min = 0 max = 16 +cat = SC_BASIC [SDT_VAR] base = GameSettings var = game_creation.custom_town_number type = SLE_UINT16 from = 115 def = 1 min = 1 max = 5000 +cat = SC_BASIC [SDT_VAR] base = GameSettings var = construction.extra_tree_placement type = SLE_UINT8 @@ -1979,46 +2157,51 @@ def = 2 min = 0 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 var = game_creation.custom_sea_level type = SLE_UINT8 from = 149 def = 1 min = 2 max = 90 +cat = SC_BASIC [SDT_VAR] base = GameSettings var = game_creation.min_river_length type = SLE_UINT8 from = 163 def = 16 min = 2 max = 255 +cat = SC_BASIC [SDT_VAR] base = GameSettings var = game_creation.river_route_random type = SLE_UINT8 from = 163 def = 5 min = 1 max = 255 +cat = SC_BASIC [SDT_VAR] base = GameSettings var = game_creation.amount_of_rivers type = SLE_UINT8 from = 163 def = 2 min = 0 max = 3 +cat = SC_BASIC ; locale [SDT_OMANY] base = GameSettings @@ -2028,10 +2211,11 @@ from = 97 flags = SLF_NO_NETWORK_SYNC def = 0 max = CUSTOM_CURRENCY_ID full = _locale_currencies proc = RedrawScreen +cat = SC_BASIC [SDT_OMANY] base = GameSettings var = locale.units type = SLE_UINT8 @@ -2039,37 +2223,41 @@ from = 97 flags = SLF_NO_NETWORK_SYNC def = 1 max = 2 full = _locale_units proc = RedrawScreen +cat = SC_BASIC [SDT_STR] base = GameSettings var = locale.digit_group_separator type = SLE_STRQ from = 118 flags = SLF_NO_NETWORK_SYNC def = NULL proc = RedrawScreen +cat = SC_BASIC [SDT_STR] base = GameSettings var = locale.digit_group_separator_currency type = SLE_STRQ from = 118 flags = SLF_NO_NETWORK_SYNC def = NULL proc = RedrawScreen +cat = SC_BASIC [SDT_STR] base = GameSettings var = locale.digit_decimal_separator type = SLE_STRQ from = 126 flags = SLF_NO_NETWORK_SYNC def = NULL proc = RedrawScreen +cat = SC_BASIC ;*************************************************************************** ; Unsaved setting variables. @@ -2078,15 +2266,17 @@ var = gui.autosave type = SLE_UINT8 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2095,17 +2285,19 @@ def = 0 max = 2 full = _savegame_date str = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES strhelp = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT strval = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG +cat = SC_ADVANCED [SDTC_BOOL] var = gui.show_finances 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2114,38 +2306,43 @@ def = 0 min = 0 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 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_ADVANCED [SDTC_BOOL] var = gui.smooth_scroll flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false str = STR_CONFIG_SETTING_SMOOTH_SCROLLING strhelp = STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT +cat = SC_ADVANCED [SDTC_BOOL] var = gui.left_mouse_btn_scrolling 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 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2153,10 +2350,11 @@ def = 5 min = 0 max = 20 str = STR_CONFIG_SETTING_ERRMSG_DURATION strhelp = STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT strval = STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE +cat = SC_ADVANCED [SDTC_VAR] var = gui.hover_delay type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2165,10 +2363,11 @@ def = 2 min = 1 max = 5 str = STR_CONFIG_SETTING_HOVER_DELAY strhelp = STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT strval = STR_CONFIG_SETTING_HOVER_DELAY_VALUE +cat = SC_ADVANCED [SDTC_VAR] var = gui.toolbar_pos type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2178,10 +2377,11 @@ min = 0 max = 2 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2191,10 +2391,11 @@ min = 0 max = 2 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2203,10 +2404,11 @@ def = 10 min = 1 max = 32 str = STR_CONFIG_SETTING_SNAP_RADIUS strhelp = STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT strval = STR_CONFIG_SETTING_SNAP_RADIUS_VALUE +cat = SC_ADVANCED [SDTC_VAR] var = gui.window_soft_limit type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2216,10 +2418,11 @@ min = 5 max = 255 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2229,10 +2432,11 @@ min = ZOOM_LVL_MIN max = ZOOM_LVL_GUI str = STR_CONFIG_SETTING_ZOOM_MIN strhelp = STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT strval = STR_CONFIG_SETTING_ZOOM_LVL_MIN proc = ZoomMinMaxChanged +cat = SC_EXPERT [SDTC_VAR] var = gui.zoom_max type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2242,25 +2446,28 @@ min = ZOOM_LVL_OUT_8X max = ZOOM_LVL_MAX str = STR_CONFIG_SETTING_ZOOM_MAX strhelp = STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT strval = STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X proc = ZoomMinMaxChanged +cat = SC_EXPERT [SDTC_BOOL] var = gui.population_in_label flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true str = STR_CONFIG_SETTING_POPULATION_IN_LABEL strhelp = STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT proc = PopulationInLabelActive +cat = SC_ADVANCED [SDTC_BOOL] var = gui.link_terraform_toolbar flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false str = STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR strhelp = STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT +cat = SC_ADVANCED [SDTC_VAR] var = gui.smallmap_land_colour type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2270,10 +2477,11 @@ min = 0 max = 2 str = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR strhelp = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT strval = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN proc = RedrawSmallmap +cat = SC_EXPERT [SDTC_VAR] var = gui.liveries type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2283,17 +2491,19 @@ min = 0 max = 2 str = STR_CONFIG_SETTING_LIVERIES strhelp = STR_CONFIG_SETTING_LIVERIES_HELPTEXT strval = STR_CONFIG_SETTING_LIVERIES_NONE proc = InvalidateCompanyLiveryWindow +cat = SC_ADVANCED [SDTC_BOOL] var = gui.prefer_teamchat 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2302,10 +2512,11 @@ def = 0 min = 0 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2314,17 +2525,19 @@ min = 1 max = 15 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 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2333,33 +2546,37 @@ def = 1 min = 0 max = 2 str = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS strhelp = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT strval = STR_CONFIG_SETTING_COMPANIES_OFF +cat = SC_EXPERT [SDTC_BOOL] var = gui.timetable_in_ticks flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC 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 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true str = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE strhelp = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT proc = InvalidateVehTimetableWindow +cat = SC_ADVANCED [SDTC_BOOL] var = gui.quick_goto 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2369,10 +2586,11 @@ min = 0 max = 2 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2381,18 +2599,20 @@ def = 0 min = 0 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 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC 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 type = SLE_INT32 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2401,10 +2621,11 @@ min = MIN_YEAR max = MAX_YEAR interval = 1 str = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR strhelp = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT strval = STR_JUST_INT +cat = SC_ADVANCED [SDTC_VAR] var = gui.drag_signals_density type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2413,17 +2634,19 @@ min = 1 max = 20 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 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_BASIC [SDTC_VAR] var = gui.semaphore_build_before type = SLE_INT32 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2433,17 +2656,19 @@ max = MAX_YEAR interval = 1 str = STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE strhelp = STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT strval = STR_JUST_INT proc = ResetSignalVariant +cat = SC_ADVANCED [SDTC_BOOL] var = gui.vehicle_income_warn 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2452,32 +2677,36 @@ def = 2 min = 0 max = 2 str = STR_CONFIG_SETTING_ORDER_REVIEW strhelp = STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT strval = STR_CONFIG_SETTING_ORDER_REVIEW_OFF +cat = SC_ADVANCED [SDTC_BOOL] var = gui.lost_vehicle_warn flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true str = STR_CONFIG_SETTING_WARN_LOST_VEHICLE strhelp = STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT +cat = SC_ADVANCED [SDTC_BOOL] var = gui.disable_unsuitable_building flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC 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 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2487,49 +2716,59 @@ min = 0 max = 2 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 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false +cat = SC_ADVANCED [SDTC_BOOL] 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 16 min = 0 max = 255 +cat = SC_ADVANCED + [SDTC_BOOL] var = gui.auto_euro flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true +cat = SC_ADVANCED + [SDTC_VAR] var = gui.news_message_timeout type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 2 min = 1 max = 255 +cat = SC_ADVANCED + [SDTC_BOOL] var = gui.show_track_reservation flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2539,10 +2778,11 @@ min = 0 max = 2 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2552,59 +2792,67 @@ min = 0 max = 2 interval = 1 str = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES strhelp = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT strval = STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL +cat = SC_ADVANCED [SDTC_VAR] var = gui.station_numtracks type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 1 min = 1 max = 7 +cat = SC_ADVANCED [SDTC_VAR] var = gui.station_platlength type = SLE_UINT8 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 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 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false str = STR_CONFIG_SETTING_EXPENSES_LAYOUT strhelp = STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT proc = RedrawScreen +cat = SC_ADVANCED [SDTC_VAR] var = gui.missing_strings_threshold type = SLE_UINT8 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2613,54 +2861,62 @@ min = 1 max = 5 str = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS strhelp = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT strval = STR_JUST_COMMA proc = RedrawScreen +cat = SC_ADVANCED ; For the dedicated build we'll enable dates in logs by default. [SDTC_BOOL] ifdef = DEDICATED var = gui.show_date_in_logs flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = true +cat = SC_ADVANCED [SDTC_BOOL] ifndef = DEDICATED var = gui.show_date_in_logs flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false +cat = SC_ADVANCED [SDTC_VAR] var = gui.developer type = SLE_UINT8 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 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = false proc = InvalidateNewGRFChangeWindows +cat = SC_ADVANCED [SDTC_BOOL] 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 type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC @@ -2670,364 +2926,406 @@ min = 0 max = 1 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 type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 100 min = 10 max = 65500 +cat = SC_ADVANCED [SDTC_VAR] var = gui.console_backlog_length type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 100 min = 10 max = 65500 +cat = SC_ADVANCED [SDTC_VAR] var = music.playlist type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 0 min = 0 max = 5 interval = 1 +cat = SC_BASIC [SDTC_VAR] var = music.music_vol type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 127 min = 0 max = 127 interval = 1 +cat = SC_BASIC [SDTC_VAR] var = music.effect_vol type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC 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 var = gui.network_chat_box_width type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 620 min = 200 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = gui.network_chat_box_height type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 25 min = 5 max = 255 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = gui.network_chat_timeout type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = 20 min = 1 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.sync_freq type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NOT_IN_CONFIG | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 100 min = 0 max = 100 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.frame_freq type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NOT_IN_CONFIG | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 0 min = 0 max = 100 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.commands_per_frame type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 2 min = 1 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.max_commands_in_queue type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 16 min = 1 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.bytes_per_frame type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 8 min = 1 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.bytes_per_frame_burst type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 256 min = 1 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.max_init_time type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 100 min = 0 max = 32000 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.max_join_time type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 500 min = 0 max = 32000 +cat = SC_ADVANCED [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.max_download_time type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 1000 min = 0 max = 32000 +cat = SC_ADVANCED [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.max_password_time type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 2000 min = 0 max = 32000 +cat = SC_ADVANCED [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.max_lag_time type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 500 min = 0 max = 32000 +cat = SC_ADVANCED [SDTC_BOOL] ifdef = ENABLE_NETWORK var = network.pause_on_join flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = true +cat = SC_ADVANCED [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.server_port type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = NETWORK_DEFAULT_PORT min = 0 max = 65535 +cat = SC_EXPERT [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.server_admin_port type = SLE_UINT16 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = NETWORK_ADMIN_PORT min = 0 max = 65535 +cat = SC_EXPERT [SDTC_BOOL] ifdef = ENABLE_NETWORK 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 var = network.server_advertise flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = false +cat = SC_ADVANCED [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.lan_internet type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 0 min = 0 max = 1 +cat = SC_ADVANCED [SDTC_STR] ifdef = ENABLE_NETWORK var = network.client_name type = SLE_STRB flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = NULL proc = UpdateClientName +cat = SC_BASIC [SDTC_STR] ifdef = ENABLE_NETWORK var = network.server_password type = SLE_STRB 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 var = network.rcon_password type = SLE_STRB 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 var = network.admin_password 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 var = network.default_company_pass type = SLE_STRB flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = NULL +cat = SC_ADVANCED [SDTC_STR] ifdef = ENABLE_NETWORK var = network.server_name 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 var = network.connect_to_ip type = SLE_STRB flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC def = NULL +cat = SC_ADVANCED [SDTC_STR] ifdef = ENABLE_NETWORK var = network.network_id type = SLE_STRB flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = NULL +cat = SC_ADVANCED [SDTC_BOOL] ifdef = ENABLE_NETWORK var = network.autoclean_companies flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = false +cat = SC_ADVANCED [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.autoclean_unprotected type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_0ISDISABLED | SGF_NETWORK_ONLY def = 12 min = 0 max = 240 +cat = SC_ADVANCED [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.autoclean_protected type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_0ISDISABLED | SGF_NETWORK_ONLY def = 36 min = 0 max = 240 +cat = SC_ADVANCED [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.autoclean_novehicles type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_0ISDISABLED | SGF_NETWORK_ONLY def = 0 min = 0 max = 240 +cat = SC_ADVANCED [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.max_companies type = SLE_UINT8 @@ -3035,20 +3333,22 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 15 min = 1 max = MAX_COMPANIES proc = UpdateClientConfigValues +cat = SC_BASIC [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.max_clients type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 25 min = 2 max = MAX_CLIENTS +cat = SC_BASIC [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.max_spectators type = SLE_UINT8 @@ -3056,10 +3356,11 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 15 min = 0 max = MAX_CLIENTS proc = UpdateClientConfigValues +cat = SC_BASIC [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.restart_game_year type = SLE_INT32 @@ -3067,59 +3368,66 @@ flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_0ISDISABLED | SGF_NETWORK_ONLY def = 0 min = MIN_YEAR max = MAX_YEAR interval = 1 +cat = SC_ADVANCED [SDTC_VAR] ifdef = ENABLE_NETWORK var = network.min_active_clients type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 0 min = 0 max = MAX_CLIENTS +cat = SC_ADVANCED [SDTC_OMANY] ifdef = ENABLE_NETWORK var = network.server_lang type = SLE_UINT8 flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = SGF_NETWORK_ONLY def = 0 max = 35 full = _server_langs +cat = SC_BASIC [SDTC_BOOL] ifdef = ENABLE_NETWORK 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 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 var = network.last_port type = SLE_UINT16 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 ; end. This isn't really the best solution, the settings the server can tell the client about should ; either use a seperate array or some other form of identifier. @@ -3136,8 +3444,9 @@ def = 0 min = 0 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 15bf4c3..f4f27b9 100644 --- a/src/table/win32_settings.ini +++ b/src/table/win32_settings.ini @@ -15,12 +15,12 @@ extern uint _display_hz, _fullscreen_bpp; static const SettingDescGlobVarList _win32_settings[] = { [post-amble] }; #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] flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC guiflags = 0 @@ -30,33 +30,36 @@ strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT strval = STR_NULL proc = NULL load = NULL from = 0 to = SL_MAX_VERSION - +cat = SC_EXPERT [SDTG_VAR] name = ""display_hz"" type = SLE_UINT var = _display_hz def = 0 min = 0 max = 120 +cat = SC_ADVANCED [SDTG_BOOL] name = ""force_full_redraw"" var = _force_full_redraw def = false +cat = SC_EXPERT [SDTG_VAR] name = ""fullscreen_bpp"" type = SLE_UINT var = _fullscreen_bpp def = 8 min = 8 max = 32 +cat = SC_EXPERT [SDTG_BOOL] name = ""window_maximize"" var = _window_maximize def = false