summaryrefslogtreecommitdiff
path: root/src/table/settings/difficulty_settings.ini
diff options
context:
space:
mode:
authorPatric Stout <truebrain@openttd.org>2021-07-09 21:16:03 +0200
committerGitHub <noreply@github.com>2021-07-09 21:16:03 +0200
commit8f5d0ecde39cbaf2ac1a6d27e82239bfc3bf1515 (patch)
tree232daba5b6f77f8ae33191c0b88dd21ef662a1c1 /src/table/settings/difficulty_settings.ini
parentd9ca9ca55571829af88429147e20bf0734e07e2d (diff)
downloadopenttd-8f5d0ecde39cbaf2ac1a6d27e82239bfc3bf1515.tar.xz
Codechange: split settings.ini over several files (#9421)
This reduced the load on compilers, as currently for example MacOS doesn't like the huge settings-tables. Additionally, nobody can find settings, as the list is massive and unordered. By splitting it, it becomes a little bit more sensible.
Diffstat (limited to 'src/table/settings/difficulty_settings.ini')
-rw-r--r--src/table/settings/difficulty_settings.ini286
1 files changed, 286 insertions, 0 deletions
diff --git a/src/table/settings/difficulty_settings.ini b/src/table/settings/difficulty_settings.ini
new file mode 100644
index 000000000..18d2ea7bb
--- /dev/null
+++ b/src/table/settings/difficulty_settings.ini
@@ -0,0 +1,286 @@
+; This file is part of OpenTTD.
+; OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
+; OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+; See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
+;
+
+; Difficulty settings as stored in the main configuration file ("openttd.cfg")
+; and in the savegame PATS chunk.
+
+[pre-amble]
+const std::array<std::string, GAME_DIFFICULTY_NUM> _old_diff_settings{"max_no_competitors", "competitor_start_time", "number_towns", "industry_density", "max_loan", "initial_interest", "vehicle_costs", "competitor_speed", "competitor_intelligence", "vehicle_breakdowns", "subsidy_multiplier", "construction_cost", "terrain_type", "quantity_sea_lakes", "economy", "line_reverse_mode", "disasters", "town_council_tolerance"};
+
+uint16 _old_diff_custom[GAME_DIFFICULTY_NUM];
+uint8 _old_diff_level; ///< Old difficulty level from old savegames
+
+static void DifficultyNoiseChange(int32 new_value);
+static void MaxNoAIsChange(int32 new_value);
+
+static const SettingVariant _difficulty_settings_table[] = {
+[post-amble]
+};
+[templates]
+SDTG_VAR = SDTG_VAR($name, $type, $flags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
+SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
+SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $cat, $extra, $startup),
+
+[validation]
+SDTG_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
+SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size");
+
+[defaults]
+flags = SF_NONE
+interval = 0
+str = STR_NULL
+strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
+strval = STR_NULL
+pre_cb = nullptr
+post_cb = nullptr
+load = nullptr
+from = SL_MIN_VERSION
+to = SL_MAX_VERSION
+cat = SC_ADVANCED
+extra = 0
+startup = false
+
+
+; Saved settings variables.
+; The next 18 entries are important for savegame compatibility. Do NOT remove those. See HandleOldDiffCustom() for more details.
+[SDT_VAR]
+var = difficulty.max_no_competitors
+type = SLE_UINT8
+from = SLV_97
+def = 0
+min = 0
+max = MAX_COMPANIES - 1
+interval = 1
+post_cb = MaxNoAIsChange
+cat = SC_BASIC
+
+[SDT_VAR]
+var = difficulty.competitor_start_time
+type = SLE_UINT8
+from = SLV_97
+to = SLV_110
+def = 2
+min = 0
+max = 3
+
+[SDT_VAR]
+var = difficulty.number_towns
+type = SLE_UINT8
+from = SLV_97
+flags = SF_NEWGAME_ONLY
+def = 2
+min = 0
+max = 4
+interval = 1
+strval = STR_NUM_VERY_LOW
+cat = SC_BASIC
+
+[SDT_VAR]
+var = difficulty.industry_density
+type = SLE_UINT8
+from = SLV_97
+flags = SF_GUI_DROPDOWN
+def = ID_END - 1
+min = 0
+max = ID_END - 1
+interval = 1
+str = STR_CONFIG_SETTING_INDUSTRY_DENSITY
+strhelp = STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT
+strval = STR_FUNDING_ONLY
+cat = SC_BASIC
+
+[SDT_VAR]
+var = difficulty.max_loan
+type = SLE_UINT32
+from = SLV_97
+flags = SF_NEWGAME_ONLY | SF_SCENEDIT_TOO | SF_GUI_CURRENCY
+def = 300000
+min = 0
+max = 2000000000
+interval = 50000
+str = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN
+strhelp = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT
+strval = STR_JUST_CURRENCY_LONG
+cat = SC_BASIC
+
+[SDT_VAR]
+var = difficulty.initial_interest
+type = SLE_UINT8
+from = SLV_97
+flags = SF_NEWGAME_ONLY | SF_SCENEDIT_TOO
+def = 2
+min = 2
+max = 4
+interval = 1
+str = STR_CONFIG_SETTING_INTEREST_RATE
+strhelp = STR_CONFIG_SETTING_INTEREST_RATE_HELPTEXT
+strval = STR_CONFIG_SETTING_PERCENTAGE
+
+[SDT_VAR]
+var = difficulty.vehicle_costs
+type = SLE_UINT8
+from = SLV_97
+flags = SF_NEWGAME_ONLY | SF_SCENEDIT_TOO | SF_GUI_DROPDOWN
+def = 0
+min = 0
+max = 2
+interval = 1
+str = STR_CONFIG_SETTING_RUNNING_COSTS
+strhelp = STR_CONFIG_SETTING_RUNNING_COSTS_HELPTEXT
+strval = STR_SEA_LEVEL_LOW
+cat = SC_BASIC
+
+[SDT_VAR]
+var = difficulty.competitor_speed
+type = SLE_UINT8
+from = SLV_97
+flags = SF_GUI_DROPDOWN
+def = 2
+min = 0
+max = 4
+interval = 1
+str = STR_CONFIG_SETTING_CONSTRUCTION_SPEED
+strhelp = STR_CONFIG_SETTING_CONSTRUCTION_SPEED_HELPTEXT
+strval = STR_AI_SPEED_VERY_SLOW
+cat = SC_BASIC
+
+[SDT_VAR]
+var = difficulty.competitor_intelligence
+type = SLE_UINT8
+from = SLV_97
+to = SLV_110
+def = 0
+min = 0
+max = 2
+
+[SDT_VAR]
+var = difficulty.vehicle_breakdowns
+type = SLE_UINT8
+from = SLV_97
+flags = SF_GUI_DROPDOWN
+def = 1
+min = 0
+max = 2
+interval = 1
+str = STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS
+strhelp = STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT
+strval = STR_DISASTER_NONE
+cat = SC_BASIC
+
+[SDT_VAR]
+var = difficulty.subsidy_multiplier
+type = SLE_UINT8
+from = SLV_97
+flags = SF_GUI_DROPDOWN
+def = 2
+min = 0
+max = 3
+interval = 1
+str = STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER
+strhelp = STR_CONFIG_SETTING_SUBSIDY_MULTIPLIER_HELPTEXT
+strval = STR_SUBSIDY_X1_5
+
+[SDT_VAR]
+var = difficulty.subsidy_duration
+type = SLE_UINT16
+from = SLV_CUSTOM_SUBSIDY_DURATION
+flags = SF_GUI_0_IS_SPECIAL
+def = 1
+min = 0
+max = 5000
+interval = 1
+str = STR_CONFIG_SETTING_SUBSIDY_DURATION
+strhelp = STR_CONFIG_SETTING_SUBSIDY_DURATION_HELPTEXT
+strval = STR_CONFIG_SETTING_SUBSIDY_DURATION_VALUE
+
+[SDT_VAR]
+var = difficulty.construction_cost
+type = SLE_UINT8
+from = SLV_97
+flags = SF_NEWGAME_ONLY | SF_SCENEDIT_TOO | SF_GUI_DROPDOWN
+def = 0
+min = 0
+max = 2
+interval = 1
+str = STR_CONFIG_SETTING_CONSTRUCTION_COSTS
+strhelp = STR_CONFIG_SETTING_CONSTRUCTION_COSTS_HELPTEXT
+strval = STR_SEA_LEVEL_LOW
+cat = SC_BASIC
+
+[SDT_VAR]
+var = difficulty.terrain_type
+type = SLE_UINT8
+from = SLV_97
+flags = SF_GUI_DROPDOWN | SF_NEWGAME_ONLY
+def = 1
+min = 0
+max = 5
+interval = 1
+str = STR_CONFIG_SETTING_TERRAIN_TYPE
+strhelp = STR_CONFIG_SETTING_TERRAIN_TYPE_HELPTEXT
+strval = STR_TERRAIN_TYPE_VERY_FLAT
+cat = SC_BASIC
+
+[SDT_VAR]
+var = difficulty.quantity_sea_lakes
+type = SLE_UINT8
+from = SLV_97
+flags = SF_NEWGAME_ONLY
+def = 0
+min = 0
+max = 4
+interval = 1
+strval = STR_SEA_LEVEL_VERY_LOW
+cat = SC_BASIC
+
+[SDT_BOOL]
+var = difficulty.economy
+from = SLV_97
+def = false
+str = STR_CONFIG_SETTING_RECESSIONS
+strhelp = STR_CONFIG_SETTING_RECESSIONS_HELPTEXT
+
+[SDT_BOOL]
+var = difficulty.line_reverse_mode
+from = SLV_97
+def = false
+str = STR_CONFIG_SETTING_TRAIN_REVERSING
+strhelp = STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT
+
+[SDT_BOOL]
+var = difficulty.disasters
+from = SLV_97
+def = false
+str = STR_CONFIG_SETTING_DISASTERS
+strhelp = STR_CONFIG_SETTING_DISASTERS_HELPTEXT
+cat = SC_BASIC
+
+[SDT_VAR]
+var = difficulty.town_council_tolerance
+type = SLE_UINT8
+from = SLV_97
+flags = SF_GUI_DROPDOWN
+def = 0
+min = 0
+max = 2
+interval = 1
+str = STR_CONFIG_SETTING_CITY_APPROVAL
+strhelp = STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT
+strval = STR_CITY_APPROVAL_PERMISSIVE
+post_cb = DifficultyNoiseChange
+
+[SDTG_VAR]
+name = ""diff_level""
+var = _old_diff_level
+type = SLE_UINT8
+flags = SF_NOT_IN_CONFIG
+from = SLV_97
+to = SLV_178
+def = 3
+min = 0
+max = 3
+cat = SC_BASIC
+