From 74d756799cd5ae6abad5ed4ea0c97ce74b245f05 Mon Sep 17 00:00:00 2001 From: alberth Date: Thu, 3 Mar 2011 21:04:17 +0000 Subject: [PATCH] (svn r22172) -Add: Add ini files containing the table/settings data. --- src/table/company_settings.ini | 120 + src/table/currency_settings.ini | 67 + src/table/gameopt_settings.ini | 190 ++ src/table/misc_settings.ini | 358 +++ src/table/music_settings.ini | 91 + src/table/settings.ini | 3701 +++++++++++++++++++++++++++++++ src/table/win32_settings.ini | 62 + 7 files changed, 4589 insertions(+) create mode 100644 src/table/company_settings.ini create mode 100644 src/table/currency_settings.ini create mode 100644 src/table/gameopt_settings.ini create mode 100644 src/table/misc_settings.ini create mode 100644 src/table/music_settings.ini create mode 100644 src/table/settings.ini create mode 100644 src/table/win32_settings.ini diff --git a/src/table/company_settings.ini b/src/table/company_settings.ini new file mode 100644 index 0000000000..385848bcc7 --- /dev/null +++ b/src/table/company_settings.ini @@ -0,0 +1,120 @@ +[pre-amble] +static const SettingDesc _company_settings[] = { +[post-amble] +}; +[templates] +SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $proc), +SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc), +SDT_END = SDT_END() + + + +[SDT_BOOL] +base = CompanySettings +var = engine_renew +flags = 0 +guiflags = PC +def = false +str = STR_CONFIG_SETTING_AUTORENEW_VEHICLE +proc = NULL + +[SDT_VAR] +base = CompanySettings +var = engine_renew_months +type = SLE_INT16 +flags = 0 +guiflags = PC +def = 6 +min = -12 +max = 12 +interval = 0 +str = STR_CONFIG_SETTING_AUTORENEW_MONTHS +proc = NULL + +[SDT_VAR] +base = CompanySettings +var = engine_renew_money +type = SLE_UINT +flags = 0 +guiflags = PC|CR +def = 100000 +min = 0 +max = 2000000 +interval = 0 +str = STR_CONFIG_SETTING_AUTORENEW_MONEY +proc = NULL + +[SDT_BOOL] +base = CompanySettings +var = renew_keep_length +flags = 0 +guiflags = PC +def = false +str = STR_NULL +proc = NULL + +[SDT_BOOL] +base = CompanySettings +var = vehicle.servint_ispercent +flags = 0 +guiflags = PC +def = false +str = STR_CONFIG_SETTING_SERVINT_ISPERCENT +proc = CheckInterval + +[SDT_VAR] +base = CompanySettings +var = vehicle.servint_trains +type = SLE_UINT16 +flags = 0 +guiflags = PC|D0 +def = 150 +min = 5 +max = 800 +interval = 0 +str = STR_CONFIG_SETTING_SERVINT_TRAINS +proc = InvalidateDetailsWindow + +[SDT_VAR] +base = CompanySettings +var = vehicle.servint_roadveh +type = SLE_UINT16 +flags = 0 +guiflags = PC|D0 +def = 150 +min = 5 +max = 800 +interval = 0 +str = STR_CONFIG_SETTING_SERVINT_ROAD_VEHICLES +proc = InvalidateDetailsWindow + +[SDT_VAR] +base = CompanySettings +var = vehicle.servint_ships +type = SLE_UINT16 +flags = 0 +guiflags = PC|D0 +def = 360 +min = 5 +max = 800 +interval = 0 +str = STR_CONFIG_SETTING_SERVINT_SHIPS +proc = InvalidateDetailsWindow + +[SDT_VAR] +base = CompanySettings +var = vehicle.servint_aircraft +type = SLE_UINT16 +flags = 0 +guiflags = PC|D0 +def = 100 +min = 5 +max = 800 +interval = 0 +str = STR_CONFIG_SETTING_SERVINT_AIRCRAFT +proc = InvalidateDetailsWindow + +[SDT_END] + + +}; diff --git a/src/table/currency_settings.ini b/src/table/currency_settings.ini new file mode 100644 index 0000000000..82094f26ad --- /dev/null +++ b/src/table/currency_settings.ini @@ -0,0 +1,67 @@ +[pre-amble] +static const SettingDesc _currency_settings[] = { +[post-amble] +}; +[templates] +SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc), +SDT_CHR = SDT_CHR($base, $var, $flags, $guiflags, $def, $str, $proc), +SDT_STR = SDT_STR($base, $var, $type, $flags, $guiflags, $def, $str, $proc), +SDT_END = SDT_END() + +[SDT_VAR] +base = CurrencySpec +var = rate +type = SLE_UINT16 +flags = S +guiflags = 0 +def = 1 +min = 0 +max = UINT16_MAX +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CHR] +base = CurrencySpec +var = separator +flags = S +guiflags = 0 +def = ""."" +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = CurrencySpec +var = to_euro +type = SLE_INT32 +flags = S +guiflags = 0 +def = 0 +min = MIN_YEAR +max = MAX_YEAR +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_STR] +base = CurrencySpec +var = prefix +type = SLE_STRBQ +flags = S +guiflags = 0 +def = NULL +str = STR_NULL +proc = NULL + +[SDT_STR] +base = CurrencySpec +var = suffix +type = SLE_STRBQ +flags = S +guiflags = 0 +def = "" credits"" +str = STR_NULL +proc = NULL + +[SDT_END] + diff --git a/src/table/gameopt_settings.ini b/src/table/gameopt_settings.ini new file mode 100644 index 0000000000..59ae86e826 --- /dev/null +++ b/src/table/gameopt_settings.ini @@ -0,0 +1,190 @@ +[pre-amble] +static const uint GAME_DIFFICULTY_NUM = 18; +static uint16 _old_diff_custom[GAME_DIFFICULTY_NUM]; + +/* Most of these strings are used both for gameopt-backward compatability + * and the settings tables. The rest is here for consistency. */ +static const char *_locale_currencies = "GBP|USD|EUR|YEN|ATS|BEF|CHF|CZK|DEM|DKK|ESP|FIM|FRF|GRD|HUF|ISK|ITL|NLG|NOK|PLN|RON|RUR|SIT|SEK|YTL|SKK|BRL|EEK|custom"; +static const char *_locale_units = "imperial|metric|si"; +static const char *_town_names = "english|french|german|american|latin|silly|swedish|dutch|finnish|polish|slovak|norwegian|hungarian|austrian|romanian|czech|swiss|danish|turkish|italian|catalan"; +static const char *_climates = "temperate|arctic|tropic|toyland"; +static const char *_autosave_interval = "off|monthly|quarterly|half year|yearly"; +static const char *_roadsides = "left|right"; +static const char *_savegame_date = "long|short|iso"; +#ifdef ENABLE_NETWORK +static const char *_server_langs = "ANY|ENGLISH|GERMAN|FRENCH|BRAZILIAN|BULGARIAN|CHINESE|CZECH|DANISH|DUTCH|ESPERANTO|FINNISH|HUNGARIAN|ICELANDIC|ITALIAN|JAPANESE|KOREAN|LITHUANIAN|NORWEGIAN|POLISH|PORTUGUESE|ROMANIAN|RUSSIAN|SLOVAK|SLOVENIAN|SPANISH|SWEDISH|TURKISH|UKRAINIAN|AFRIKAANS|CROATIAN|CATALAN|ESTONIAN|GALICIAN|GREEK|LATVIAN"; +#endif /* ENABLE_NETWORK */ + +static const SettingDesc _gameopt_settings[] = { + /* In version 4 a new difficulty setting has been added to the difficulty settings, + * town attitude towards demolishing. Needs special handling because some dimwit thought + * it funny to have the GameDifficulty struct be an array while it is a struct of + * same-sized members + * XXX - To save file-space and since values are never bigger than about 10? only + * save the first 16 bits in the savegame. Question is why the values are still int32 + * and why not byte for example? + * '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, $proc, $from, $to), +SDT_CONDNULL = SDT_CONDNULL($length, $from, $to), +SDTC_CONDOMANY = SDTC_CONDOMANY( $var, $type, $from, $to, $flags, $guiflags, $def, $max, $full, $str, $proc), +SDT_OMANY = SDT_OMANY($base, $var, $type, $flags, $guiflags, $def, $max, $full, $str, $proc, $load), +SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc), +SDT_END = SDT_END() + + +[SDTG_GENERAL] +name = ""diff_custom"" +sdt_cmd = SDT_INTLIST +sle_cmd = SL_ARR +type = SLE_FILE_I16 | SLE_VAR_U16 +flags = C +guiflags = 0 +var = _old_diff_custom +length = 17 +def = 0 +min = 0 +max = 0 +interval = 0 +full = NULL +str = STR_NULL +proc = NULL +from = 0 +to = 3 + +[SDTG_GENERAL] +name = ""diff_custom"" +sdt_cmd = SDT_INTLIST +sle_cmd = SL_ARR +type = SLE_UINT16 +flags = C +guiflags = 0 +var = _old_diff_custom +length = 18 +def = 0 +min = 0 +max = 0 +interval = 0 +full = NULL +str = STR_NULL +proc = NULL +from = 4 +to = SL_MAX_VERSION + +## +[SDT_VAR] +base = GameSettings +var = difficulty.diff_level +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = 3 +min = 0 +max = 3 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_OMANY] +base = GameSettings +var = locale.currency +type = SLE_UINT8 +flags = N +guiflags = 0 +def = 0 +max = CUSTOM_CURRENCY_ID +full = _locale_currencies +str = STR_NULL +proc = NULL +load = NULL + +[SDT_OMANY] +base = GameSettings +var = locale.units +type = SLE_UINT8 +flags = N +guiflags = 0 +def = 1 +max = 2 +full = _locale_units +str = STR_NULL +proc = NULL +load = NULL + +# 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 +flags = 0 +guiflags = 0 +def = 0 +max = 255 +full = _town_names +str = STR_NULL +proc = NULL +load = NULL + +[SDT_OMANY] +base = GameSettings +var = game_creation.landscape +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = 0 +max = 3 +full = _climates +str = STR_NULL +proc = NULL +load = ConvertLandscape + +[SDT_VAR] +base = GameSettings +var = game_creation.snow_line +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = DEF_SNOWLINE_HEIGHT * TILE_HEIGHT +min = MIN_SNOWLINE_HEIGHT * TILE_HEIGHT +max = MAX_SNOWLINE_HEIGHT * TILE_HEIGHT +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDNULL] +length = 1 +from = 0 +to = 22 + +[SDTC_CONDOMANY] +var = gui.autosave +type = SLE_UINT8 +from = 23 +to = SL_MAX_VERSION +flags = S +guiflags = 0 +def = 1 +max = 4 +full = _autosave_interval +str = STR_NULL +proc = NULL + +[SDT_OMANY] +base = GameSettings +var = vehicle.road_side +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = 1 +max = 1 +full = _roadsides +str = STR_NULL +proc = NULL +load = NULL + +[SDT_END] + diff --git a/src/table/misc_settings.ini b/src/table/misc_settings.ini new file mode 100644 index 0000000000..8ce3a449d6 --- /dev/null +++ b/src/table/misc_settings.ini @@ -0,0 +1,358 @@ +[pre-amble] +extern char _config_language_file[MAX_PATH]; + +static const SettingDescGlobVarList _misc_settings[] = { +[post-amble] +}; +[templates] +SDTG_CONDLIST = SDTG_CONDLIST($name, $type, $length, $flags, $guiflags, $var, $def, $str, $proc, $from, $to), +SDTG_MMANY = SDTG_MMANY($name, $type, $flags, $guiflags, $var, $def, $full, $str, $proc), +SDTG_STR = SDTG_STR($name, $type, $flags, $guiflags, $var, $def, $str, $proc), +SDTG_BOOL = SDTG_BOOL($name, $flags, $guiflags, $var, $def, $str, $proc), +SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $proc), +SDTG_END = SDTG_END() + +[SDTG_MMANY] +name = ""display_opt"" +type = SLE_UINT8 +flags = S +guiflags = 0 +var = _display_opt +def = (1 << DO_SHOW_TOWN_NAMES | 1 << DO_SHOW_STATION_NAMES | 1 << DO_SHOW_SIGNS | 1 << DO_FULL_ANIMATION | 1 << DO_FULL_DETAIL | 1 << DO_SHOW_WAYPOINT_NAMES) +full = ""SHOW_TOWN_NAMES|SHOW_STATION_NAMES|SHOW_SIGNS|FULL_ANIMATION||FULL_DETAIL|WAYPOINTS"" +str = STR_NULL +proc = NULL + +[SDTG_BOOL] +name = ""news_ticker_sound"" +flags = S +guiflags = 0 +var = _news_ticker_sound +def = true +str = STR_NULL +proc = NULL + +[SDTG_BOOL] +name = ""fullscreen"" +flags = S +guiflags = 0 +var = _fullscreen +def = false +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""graphicsset"" +type = SLE_STRQ +flags = S +guiflags = 0 +var = BaseGraphics::ini_set +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""soundsset"" +type = SLE_STRQ +flags = S +guiflags = 0 +var = BaseSounds::ini_set +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""musicset"" +type = SLE_STRQ +flags = S +guiflags = 0 +var = BaseMusic::ini_set +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""videodriver"" +type = SLE_STRQ +flags = S +guiflags = 0 +var = _ini_videodriver +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""musicdriver"" +type = SLE_STRQ +flags = S +guiflags = 0 +var = _ini_musicdriver +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""sounddriver"" +type = SLE_STRQ +flags = S +guiflags = 0 +var = _ini_sounddriver +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""blitter"" +type = SLE_STRQ +flags = S +guiflags = 0 +var = _ini_blitter +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""language"" +type = SLE_STRB +flags = S +guiflags = 0 +var = _config_language_file +def = NULL +str = STR_NULL +proc = NULL + +; workaround for implicit lengthof() in SDTG_LIST +[SDTG_CONDLIST] +name = ""resolution"" +type = SLE_INT +length = 2 +flags = S +guiflags = 0 +var = _cur_resolution +def = ""640,480"" +str = STR_NULL +proc = NULL +from = 0 +to = SL_MAX_VERSION + +[SDTG_STR] +name = ""screenshot_format"" +type = SLE_STRB +flags = S +guiflags = 0 +var = _screenshot_format_name +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""savegame_format"" +type = SLE_STRB +flags = S +guiflags = 0 +var = _savegame_format +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_BOOL] +name = ""rightclick_emulate"" +flags = S +guiflags = 0 +var = _rightclick_emulate +def = false +str = STR_NULL +proc = NULL + +[SDTG_STR] +ifdef = WITH_FREETYPE +name = ""small_font"" +type = SLE_STRB +flags = S +guiflags = 0 +var = _freetype.small_font +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +ifdef = WITH_FREETYPE +name = ""medium_font"" +type = SLE_STRB +flags = S +guiflags = 0 +var = _freetype.medium_font +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +ifdef = WITH_FREETYPE +name = ""large_font"" +type = SLE_STRB +flags = S +guiflags = 0 +var = _freetype.large_font +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_VAR] +ifdef = WITH_FREETYPE +name = ""small_size"" +type = SLE_UINT +flags = S +guiflags = 0 +var = _freetype.small_size +def = 8 +min = 0 +max = 72 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTG_VAR] +ifdef = WITH_FREETYPE +name = ""medium_size"" +type = SLE_UINT +flags = S +guiflags = 0 +var = _freetype.medium_size +def = 10 +min = 0 +max = 72 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTG_VAR] +ifdef = WITH_FREETYPE +name = ""large_size"" +type = SLE_UINT +flags = S +guiflags = 0 +var = _freetype.large_size +def = 16 +min = 0 +max = 72 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTG_BOOL] +ifdef = WITH_FREETYPE +name = ""small_aa"" +flags = S +guiflags = 0 +var = _freetype.small_aa +def = false +str = STR_NULL +proc = NULL + +[SDTG_BOOL] +ifdef = WITH_FREETYPE +name = ""medium_aa"" +flags = S +guiflags = 0 +var = _freetype.medium_aa +def = false +str = STR_NULL +proc = NULL + +[SDTG_BOOL] +ifdef = WITH_FREETYPE +name = ""large_aa"" +flags = S +guiflags = 0 +var = _freetype.large_aa +def = false +str = STR_NULL +proc = NULL + +[SDTG_VAR] +name = ""sprite_cache_size"" +type = SLE_UINT +flags = S +guiflags = 0 +var = _sprite_cache_size +def = 4 +min = 1 +max = 64 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTG_VAR] +name = ""player_face"" +type = SLE_UINT32 +flags = S +guiflags = 0 +var = _company_manager_face +def = 0 +min = 0 +max = 0xFFFFFFFF +interval = 0 +str = STR_NULL +proc = NULL + +[SDTG_VAR] +name = ""transparency_options"" +type = SLE_UINT +flags = S +guiflags = 0 +var = _transparency_opt +def = 0 +min = 0 +max = 0x1FF +interval = 0 +str = STR_NULL +proc = NULL + +[SDTG_VAR] +name = ""transparency_locks"" +type = SLE_UINT +flags = S +guiflags = 0 +var = _transparency_lock +def = 0 +min = 0 +max = 0x1FF +interval = 0 +str = STR_NULL +proc = NULL + +[SDTG_VAR] +name = ""invisibility_options"" +type = SLE_UINT +flags = S +guiflags = 0 +var = _invisibility_opt +def = 0 +min = 0 +max = 0xFF +interval = 0 +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""keyboard"" +type = SLE_STRB +flags = S +guiflags = 0 +var = _keyboard_opt[0] +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_STR] +name = ""keyboard_caps"" +type = SLE_STRB +flags = S +guiflags = 0 +var = _keyboard_opt[1] +def = NULL +str = STR_NULL +proc = NULL + +[SDTG_END] + diff --git a/src/table/music_settings.ini b/src/table/music_settings.ini new file mode 100644 index 0000000000..99b34f53eb --- /dev/null +++ b/src/table/music_settings.ini @@ -0,0 +1,91 @@ +[pre-amble] +static const SettingDesc _music_settings[] = { +[post-amble] +}; +[templates] +SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $proc), +SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc), +SDT_LIST = SDT_LIST($base, $var, $type, $flags, $guiflags, $def, $str, $proc), +SDT_END = SDT_END() + +[SDT_VAR] +base = MusicFileSettings +var = playlist +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 0 +min = 0 +max = 5 +interval = 1 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = MusicFileSettings +var = music_vol +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 127 +min = 0 +max = 127 +interval = 1 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = MusicFileSettings +var = effect_vol +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 127 +min = 0 +max = 127 +interval = 1 +str = STR_NULL +proc = NULL + +[SDT_LIST] +base = MusicFileSettings +var = custom_1 +type = SLE_UINT8 +flags = S +guiflags = 0 +def = NULL +str = STR_NULL +proc = NULL + +[SDT_LIST] +base = MusicFileSettings +var = custom_2 +type = SLE_UINT8 +flags = S +guiflags = 0 +def = NULL +str = STR_NULL +proc = NULL + +[SDT_BOOL] +base = MusicFileSettings +var = playing +flags = S +guiflags = 0 +def = true +str = STR_NULL +proc = NULL + +[SDT_BOOL] +base = MusicFileSettings +var = shuffle +flags = S +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDT_END] + + +}; diff --git a/src/table/settings.ini b/src/table/settings.ini new file mode 100644 index 0000000000..17f55533c1 --- /dev/null +++ b/src/table/settings.ini @@ -0,0 +1,3701 @@ +[pre-amble] +/* Some settings do not need to be synchronised when playing in multiplayer. + * These include for example the GUI settings and will not be saved with the + * savegame. + * It is also a bit tricky since you would think that service_interval + * for example doesn't need to be synched. Every client assigns the + * service_interval value to the v->service_interval, meaning that every client + * assigns his value. If the setting was company-based, that would mean that + * vehicles could decide on different moments that they are heading back to a + * service depot, causing desyncs on a massive scale. */ +const SettingDesc _settings[] = { +[post-amble] +}; +[templates] +SDTG_CONDBOOL = SDTG_CONDBOOL($name, $flags, $guiflags, $var, $def, $str, $proc, $from, $to), +SDTG_CONDVAR = SDTG_CONDVAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $proc, $from, $to), +SDTC_BOOL = SDTC_BOOL( $var, $flags, $guiflags, $def, $str, $proc), +SDT_BOOL = SDT_BOOL($base, $var, $flags, $guiflags, $def, $str, $proc), +SDTC_CONDBOOL = SDTC_CONDBOOL( $var, $from, $to, $flags, $guiflags, $def, $str, $proc), +SDT_CONDBOOL = SDT_CONDBOOL($base, $var, $from, $to, $flags, $guiflags, $def, $str, $proc), +SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def, $max, $full, $str, $proc), +SDT_CONDOMANY = SDT_CONDOMANY($base, $var, $type, $from, $to, $flags, $guiflags, $def, $max, $full, $str, $proc, $load), +SDT_CONDSTR = SDT_CONDSTR($base, $var, $type, $from, $to, $flags, $guiflags, $def, $str, $proc), +SDT_CONDVAR = SDT_CONDVAR($base, $var, $type, $from, $to, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc), +SDTC_STR = SDTC_STR( $var, $type, $flags, $guiflags, $def, $str, $proc), +SDTC_VAR = SDTC_VAR( $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc), +SDT_VAR = SDT_VAR($base, $var, $type, $flags, $guiflags, $def, $min, $max, $interval, $str, $proc), +SDT_CONDNULL = SDT_CONDNULL($length, $from, $to), +SDT_END = SDT_END() + + + +; Saved settings variables. +; Do not ADD or REMOVE something in this "difficulty.XXX" table or before it. It breaks savegame compatability. +[SDT_CONDVAR] +base = GameSettings +var = difficulty.max_no_competitors +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 0 +min = 0 +max = MAX_COMPANIES-1 +interval = 1 +str = STR_NULL +proc = MaxNoAIsChange + +[SDT_CONDNULL] +length = 1 +from = 97 +to = 109 + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.number_towns +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NG +def = 2 +min = 0 +max = 4 +interval = 1 +str = STR_NUM_VERY_LOW +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.industry_density +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NG +def = ID_END-1 +min = 0 +max = ID_END-1 +interval = 1 +str = STR_FUNDING_ONLY +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.max_loan +type = SLE_UINT32 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NS|CR +def = 300000 +min = 100000 +max = 500000 +interval = 50000 +str = STR_NULL +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.initial_interest +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NS +def = 2 +min = 2 +max = 4 +interval = 1 +str = STR_NULL +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.vehicle_costs +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NS +def = 0 +min = 0 +max = 2 +interval = 1 +str = STR_SEA_LEVEL_LOW +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.competitor_speed +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 2 +min = 0 +max = 4 +interval = 1 +str = STR_AI_SPEED_VERY_SLOW +proc = DifficultyChange + +[SDT_CONDNULL] +length = 1 +from = 97 +to = 109 + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.vehicle_breakdowns +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 1 +min = 0 +max = 2 +interval = 1 +str = STR_DISASTER_NONE +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.subsidy_multiplier +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 2 +min = 0 +max = 3 +interval = 1 +str = STR_SUBSIDY_X1_5 +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.construction_cost +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NS +def = 0 +min = 0 +max = 2 +interval = 1 +str = STR_SEA_LEVEL_LOW +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.terrain_type +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NG +def = 1 +min = 0 +max = 3 +interval = 1 +str = STR_TERRAIN_TYPE_VERY_FLAT +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.quantity_sea_lakes +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NG +def = 0 +min = 0 +max = 4 +interval = 1 +str = STR_SEA_LEVEL_VERY_LOW +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.economy +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 0 +min = 0 +max = 1 +interval = 1 +str = STR_ECONOMY_STEADY +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.line_reverse_mode +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 0 +min = 0 +max = 1 +interval = 1 +str = STR_REVERSE_AT_END_OF_LINE_AND_AT_STATIONS +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.disasters +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 0 +min = 0 +max = 1 +interval = 1 +str = STR_DISASTERS_OFF +proc = DifficultyChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.town_council_tolerance +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 0 +min = 0 +max = 2 +interval = 1 +str = STR_CITY_APPROVAL_PERMISSIVE +proc = DifficultyNoiseChange + +[SDT_CONDVAR] +base = GameSettings +var = difficulty.diff_level +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 3 +min = 0 +max = 3 +interval = 0 +str = STR_NULL +proc = DifficultyReset + +; 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_CONDOMANY] +base = GameSettings +var = game_creation.town_name +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = 0 +max = 255 +full = _town_names +str = STR_NULL +proc = NULL +load = NULL + +[SDT_CONDOMANY] +base = GameSettings +var = game_creation.landscape +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = 0 +max = 3 +full = _climates +str = STR_NULL +proc = NULL +load = ConvertLandscape + +[SDT_CONDVAR] +base = GameSettings +var = game_creation.snow_line +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = DEF_SNOWLINE_HEIGHT * TILE_HEIGHT +min = MIN_SNOWLINE_HEIGHT * TILE_HEIGHT +max = MAX_SNOWLINE_HEIGHT * TILE_HEIGHT +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDOMANY] +base = GameSettings +var = vehicle.road_side +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = 1 +max = 1 +full = _roadsides +str = STR_NULL +proc = CheckRoadSide +load = NULL + +; Construction + +[SDT_BOOL] +base = GameSettings +var = construction.build_on_slopes +flags = 0 +guiflags = NN +def = true +str = STR_CONFIG_SETTING_BUILDONSLOPES +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = construction.command_pause_level +type = SLE_UINT8 +from = 154 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS|NN +def = 1 +min = 0 +max = 3 +interval = 1 +str = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = construction.terraform_per_64k_frames +type = SLE_UINT32 +from = 156 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 64 << 16 +min = 0 +max = 1 << 30 +interval = 1 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = construction.terraform_frame_burst +type = SLE_UINT16 +from = 156 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 4096 +min = 0 +max = 1 << 30 +interval = 1 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = construction.clear_per_64k_frames +type = SLE_UINT32 +from = 156 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 64 << 16 +min = 0 +max = 1 << 30 +interval = 1 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = construction.clear_frame_burst +type = SLE_UINT16 +from = 156 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 4096 +min = 0 +max = 1 << 30 +interval = 1 +str = STR_NULL +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = construction.autoslope +from = 75 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_AUTOSLOPE +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = construction.extra_dynamite +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_EXTRADYNAMITE +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = construction.max_bridge_length +type = SLE_UINT16 +from = 159 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = 64 +min = 1 +max = 2048 +interval = 1 +str = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = construction.max_tunnel_length +type = SLE_UINT16 +from = 159 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = 64 +min = 1 +max = 2048 +interval = 1 +str = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH +proc = NULL + +# construction.longbridges +[SDT_CONDNULL] +length = 1 +from = 0 +to = 158 + +[SDT_BOOL] +base = GameSettings +var = construction.signal_side +flags = N +guiflags = NN +def = true +str = STR_CONFIG_SETTING_SIGNALSIDE +proc = RedrawScreen + +[SDT_BOOL] +base = GameSettings +var = station.never_expire_airports +flags = 0 +guiflags = NN +def = false +str = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = economy.town_layout +type = SLE_UINT8 +from = 59 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = TL_ORIGINAL +min = TL_BEGIN +max = NUM_TLS - 1 +interval = 1 +str = STR_CONFIG_SETTING_TOWN_LAYOUT +proc = TownFoundingChanged + +[SDT_CONDBOOL] +base = GameSettings +var = economy.allow_town_roads +from = 113 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = true +str = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = economy.found_town +type = SLE_UINT8 +from = 128 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = TF_FORBIDDEN +min = TF_BEGIN +max = TF_END - 1 +interval = 1 +str = STR_CONFIG_SETTING_TOWN_FOUNDING +proc = TownFoundingChanged + +[SDT_CONDBOOL] +base = GameSettings +var = economy.allow_town_level_crossings +from = 143 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = true +str = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS +proc = NULL + +; Vehicles + +[SDT_VAR] +base = GameSettings +var = vehicle.train_acceleration_model +type = SLE_UINT8 +flags = 0 +guiflags = MS +def = 0 +min = 0 +max = 1 +interval = 1 +str = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL +proc = TrainAccelerationModelChanged + +[SDT_CONDVAR] +base = GameSettings +var = vehicle.roadveh_acceleration_model +type = SLE_UINT8 +from = 139 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 0 +min = 0 +max = 1 +interval = 1 +str = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL +proc = RoadVehAccelerationModelChanged + +[SDT_CONDVAR] +base = GameSettings +var = vehicle.train_slope_steepness +type = SLE_UINT8 +from = 133 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 3 +min = 0 +max = 10 +interval = 1 +str = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS +proc = TrainSlopeSteepnessChanged + +[SDT_CONDVAR] +base = GameSettings +var = vehicle.roadveh_slope_steepness +type = SLE_UINT8 +from = 139 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 7 +min = 0 +max = 10 +interval = 1 +str = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS +proc = RoadVehSlopeSteepnessChanged + +[SDT_BOOL] +base = GameSettings +var = pf.forbid_90_deg +flags = 0 +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_FORBID_90_DEG +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = vehicle.max_train_length +type = SLE_UINT8 +from = 159 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 7 +min = 1 +max = 64 +interval = 1 +str = STR_CONFIG_SETTING_TRAIN_LENGTH +proc = NULL + +; vehicle.mammoth_trains +[SDT_CONDNULL] +length = 1 +from = 0 +to = 158 + +[SDT_CONDVAR] +base = GameSettings +var = vehicle.smoke_amount +type = SLE_UINT8 +from = 145 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 1 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_SMOKE_AMOUNT +proc = NULL + +; order.gotodepot +[SDT_CONDNULL] +length = 1 +from = 0 +to = 158 + +; path finder + +[SDT_BOOL] +base = GameSettings +var = pf.roadveh_queue +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_ROAD_VEHICLE_QUEUEING +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = pf.new_pathfinding_all +from = 0 +to = 86 +flags = 0 +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = pf.yapf.ship_use_yapf +from = 28 +to = 86 +flags = 0 +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = pf.yapf.road_use_yapf +from = 28 +to = 86 +flags = 0 +guiflags = 0 +def = true +str = STR_NULL +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = pf.yapf.rail_use_yapf +from = 28 +to = 86 +flags = 0 +guiflags = 0 +def = true +str = STR_NULL +proc = NULL + +## +[SDT_CONDVAR] +base = GameSettings +var = pf.pathfinder_for_trains +type = SLE_UINT8 +from = 87 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 2 +min = 1 +max = 2 +interval = 1 +str = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.pathfinder_for_roadvehs +type = SLE_UINT8 +from = 87 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 2 +min = 1 +max = 2 +interval = 1 +str = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.pathfinder_for_ships +type = SLE_UINT8 +from = 87 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 0 +min = 0 +max = 2 +interval = 1 +str = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = vehicle.never_expire_vehicles +flags = 0 +guiflags = NN +def = false +str = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES +proc = NULL + +[SDT_VAR] +base = GameSettings +var = vehicle.max_trains +type = SLE_UINT16 +flags = 0 +guiflags = 0 +def = 500 +min = 0 +max = 5000 +interval = 0 +str = STR_CONFIG_SETTING_MAX_TRAINS +proc = RedrawScreen + +[SDT_VAR] +base = GameSettings +var = vehicle.max_roadveh +type = SLE_UINT16 +flags = 0 +guiflags = 0 +def = 500 +min = 0 +max = 5000 +interval = 0 +str = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES +proc = RedrawScreen + +[SDT_VAR] +base = GameSettings +var = vehicle.max_aircraft +type = SLE_UINT16 +flags = 0 +guiflags = 0 +def = 200 +min = 0 +max = 5000 +interval = 0 +str = STR_CONFIG_SETTING_MAX_AIRCRAFT +proc = RedrawScreen + +[SDT_VAR] +base = GameSettings +var = vehicle.max_ships +type = SLE_UINT16 +flags = 0 +guiflags = 0 +def = 300 +min = 0 +max = 5000 +interval = 0 +str = STR_CONFIG_SETTING_MAX_SHIPS +proc = RedrawScreen + +[SDTG_CONDBOOL] +name = NULL +flags = 0 +guiflags = NN +var = _old_vds.servint_ispercent +def = false +str = STR_NULL +proc = NULL +from = 0 +to = 119 + +[SDTG_CONDVAR] +name = NULL +type = SLE_UINT16 +flags = 0 +guiflags = D0 +var = _old_vds.servint_trains +def = 150 +min = 5 +max = 800 +interval = 0 +str = STR_NULL +proc = NULL +from = 0 +to = 119 + +[SDTG_CONDVAR] +name = NULL +type = SLE_UINT16 +flags = 0 +guiflags = D0 +var = _old_vds.servint_roadveh +def = 150 +min = 5 +max = 800 +interval = 0 +str = STR_NULL +proc = NULL +from = 0 +to = 119 + +[SDTG_CONDVAR] +name = NULL +type = SLE_UINT16 +flags = 0 +guiflags = D0 +var = _old_vds.servint_ships +def = 360 +min = 5 +max = 800 +interval = 0 +str = STR_NULL +proc = NULL +from = 0 +to = 119 + +[SDTG_CONDVAR] +name = NULL +type = SLE_UINT16 +flags = 0 +guiflags = D0 +var = _old_vds.servint_aircraft +def = 150 +min = 5 +max = 800 +interval = 0 +str = STR_NULL +proc = NULL +from = 0 +to = 119 + +[SDT_BOOL] +base = GameSettings +var = order.no_servicing_if_no_breakdowns +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_NOSERVICE +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = vehicle.wagon_speed_limits +flags = 0 +guiflags = NN +def = true +str = STR_CONFIG_SETTING_WAGONSPEEDLIMITS +proc = UpdateConsists + +[SDT_CONDBOOL] +base = GameSettings +var = vehicle.disable_elrails +from = 38 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = false +str = STR_CONFIG_SETTING_DISABLE_ELRAILS +proc = SettingsDisableElrail + +[SDT_CONDVAR] +base = GameSettings +var = vehicle.freight_trains +type = SLE_UINT8 +from = 39 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = 1 +min = 1 +max = 255 +interval = 1 +str = STR_CONFIG_SETTING_FREIGHT_TRAINS +proc = UpdateConsists + +; order.timetabling +[SDT_CONDNULL] +length = 1 +from = 67 +to = 158 + +[SDT_CONDVAR] +base = GameSettings +var = vehicle.plane_speed +type = SLE_UINT8 +from = 90 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = 4 +min = 1 +max = 4 +interval = 0 +str = STR_CONFIG_SETTING_PLANE_SPEED +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = vehicle.dynamic_engines +from = 95 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = true +str = STR_CONFIG_SETTING_DYNAMIC_ENGINES +proc = ChangeDynamicEngines + +[SDT_CONDVAR] +base = GameSettings +var = vehicle.plane_crashes +type = SLE_UINT8 +from = 138 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 2 +min = 0 +max = 2 +interval = 1 +str = STR_CONFIG_SETTING_PLANE_CRASHES +proc = NULL + +; station.join_stations +[SDT_CONDNULL] +length = 1 +from = 0 +to = 158 + +[SDTC_CONDBOOL] +var = gui.sg_full_load_any +from = 22 +to = 92 +flags = 0 +guiflags = 0 +def = true +str = STR_NULL +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = order.improved_load +flags = 0 +guiflags = NN +def = true +str = STR_CONFIG_SETTING_IMPROVEDLOAD +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = order.selectgoods +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_SELECTGOODS +proc = NULL + +[SDTC_CONDBOOL] +var = gui.sg_new_nonstop +from = 22 +to = 92 +flags = 0 +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +; station.nonuniform_stations +[SDT_CONDNULL] +length = 1 +from = 0 +to = 158 + +[SDT_VAR] +base = GameSettings +var = station.station_spread +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = 12 +min = 4 +max = 64 +interval = 0 +str = STR_CONFIG_SETTING_STATION_SPREAD +proc = InvalidateStationBuildWindow + +[SDT_BOOL] +base = GameSettings +var = order.serviceathelipad +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_SERVICEATHELIPAD +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = station.modified_catchment +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_CATCHMENT +proc = StationCatchmentChanged + +[SDT_CONDBOOL] +base = GameSettings +var = order.gradual_loading +from = 40 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = true +str = STR_CONFIG_SETTING_GRADUAL_LOADING +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = construction.road_stop_on_town_road +from = 47 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = construction.road_stop_on_competitor_road +from = 114 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = station.adjacent_stations +from = 62 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_ADJACENT_STATIONS +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = economy.station_noise_level +from = 96 +to = SL_MAX_VERSION +flags = 0 +guiflags = NN +def = false +str = STR_CONFIG_SETTING_NOISE_LEVEL +proc = InvalidateTownViewWindow + +[SDT_CONDBOOL] +base = GameSettings +var = station.distant_join_stations +from = 106 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS +proc = DeleteSelectStationWindow + +## +[SDT_BOOL] +base = GameSettings +var = economy.inflation +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_INFLATION +proc = NULL + +[SDT_VAR] +base = GameSettings +var = construction.raw_industry_construction +type = SLE_UINT8 +flags = 0 +guiflags = MS +def = 0 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD +proc = InvalidateBuildIndustryWindow + +[SDT_CONDVAR] +base = GameSettings +var = construction.industry_platform +type = SLE_UINT8 +from = 148 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 1 +min = 0 +max = 4 +interval = 0 +str = STR_CONFIG_SETTING_INDUSTRY_PLATFORM +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = economy.multiple_industry_per_town +flags = 0 +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_MULTIPINDTOWN +proc = NULL + +[SDT_CONDNULL] +length = 1 +from = 0 +to = 140 + +[SDT_BOOL] +base = GameSettings +var = economy.bribe +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_BRIBE +proc = RedrawTownAuthority + +[SDT_CONDBOOL] +base = GameSettings +var = economy.exclusive_rights +from = 79 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE +proc = RedrawTownAuthority + +[SDT_CONDBOOL] +base = GameSettings +var = economy.fund_roads +from = 160 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_ALLOW_FUND_ROAD +proc = RedrawTownAuthority + +[SDT_CONDBOOL] +base = GameSettings +var = economy.give_money +from = 79 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_ALLOW_GIVE_MONEY +proc = NULL + +[SDT_VAR] +base = GameSettings +var = game_creation.snow_line_height +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = DEF_SNOWLINE_HEIGHT +min = MIN_SNOWLINE_HEIGHT +max = MAX_SNOWLINE_HEIGHT +interval = 0 +str = STR_CONFIG_SETTING_SNOWLINE_HEIGHT +proc = NULL + +[SDT_CONDNULL] +length = 4 +from = 0 +to = 143 + +[SDT_VAR] +base = GameSettings +var = game_creation.starting_year +type = SLE_INT32 +flags = 0 +guiflags = NC +def = DEF_START_YEAR +min = MIN_YEAR +max = MAX_YEAR +interval = 1 +str = STR_CONFIG_SETTING_STARTING_YEAR +proc = NULL + +[SDT_CONDNULL] +length = 4 +from = 0 +to = 104 + +[SDT_BOOL] +base = GameSettings +var = economy.smooth_economy +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_SMOOTH_ECONOMY +proc = InvalidateIndustryViewWindow + +[SDT_BOOL] +base = GameSettings +var = economy.allow_shares +flags = 0 +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_ALLOW_SHARES +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = economy.feeder_payment_share +type = SLE_UINT8 +from = 134 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 75 +min = 0 +max = 100 +interval = 0 +str = STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = economy.town_growth_rate +type = SLE_UINT8 +from = 54 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 2 +min = 0 +max = 4 +interval = 0 +str = STR_CONFIG_SETTING_TOWN_GROWTH +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = economy.larger_towns +type = SLE_UINT8 +from = 54 +to = SL_MAX_VERSION +flags = 0 +guiflags = D0 +def = 4 +min = 0 +max = 255 +interval = 1 +str = STR_CONFIG_SETTING_LARGER_TOWNS +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = economy.initial_city_size +type = SLE_UINT8 +from = 56 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 2 +min = 1 +max = 10 +interval = 1 +str = STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = economy.mod_road_rebuild +from = 77 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD +proc = NULL + +; previously ai-new setting. +[SDT_CONDNULL] +length = 1 +from = 0 +to = 106 + +[SDT_BOOL] +base = GameSettings +var = ai.ai_in_multiplayer +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_AI_IN_MULTIPLAYER +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = ai.ai_disable_veh_train +flags = 0 +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_AI_BUILDS_TRAINS +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = ai.ai_disable_veh_roadveh +flags = 0 +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = ai.ai_disable_veh_aircraft +flags = 0 +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT +proc = NULL + +[SDT_BOOL] +base = GameSettings +var = ai.ai_disable_veh_ship +flags = 0 +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_AI_BUILDS_SHIPS +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = ai.ai_max_opcode_till_suspend +type = SLE_UINT32 +from = 107 +to = SL_MAX_VERSION +flags = 0 +guiflags = NG +def = 10000 +min = 5000 +max = 250000 +interval = 2500 +str = STR_CONFIG_SETTING_AI_MAX_OPCODES +proc = NULL + +## +[SDT_VAR] +base = GameSettings +var = vehicle.extend_vehicle_life +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = 0 +min = 0 +max = 100 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = economy.dist_local_authority +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = 20 +min = 5 +max = 60 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = pf.reverse_at_signals +from = 159 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_REVERSE_AT_SIGNALS +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.wait_oneway_signal +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = 15 +min = 2 +max = 255 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.wait_twoway_signal +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = 41 +min = 2 +max = 255 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = economy.town_noise_population[0] +type = SLE_UINT16 +from = 96 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 800 +min = 200 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = economy.town_noise_population[1] +type = SLE_UINT16 +from = 96 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 2000 +min = 400 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = economy.town_noise_population[2] +type = SLE_UINT16 +from = 96 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 4000 +min = 800 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +## +[SDT_CONDVAR] +base = GameSettings +var = pf.wait_for_pbs_path +type = SLE_UINT8 +from = 100 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 30 +min = 2 +max = 255 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = pf.reserve_paths +from = 100 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.path_backoff_interval +type = SLE_UINT8 +from = 100 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 20 +min = 1 +max = 255 +interval = 0 +str = STR_NULL +proc = NULL + +## +[SDT_VAR] +base = GameSettings +var = pf.opf.pf_maxlength +type = SLE_UINT16 +flags = 0 +guiflags = 0 +def = 4096 +min = 64 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.opf.pf_maxdepth +type = SLE_UINT8 +flags = 0 +guiflags = 0 +def = 48 +min = 4 +max = 255 +interval = 0 +str = STR_NULL +proc = NULL + +## +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_max_search_nodes +type = SLE_UINT +flags = 0 +guiflags = 0 +def = 10000 +min = 500 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_rail_firstred_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = ( 10 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_rail_firstred_exit_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = (100 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_rail_lastred_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = ( 10 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_rail_station_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = ( 1 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_rail_slope_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = ( 1 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_rail_curve_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = ( 1 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_rail_depot_reverse_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = ( 50 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.npf.npf_rail_pbs_cross_penalty +type = SLE_UINT +from = 100 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = ( 3 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.npf.npf_rail_pbs_signal_back_penalty +type = SLE_UINT +from = 100 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = ( 15 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_buoy_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = ( 2 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_water_curve_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = ( 1 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_road_curve_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = ( 1 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = pf.npf.npf_crossing_penalty +type = SLE_UINT +flags = 0 +guiflags = 0 +def = ( 3 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.npf.npf_road_drive_through_penalty +type = SLE_UINT +from = 47 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = ( 8 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.npf.npf_road_dt_occupied_penalty +type = SLE_UINT +from = 130 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = ( 8 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.npf.npf_road_bay_occupied_penalty +type = SLE_UINT +from = 130 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = ( 15 * NPF_TILE_LENGTH) +min = 0 +max = 100000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.npf.maximum_go_to_depot_penalty +type = SLE_UINT +from = 131 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = ( 20 * NPF_TILE_LENGTH) +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +## +[SDT_CONDBOOL] +base = GameSettings +var = pf.yapf.disable_node_optimization +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.max_search_nodes +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 10000 +min = 500 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = pf.yapf.rail_firstred_twoway_eol +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_firstred_penalty +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 10 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_firstred_exit_penalty +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 100 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_lastred_penalty +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 10 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_lastred_exit_penalty +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 100 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_station_penalty +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 10 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_slope_penalty +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 2 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_curve45_penalty +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 1 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_curve90_penalty +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 6 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_depot_reverse_penalty +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 50 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_crossing_penalty +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 3 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_look_ahead_max_signals +type = SLE_UINT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 10 +min = 1 +max = 100 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_look_ahead_signal_p0 +type = SLE_INT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 500 +min = -1000000 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_look_ahead_signal_p1 +type = SLE_INT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = -100 +min = -1000000 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_look_ahead_signal_p2 +type = SLE_INT +from = 28 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 5 +min = -1000000 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_pbs_cross_penalty +type = SLE_UINT +from = 100 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 3 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_pbs_station_penalty +type = SLE_UINT +from = 100 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 8 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_pbs_signal_back_penalty +type = SLE_UINT +from = 100 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 15 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_doubleslip_penalty +type = SLE_UINT +from = 100 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 1 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_longer_platform_penalty +type = SLE_UINT +from = 33 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 8 * YAPF_TILE_LENGTH +min = 0 +max = 20000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_longer_platform_per_tile_penalty +type = SLE_UINT +from = 33 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 0 * YAPF_TILE_LENGTH +min = 0 +max = 20000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_shorter_platform_penalty +type = SLE_UINT +from = 33 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 40 * YAPF_TILE_LENGTH +min = 0 +max = 20000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.rail_shorter_platform_per_tile_penalty +type = SLE_UINT +from = 33 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 0 * YAPF_TILE_LENGTH +min = 0 +max = 20000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.road_slope_penalty +type = SLE_UINT +from = 33 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 2 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.road_curve_penalty +type = SLE_UINT +from = 33 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 1 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.road_crossing_penalty +type = SLE_UINT +from = 33 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 3 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.road_stop_penalty +type = SLE_UINT +from = 47 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 8 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.road_stop_occupied_penalty +type = SLE_UINT +from = 130 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 8 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.road_stop_bay_occupied_penalty +type = SLE_UINT +from = 130 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 15 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = pf.yapf.maximum_go_to_depot_penalty +type = SLE_UINT +from = 131 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 20 * YAPF_TILE_LENGTH +min = 0 +max = 1000000 +interval = 0 +str = STR_NULL +proc = NULL + +## +[SDT_CONDVAR] +base = GameSettings +var = game_creation.land_generator +type = SLE_UINT8 +from = 30 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 1 +min = 0 +max = 1 +interval = 0 +str = STR_CONFIG_SETTING_LAND_GENERATOR +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = game_creation.oil_refinery_limit +type = SLE_UINT8 +from = 30 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 32 +min = 12 +max = 48 +interval = 0 +str = STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = game_creation.tgen_smoothness +type = SLE_UINT8 +from = 30 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 1 +min = 0 +max = 3 +interval = 0 +str = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN +proc = NULL + +[SDT_VAR] +base = GameSettings +var = game_creation.variety +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 0 +min = 0 +max = 5 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = game_creation.generation_seed +type = SLE_UINT32 +from = 30 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = GENERATE_NEW_SEED +min = 0 +max = UINT32_MAX +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = game_creation.tree_placer +type = SLE_UINT8 +from = 30 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 2 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_TREE_PLACER +proc = NULL + +[SDT_VAR] +base = GameSettings +var = game_creation.heightmap_rotation +type = SLE_UINT8 +flags = S +guiflags = MS +def = 0 +min = 0 +max = 1 +interval = 0 +str = STR_CONFIG_SETTING_HEIGHTMAP_ROTATION +proc = NULL + +[SDT_VAR] +base = GameSettings +var = game_creation.se_flat_world_height +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 1 +min = 0 +max = 15 +interval = 0 +str = STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT +proc = NULL + +## +[SDT_VAR] +base = GameSettings +var = game_creation.map_x +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 8 +min = MIN_MAP_SIZE_BITS +max = MAX_MAP_SIZE_BITS +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_VAR] +base = GameSettings +var = game_creation.map_y +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 8 +min = MIN_MAP_SIZE_BITS +max = MAX_MAP_SIZE_BITS +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDBOOL] +base = GameSettings +var = construction.freeform_edges +from = 111 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_ENABLE_FREEFORM_EDGES +proc = CheckFreeformEdges + +[SDT_CONDVAR] +base = GameSettings +var = game_creation.water_borders +type = SLE_UINT8 +from = 111 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 15 +min = 0 +max = 16 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = game_creation.custom_town_number +type = SLE_UINT16 +from = 115 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 1 +min = 1 +max = 5000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = construction.extra_tree_placement +type = SLE_UINT8 +from = 132 +to = SL_MAX_VERSION +flags = 0 +guiflags = MS +def = 2 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT +proc = NULL + +[SDT_CONDVAR] +base = GameSettings +var = game_creation.custom_sea_level +type = SLE_UINT8 +from = 149 +to = SL_MAX_VERSION +flags = 0 +guiflags = 0 +def = 1 +min = 2 +max = 90 +interval = 0 +str = STR_NULL +proc = NULL + +; locale + +[SDT_CONDOMANY] +base = GameSettings +var = locale.currency +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = N +guiflags = 0 +def = 0 +max = CUSTOM_CURRENCY_ID +full = _locale_currencies +str = STR_NULL +proc = RedrawScreen +load = NULL + +[SDT_CONDOMANY] +base = GameSettings +var = locale.units +type = SLE_UINT8 +from = 97 +to = SL_MAX_VERSION +flags = N +guiflags = 0 +def = 1 +max = 2 +full = _locale_units +str = STR_NULL +proc = RedrawScreen +load = NULL + +[SDT_CONDSTR] +base = GameSettings +var = locale.digit_group_separator +type = SLE_STRQ +from = 118 +to = SL_MAX_VERSION +flags = N +guiflags = 0 +def = NULL +str = STR_NULL +proc = RedrawScreen + +[SDT_CONDSTR] +base = GameSettings +var = locale.digit_group_separator_currency +type = SLE_STRQ +from = 118 +to = SL_MAX_VERSION +flags = N +guiflags = 0 +def = NULL +str = STR_NULL +proc = RedrawScreen + +[SDT_CONDSTR] +base = GameSettings +var = locale.digit_decimal_separator +type = SLE_STRQ +from = 126 +to = SL_MAX_VERSION +flags = N +guiflags = 0 +def = NULL +str = STR_NULL +proc = RedrawScreen + + +;*************************************************************************** +; Unsaved setting variables. + +[SDTC_OMANY] +var = gui.autosave +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 1 +max = 4 +full = _autosave_interval +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +var = gui.threaded_saves +flags = S +guiflags = 0 +def = true +str = STR_NULL +proc = NULL + +[SDTC_OMANY] +var = gui.date_format_in_default_names +type = SLE_UINT8 +flags = S +guiflags = MS +def = 0 +max = 2 +full = _savegame_date +str = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES +proc = NULL + +[SDTC_BOOL] +var = gui.show_finances +flags = S +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_SHOWFINANCES +proc = NULL + +[SDTC_BOOL] +var = gui.autoscroll +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_AUTOSCROLL +proc = NULL + +[SDTC_BOOL] +var = gui.reverse_scroll +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_REVERSE_SCROLLING +proc = NULL + +[SDTC_BOOL] +var = gui.smooth_scroll +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_SMOOTH_SCROLLING +proc = NULL + +[SDTC_BOOL] +var = gui.left_mouse_btn_scrolling +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING +proc = NULL + +[SDTC_BOOL] +var = gui.measure_tooltip +flags = S +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_MEASURE_TOOLTIP +proc = NULL + +[SDTC_VAR] +var = gui.errmsg_duration +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 5 +min = 0 +max = 20 +interval = 0 +str = STR_CONFIG_SETTING_ERRMSG_DURATION +proc = NULL + +[SDTC_VAR] +var = gui.hover_delay +type = SLE_UINT8 +flags = S +guiflags = D0 +def = 2 +min = 1 +max = 5 +interval = 0 +str = STR_CONFIG_SETTING_HOVER_DELAY +proc = NULL + +[SDTC_VAR] +var = gui.toolbar_pos +type = SLE_UINT8 +flags = S +guiflags = MS +def = 1 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_TOOLBAR_POS +proc = v_PositionMainToolbar + +[SDTC_VAR] +var = gui.statusbar_pos +type = SLE_UINT8 +flags = S +guiflags = MS +def = 1 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_STATUSBAR_POS +proc = v_PositionStatusbar + +[SDTC_VAR] +var = gui.window_snap_radius +type = SLE_UINT8 +flags = S +guiflags = D0 +def = 10 +min = 1 +max = 32 +interval = 0 +str = STR_CONFIG_SETTING_SNAP_RADIUS +proc = NULL + +[SDTC_VAR] +var = gui.window_soft_limit +type = SLE_UINT8 +flags = S +guiflags = D0 +def = 20 +min = 5 +max = 255 +interval = 1 +str = STR_CONFIG_SETTING_SOFT_LIMIT +proc = NULL + +[SDTC_BOOL] +var = gui.population_in_label +flags = S +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_POPULATION_IN_LABEL +proc = PopulationInLabelActive + +[SDTC_BOOL] +var = gui.link_terraform_toolbar +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR +proc = NULL + +[SDTC_VAR] +var = gui.smallmap_land_colour +type = SLE_UINT8 +flags = S +guiflags = MS +def = 0 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR +proc = RedrawSmallmap + +[SDTC_VAR] +var = gui.liveries +type = SLE_UINT8 +flags = S +guiflags = MS +def = 2 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_LIVERIES +proc = InvalidateCompanyLiveryWindow + +[SDTC_BOOL] +var = gui.prefer_teamchat +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_PREFER_TEAMCHAT +proc = NULL + +[SDTC_VAR] +var = gui.scrollwheel_scrolling +type = SLE_UINT8 +flags = S +guiflags = MS +def = 0 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING +proc = NULL + +[SDTC_VAR] +var = gui.scrollwheel_multiplier +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 5 +min = 1 +max = 15 +interval = 1 +str = STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER +proc = NULL + +[SDTC_BOOL] +var = gui.pause_on_newgame +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME +proc = NULL + +[SDTC_VAR] +var = gui.advanced_vehicle_list +type = SLE_UINT8 +flags = S +guiflags = MS +def = 1 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS +proc = NULL + +[SDTC_BOOL] +var = gui.timetable_in_ticks +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_TIMETABLE_IN_TICKS +proc = InvalidateVehTimetableWindow + +[SDTC_BOOL] +var = gui.timetable_arrival_departure +flags = S +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE +proc = InvalidateVehTimetableWindow + +[SDTC_BOOL] +var = gui.quick_goto +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_QUICKGOTO +proc = NULL + +[SDTC_VAR] +var = gui.loading_indicators +type = SLE_UINT8 +flags = S +guiflags = MS +def = 1 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_LOADING_INDICATORS +proc = RedrawScreen + +[SDTC_VAR] +var = gui.default_rail_type +type = SLE_UINT8 +flags = S +guiflags = MS +def = 0 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE +proc = NULL + +[SDTC_BOOL] +var = gui.enable_signal_gui +flags = S +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI +proc = CloseSignalGUI + +[SDTC_VAR] +var = gui.coloured_news_year +type = SLE_INT32 +flags = S +guiflags = NC +def = 2000 +min = MIN_YEAR +max = MAX_YEAR +interval = 1 +str = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR +proc = NULL + +[SDTC_VAR] +var = gui.drag_signals_density +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 4 +min = 1 +max = 20 +interval = 0 +str = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY +proc = DragSignalsDensityChanged + +[SDTC_VAR] +var = gui.semaphore_build_before +type = SLE_INT32 +flags = S +guiflags = NC +def = 1950 +min = MIN_YEAR +max = MAX_YEAR +interval = 1 +str = STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE +proc = ResetSignalVariant + +[SDTC_BOOL] +var = gui.vehicle_income_warn +flags = S +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_WARN_INCOME_LESS +proc = NULL + +[SDTC_VAR] +var = gui.order_review_system +type = SLE_UINT8 +flags = S +guiflags = MS +def = 2 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_ORDER_REVIEW +proc = NULL + +[SDTC_BOOL] +var = gui.lost_vehicle_warn +flags = S +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_WARN_LOST_VEHICLE +proc = NULL + +[SDTC_BOOL] +var = gui.disable_unsuitable_building +flags = S +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING +proc = RedrawScreen + +[SDTC_BOOL] +var = gui.new_nonstop +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT +proc = NULL + +[SDTC_VAR] +var = gui.stop_location +type = SLE_UINT8 +flags = S +guiflags = MS +def = 2 +min = 0 +max = 2 +interval = 1 +str = STR_CONFIG_SETTING_STOP_LOCATION +proc = NULL + +[SDTC_BOOL] +var = gui.keep_all_autosave +flags = S +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +var = gui.autosave_on_exit +flags = S +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDTC_VAR] +var = gui.max_num_autosaves +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 16 +min = 0 +max = 255 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +var = gui.auto_euro +flags = S +guiflags = 0 +def = true +str = STR_NULL +proc = NULL + +[SDTC_VAR] +var = gui.news_message_timeout +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 2 +min = 1 +max = 255 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +var = gui.show_track_reservation +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION +proc = RedrawScreen + +[SDTC_VAR] +var = gui.default_signal_type +type = SLE_UINT8 +flags = S +guiflags = MS +def = 1 +min = 0 +max = 2 +interval = 1 +str = STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE +proc = NULL + +[SDTC_VAR] +var = gui.cycle_signal_types +type = SLE_UINT8 +flags = S +guiflags = MS +def = 2 +min = 0 +max = 2 +interval = 1 +str = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES +proc = NULL + +[SDTC_VAR] +var = gui.station_numtracks +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 1 +min = 1 +max = 7 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +var = gui.station_platlength +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 5 +min = 1 +max = 7 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +var = gui.station_dragdrop +flags = S +guiflags = 0 +def = true +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +var = gui.station_show_coverage +flags = S +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +var = gui.persistent_buildingtools +flags = S +guiflags = 0 +def = true +str = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS +proc = NULL + +[SDTC_BOOL] +var = gui.expenses_layout +flags = S +guiflags = 0 +def = false +str = STR_CONFIG_SETTING_EXPENSES_LAYOUT +proc = RedrawScreen + + +; For the dedicated build we'll enable dates in logs by default. +[SDTC_BOOL] +ifdef = DEDICATED +var = gui.show_date_in_logs +flags = S +guiflags = 0 +def = true +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +ifndef = DEDICATED +var = gui.show_date_in_logs +flags = S +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDTC_VAR] +var = gui.developer +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 1 +min = 0 +max = 2 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +var = gui.newgrf_developer_tools +flags = S +guiflags = 0 +def = false +str = STR_NULL +proc = InvalidateNewGRFChangeWindows + +[SDTC_BOOL] +var = gui.ai_developer_tools +flags = S +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +var = gui.scenario_developer +flags = S +guiflags = 0 +def = false +str = STR_NULL +proc = InvalidateNewGRFChangeWindows + +[SDTC_BOOL] +var = gui.newgrf_show_old_versions +flags = S +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +[SDTC_VAR] +var = gui.console_backlog_timeout +type = SLE_UINT16 +flags = S +guiflags = 0 +def = 100 +min = 10 +max = 65500 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +var = gui.console_backlog_length +type = SLE_UINT16 +flags = S +guiflags = 0 +def = 100 +min = 10 +max = 65500 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = gui.network_chat_box_width +type = SLE_UINT16 +flags = S +guiflags = 0 +def = 620 +min = 200 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = gui.network_chat_box_height +type = SLE_UINT8 +flags = S +guiflags = 0 +def = 25 +min = 5 +max = 255 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = gui.network_chat_timeout +type = SLE_UINT16 +flags = S +guiflags = 0 +def = 20 +min = 1 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.sync_freq +type = SLE_UINT16 +flags = C|S +guiflags = NO +def = 100 +min = 0 +max = 100 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.frame_freq +type = SLE_UINT8 +flags = C|S +guiflags = NO +def = 0 +min = 0 +max = 100 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.commands_per_frame +type = SLE_UINT16 +flags = S +guiflags = NO +def = 2 +min = 1 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.max_commands_in_queue +type = SLE_UINT16 +flags = S +guiflags = NO +def = 16 +min = 1 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.bytes_per_frame +type = SLE_UINT16 +flags = S +guiflags = NO +def = 8 +min = 1 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.bytes_per_frame_burst +type = SLE_UINT16 +flags = S +guiflags = NO +def = 256 +min = 1 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.max_join_time +type = SLE_UINT16 +flags = S +guiflags = NO +def = 500 +min = 0 +max = 32000 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +ifdef = ENABLE_NETWORK +var = network.pause_on_join +flags = S +guiflags = NO +def = true +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.server_port +type = SLE_UINT16 +flags = S +guiflags = NO +def = NETWORK_DEFAULT_PORT +min = 0 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.server_admin_port +type = SLE_UINT16 +flags = S +guiflags = NO +def = NETWORK_ADMIN_PORT +min = 0 +max = 65535 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +ifdef = ENABLE_NETWORK +var = network.server_admin_chat +flags = S +guiflags = NO +def = true +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +ifdef = ENABLE_NETWORK +var = network.server_advertise +flags = S +guiflags = NO +def = false +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.lan_internet +type = SLE_UINT8 +flags = S +guiflags = NO +def = 0 +min = 0 +max = 1 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_STR] +ifdef = ENABLE_NETWORK +var = network.client_name +type = SLE_STRB +flags = S +guiflags = 0 +def = NULL +str = STR_NULL +proc = UpdateClientName + +[SDTC_STR] +ifdef = ENABLE_NETWORK +var = network.server_password +type = SLE_STRB +flags = S +guiflags = NO +def = NULL +str = STR_NULL +proc = UpdateServerPassword + +[SDTC_STR] +ifdef = ENABLE_NETWORK +var = network.rcon_password +type = SLE_STRB +flags = S +guiflags = NO +def = NULL +str = STR_NULL +proc = UpdateRconPassword + +[SDTC_STR] +ifdef = ENABLE_NETWORK +var = network.admin_password +type = SLE_STRB +flags = S +guiflags = NO +def = NULL +str = STR_NULL +proc = NULL + +[SDTC_STR] +ifdef = ENABLE_NETWORK +var = network.default_company_pass +type = SLE_STRB +flags = S +guiflags = 0 +def = NULL +str = STR_NULL +proc = NULL + +[SDTC_STR] +ifdef = ENABLE_NETWORK +var = network.server_name +type = SLE_STRB +flags = S +guiflags = NO +def = NULL +str = STR_NULL +proc = NULL + +[SDTC_STR] +ifdef = ENABLE_NETWORK +var = network.connect_to_ip +type = SLE_STRB +flags = S +guiflags = 0 +def = NULL +str = STR_NULL +proc = NULL + +[SDTC_STR] +ifdef = ENABLE_NETWORK +var = network.network_id +type = SLE_STRB +flags = S +guiflags = NO +def = NULL +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +ifdef = ENABLE_NETWORK +var = network.autoclean_companies +flags = S +guiflags = NO +def = false +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.autoclean_unprotected +type = SLE_UINT8 +flags = S +guiflags = D0|NO +def = 12 +min = 0 +max = 240 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.autoclean_protected +type = SLE_UINT8 +flags = S +guiflags = D0|NO +def = 36 +min = 0 +max = 240 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.autoclean_novehicles +type = SLE_UINT8 +flags = S +guiflags = D0|NO +def = 0 +min = 0 +max = 240 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.max_companies +type = SLE_UINT8 +flags = S +guiflags = NO +def = 15 +min = 1 +max = MAX_COMPANIES +interval = 0 +str = STR_NULL +proc = UpdateClientConfigValues + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.max_clients +type = SLE_UINT8 +flags = S +guiflags = NO +def = 25 +min = 2 +max = MAX_CLIENTS +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.max_spectators +type = SLE_UINT8 +flags = S +guiflags = NO +def = 15 +min = 0 +max = MAX_CLIENTS +interval = 0 +str = STR_NULL +proc = UpdateClientConfigValues + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.restart_game_year +type = SLE_INT32 +flags = S +guiflags = D0|NO|NC +def = 0 +min = MIN_YEAR +max = MAX_YEAR +interval = 1 +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.min_active_clients +type = SLE_UINT8 +flags = S +guiflags = NO +def = 0 +min = 0 +max = MAX_CLIENTS +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_OMANY] +ifdef = ENABLE_NETWORK +var = network.server_lang +type = SLE_UINT8 +flags = S +guiflags = NO +def = 0 +max = 35 +full = _server_langs +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +ifdef = ENABLE_NETWORK +var = network.reload_cfg +flags = S +guiflags = NO +def = false +str = STR_NULL +proc = NULL + +[SDTC_STR] +ifdef = ENABLE_NETWORK +var = network.last_host +type = SLE_STRB +flags = S +guiflags = 0 +def = """" +str = STR_NULL +proc = NULL + +[SDTC_VAR] +ifdef = ENABLE_NETWORK +var = network.last_port +type = SLE_UINT16 +flags = S +guiflags = 0 +def = 0 +min = 0 +max = UINT16_MAX +interval = 0 +str = STR_NULL +proc = NULL + +[SDTC_BOOL] +ifdef = ENABLE_NETWORK +var = network.no_http_content_downloads +flags = S +guiflags = 0 +def = false +str = STR_NULL +proc = NULL + +; 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. + +; +; We might need to emulate a right mouse button on mac +[SDTC_VAR] +ifdef = __APPLE__ +var = gui.right_mouse_btn_emulation +type = SLE_UINT8 +flags = S +guiflags = MS +def = 0 +min = 0 +max = 2 +interval = 0 +str = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU +proc = NULL + +[SDT_END] + diff --git a/src/table/win32_settings.ini b/src/table/win32_settings.ini new file mode 100644 index 0000000000..5f713ecff1 --- /dev/null +++ b/src/table/win32_settings.ini @@ -0,0 +1,62 @@ +[pre-amble] +/* win32_v.cpp only settings */ +#if defined(WIN32) && !defined(DEDICATED) +extern bool _force_full_redraw, _window_maximize; +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, $proc), +SDTG_VAR = SDTG_VAR($name, $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $proc), +SDTG_END = SDTG_END() + + +[SDTG_VAR] +name = ""display_hz"" +type = SLE_UINT +flags = S +guiflags = 0 +var = _display_hz +def = 0 +min = 0 +max = 120 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTG_BOOL] +name = ""force_full_redraw"" +flags = S +guiflags = 0 +var = _force_full_redraw +def = false +str = STR_NULL +proc = NULL + +[SDTG_VAR] +name = ""fullscreen_bpp"" +type = SLE_UINT +flags = S +guiflags = 0 +var = _fullscreen_bpp +def = 8 +min = 8 +max = 32 +interval = 0 +str = STR_NULL +proc = NULL + +[SDTG_BOOL] +name = ""window_maximize"" +flags = S +guiflags = 0 +var = _window_maximize +def = false +str = STR_NULL +proc = NULL + +[SDTG_END] +