; 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 . ; ; Script settings as stored in the main configuration file ("openttd.cfg") ; and in the savegame PATS chunk. [pre-amble] static constexpr std::initializer_list _settings_profiles{"easy", "medium", "hard"}; static void ScriptMaxOpsChange(int32_t new_value); static bool CheckScriptMaxMemoryChange(int32_t &new_value); static void ScriptMaxMemoryChange(int32_t new_value); const SettingTable _script_settings = { [post-amble] }; [templates] SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname), SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $extver, $load, $cat, $guiproc, $startup, $patxname), SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname), [validation] SDT_OMANY = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$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 str_cb = nullptr help_cb = nullptr val_cb = nullptr guiproc = nullptr load = nullptr from = SL_MIN_VERSION to = SL_MAX_VERSION cat = SC_ADVANCED startup = false extver = SlXvFeatureTest() patxname = nullptr enumlist = [SDT_OMANY] var = script.settings_profile type = SLE_UINT8 from = SLV_178 flags = SF_GUI_DROPDOWN def = SP_EASY min = SP_EASY max = SP_HARD full = _settings_profiles cat = SC_BASIC [SDT_VAR] var = script.script_max_opcode_till_suspend type = SLE_UINT32 from = SLV_107 def = 10000 min = 500 max = 250000 interval = 2500 str = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES strhelp = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT strval = STR_JUST_COMMA post_cb = ScriptMaxOpsChange cat = SC_EXPERT [SDT_VAR] var = script.script_max_memory_megabytes type = SLE_UINT32 from = SLV_SCRIPT_MEMLIMIT def = 1024 min = 8 max = 8192 interval = 8 str = STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY strhelp = STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT strval = STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE pre_cb = CheckScriptMaxMemoryChange post_cb = ScriptMaxMemoryChange cat = SC_EXPERT [SDT_BOOL] var = ai.ai_in_multiplayer def = true str = STR_CONFIG_SETTING_AI_IN_MULTIPLAYER strhelp = STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT cat = SC_BASIC [SDT_BOOL] var = ai.ai_disable_veh_train def = false str = STR_CONFIG_SETTING_AI_BUILDS_TRAINS strhelp = STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT [SDT_BOOL] 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 [SDT_BOOL] var = ai.ai_disable_veh_aircraft def = false str = STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT strhelp = STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT [SDT_BOOL] var = ai.ai_disable_veh_ship def = false str = STR_CONFIG_SETTING_AI_BUILDS_SHIPS strhelp = STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT