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.
This commit is contained in:
		@@ -17,6 +17,7 @@
 | 
			
		||||
#include "../linkgraph/linkgraphschedule.h"
 | 
			
		||||
#include "../network/network.h"
 | 
			
		||||
#include "../settings_internal.h"
 | 
			
		||||
#include "../settings_table.h"
 | 
			
		||||
 | 
			
		||||
#include "../safeguards.h"
 | 
			
		||||
 | 
			
		||||
@@ -165,7 +166,6 @@ public:
 | 
			
		||||
SaveLoadTable GetLinkGraphJobDesc()
 | 
			
		||||
{
 | 
			
		||||
	static std::vector<SaveLoad> saveloads;
 | 
			
		||||
	static const char *prefix = "linkgraph.";
 | 
			
		||||
 | 
			
		||||
	static const SaveLoad job_desc[] = {
 | 
			
		||||
		SLE_VAR(LinkGraphJob, join_date,        SLE_INT32),
 | 
			
		||||
@@ -184,7 +184,7 @@ SaveLoadTable GetLinkGraphJobDesc()
 | 
			
		||||
 | 
			
		||||
	/* Build the SaveLoad array on first call and don't touch it later on */
 | 
			
		||||
	if (saveloads.size() == 0) {
 | 
			
		||||
		GetSettingSaveLoadByPrefix(prefix, saveloads);
 | 
			
		||||
		GetSaveLoadFromSettingTable(_linkgraph_settings, saveloads);
 | 
			
		||||
 | 
			
		||||
		for (auto &sl : saveloads) {
 | 
			
		||||
			sl.address_proc = proc;
 | 
			
		||||
 
 | 
			
		||||
@@ -151,7 +151,7 @@ struct OPTSChunkHandler : ChunkHandler {
 | 
			
		||||
		 * a networking environment. This ensures for example that the local
 | 
			
		||||
		 * autosave-frequency stays when joining a network-server */
 | 
			
		||||
		PrepareOldDiffCustom();
 | 
			
		||||
		LoadSettings(_gameopt_settings, &_settings_game, _gameopt_sl_compat);
 | 
			
		||||
		LoadSettings(_old_gameopt_settings, &_settings_game, _gameopt_sl_compat);
 | 
			
		||||
		HandleOldDiffCustom(true);
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
@@ -159,22 +159,51 @@ struct OPTSChunkHandler : ChunkHandler {
 | 
			
		||||
struct PATSChunkHandler : ChunkHandler {
 | 
			
		||||
	PATSChunkHandler() : ChunkHandler('PATS', CH_TABLE) {}
 | 
			
		||||
 | 
			
		||||
	/**
 | 
			
		||||
	 * Create a single table with all settings that should be stored/loaded
 | 
			
		||||
	 * in the savegame.
 | 
			
		||||
	 */
 | 
			
		||||
	SettingTable GetSettingTable() const
 | 
			
		||||
	{
 | 
			
		||||
		static const SettingTable saveload_settings_tables[] = {
 | 
			
		||||
			_difficulty_settings,
 | 
			
		||||
			_economy_settings,
 | 
			
		||||
			_game_settings,
 | 
			
		||||
			_linkgraph_settings,
 | 
			
		||||
			_locale_settings,
 | 
			
		||||
			_pathfinding_settings,
 | 
			
		||||
			_script_settings,
 | 
			
		||||
			_world_settings,
 | 
			
		||||
		};
 | 
			
		||||
		static std::vector<SettingVariant> settings_table;
 | 
			
		||||
 | 
			
		||||
		if (settings_table.empty()) {
 | 
			
		||||
			for (auto &saveload_settings_table : saveload_settings_tables) {
 | 
			
		||||
				for (auto &saveload_setting : saveload_settings_table) {
 | 
			
		||||
					settings_table.push_back(saveload_setting);
 | 
			
		||||
				}
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return settings_table;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	void Load() const override
 | 
			
		||||
	{
 | 
			
		||||
		/* Copy over default setting since some might not get loaded in
 | 
			
		||||
		 * a networking environment. This ensures for example that the local
 | 
			
		||||
		 * currency setting stays when joining a network-server */
 | 
			
		||||
		LoadSettings(_settings, &_settings_game, _settings_sl_compat);
 | 
			
		||||
		LoadSettings(this->GetSettingTable(), &_settings_game, _settings_sl_compat);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	void LoadCheck(size_t) const override
 | 
			
		||||
	{
 | 
			
		||||
		LoadSettings(_settings, &_load_check_data.settings, _settings_sl_compat);
 | 
			
		||||
		LoadSettings(this->GetSettingTable(), &_load_check_data.settings, _settings_sl_compat);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	void Save() const override
 | 
			
		||||
	{
 | 
			
		||||
		SaveSettings(_settings, &_settings_game);
 | 
			
		||||
		SaveSettings(this->GetSettingTable(), &_settings_game);
 | 
			
		||||
	}
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -72,8 +72,18 @@ static ErrorList _settings_error_list; ///< Errors while loading minimal setting
 | 
			
		||||
static auto &GenericSettingTables()
 | 
			
		||||
{
 | 
			
		||||
	static const SettingTable _generic_setting_tables[] = {
 | 
			
		||||
		_settings,
 | 
			
		||||
		_difficulty_settings,
 | 
			
		||||
		_economy_settings,
 | 
			
		||||
		_game_settings,
 | 
			
		||||
		_gui_settings,
 | 
			
		||||
		_linkgraph_settings,
 | 
			
		||||
		_locale_settings,
 | 
			
		||||
		_multimedia_settings,
 | 
			
		||||
		_network_settings,
 | 
			
		||||
		_news_display_settings,
 | 
			
		||||
		_pathfinding_settings,
 | 
			
		||||
		_script_settings,
 | 
			
		||||
		_world_settings,
 | 
			
		||||
	};
 | 
			
		||||
	return _generic_setting_tables;
 | 
			
		||||
}
 | 
			
		||||
@@ -1207,7 +1217,7 @@ void LoadFromConfig(bool startup)
 | 
			
		||||
		GameLoadConfig(generic_ini, "game_scripts");
 | 
			
		||||
 | 
			
		||||
		PrepareOldDiffCustom();
 | 
			
		||||
		IniLoadSettings(generic_ini, _gameopt_settings, "gameopt", &_settings_newgame, false);
 | 
			
		||||
		IniLoadSettings(generic_ini, _old_gameopt_settings, "gameopt", &_settings_newgame, false);
 | 
			
		||||
		HandleOldDiffCustom(false);
 | 
			
		||||
 | 
			
		||||
		ValidateSettings();
 | 
			
		||||
@@ -1393,16 +1403,16 @@ static const SettingDesc *GetSettingFromName(const std::string_view name, const
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Get the SaveLoad from all settings matching the prefix.
 | 
			
		||||
 * @param prefix The prefix to look for.
 | 
			
		||||
 * Get the SaveLoad for all settings in the settings table.
 | 
			
		||||
 * @param settings The settings table to get the SaveLoad objects from.
 | 
			
		||||
 * @param saveloads A vector to store the result in.
 | 
			
		||||
 */
 | 
			
		||||
void GetSettingSaveLoadByPrefix(std::string_view prefix, std::vector<SaveLoad> &saveloads)
 | 
			
		||||
void GetSaveLoadFromSettingTable(SettingTable settings, std::vector<SaveLoad> &saveloads)
 | 
			
		||||
{
 | 
			
		||||
	for (auto &desc : _settings) {
 | 
			
		||||
	for (auto &desc : settings) {
 | 
			
		||||
		const SettingDesc *sd = GetSettingDesc(desc);
 | 
			
		||||
		if (!SlIsObjectCurrentlyValid(sd->save.version_from, sd->save.version_to)) continue;
 | 
			
		||||
		if (StrStartsWith(sd->name, prefix)) saveloads.push_back(sd->save);
 | 
			
		||||
		saveloads.push_back(sd->save);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -312,8 +312,10 @@ static constexpr const SettingDesc *GetSettingDesc(const SettingVariant &desc)
 | 
			
		||||
	return std::visit([](auto&& arg) -> const SettingDesc * { return &arg; }, desc);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
typedef span<const SettingVariant> SettingTable;
 | 
			
		||||
 | 
			
		||||
const SettingDesc *GetSettingFromName(const std::string_view name);
 | 
			
		||||
void GetSettingSaveLoadByPrefix(const std::string_view prefix, std::vector<SaveLoad> &saveloads);
 | 
			
		||||
void GetSaveLoadFromSettingTable(SettingTable settings, std::vector<SaveLoad> &saveloads);
 | 
			
		||||
bool SetSettingValue(const IntSettingDesc *sd, int32 value, bool force_newgame = false);
 | 
			
		||||
bool SetSettingValue(const StringSettingDesc *sd, const std::string value, bool force_newgame = false);
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
@@ -49,16 +49,25 @@
 | 
			
		||||
 | 
			
		||||
#include "safeguards.h"
 | 
			
		||||
 | 
			
		||||
SettingTable _settings{ _settings_table };
 | 
			
		||||
SettingTable _network_settings{ _network_settings_table };
 | 
			
		||||
SettingTable _network_private_settings{ _network_private_settings_table };
 | 
			
		||||
SettingTable _network_secrets_settings{ _network_secrets_settings_table };
 | 
			
		||||
 | 
			
		||||
SettingTable _company_settings{ _company_settings_table };
 | 
			
		||||
SettingTable _currency_settings{ _currency_settings_table };
 | 
			
		||||
SettingTable _gameopt_settings{ _gameopt_settings_table };
 | 
			
		||||
SettingTable _difficulty_settings{ _difficulty_settings_table };
 | 
			
		||||
SettingTable _multimedia_settings{ _multimedia_settings_table };
 | 
			
		||||
SettingTable _economy_settings{ _economy_settings_table };
 | 
			
		||||
SettingTable _game_settings{ _game_settings_table };
 | 
			
		||||
SettingTable _gui_settings{ _gui_settings_table };
 | 
			
		||||
SettingTable _linkgraph_settings{ _linkgraph_settings_table };
 | 
			
		||||
SettingTable _locale_settings{ _locale_settings_table };
 | 
			
		||||
SettingTable _misc_settings{ _misc_settings_table };
 | 
			
		||||
SettingTable _network_private_settings{ _network_private_settings_table };
 | 
			
		||||
SettingTable _network_secrets_settings{ _network_secrets_settings_table };
 | 
			
		||||
SettingTable _network_settings{ _network_settings_table };
 | 
			
		||||
SettingTable _news_display_settings{ _news_display_settings_table };
 | 
			
		||||
SettingTable _old_gameopt_settings{ _old_gameopt_settings_table };
 | 
			
		||||
SettingTable _pathfinding_settings{ _pathfinding_settings_table };
 | 
			
		||||
SettingTable _script_settings{ _script_settings_table };
 | 
			
		||||
SettingTable _window_settings{ _window_settings_table };
 | 
			
		||||
SettingTable _world_settings{ _world_settings_table };
 | 
			
		||||
#if defined(_WIN32) && !defined(DEDICATED)
 | 
			
		||||
SettingTable _win32_settings{ _win32_settings_table };
 | 
			
		||||
#endif /* _WIN32 */
 | 
			
		||||
 
 | 
			
		||||
@@ -15,18 +15,25 @@
 | 
			
		||||
#include <array>
 | 
			
		||||
#include "settings_internal.h"
 | 
			
		||||
 | 
			
		||||
typedef span<const SettingVariant> SettingTable;
 | 
			
		||||
 | 
			
		||||
extern SettingTable _settings;
 | 
			
		||||
extern SettingTable _network_settings;
 | 
			
		||||
extern SettingTable _network_private_settings;
 | 
			
		||||
extern SettingTable _network_secrets_settings;
 | 
			
		||||
 | 
			
		||||
extern SettingTable _company_settings;
 | 
			
		||||
extern SettingTable _currency_settings;
 | 
			
		||||
extern SettingTable _gameopt_settings;
 | 
			
		||||
extern SettingTable _difficulty_settings;
 | 
			
		||||
extern SettingTable _economy_settings;
 | 
			
		||||
extern SettingTable _game_settings;
 | 
			
		||||
extern SettingTable _gui_settings;
 | 
			
		||||
extern SettingTable _linkgraph_settings;
 | 
			
		||||
extern SettingTable _locale_settings;
 | 
			
		||||
extern SettingTable _misc_settings;
 | 
			
		||||
extern SettingTable _multimedia_settings;
 | 
			
		||||
extern SettingTable _network_private_settings;
 | 
			
		||||
extern SettingTable _network_secrets_settings;
 | 
			
		||||
extern SettingTable _network_settings;
 | 
			
		||||
extern SettingTable _news_display_settings;
 | 
			
		||||
extern SettingTable _old_gameopt_settings;
 | 
			
		||||
extern SettingTable _pathfinding_settings;
 | 
			
		||||
extern SettingTable _script_settings;
 | 
			
		||||
extern SettingTable _window_settings;
 | 
			
		||||
extern SettingTable _world_settings;
 | 
			
		||||
#if defined(_WIN32) && !defined(DEDICATED)
 | 
			
		||||
extern SettingTable _win32_settings;
 | 
			
		||||
#endif /* _WIN32 */
 | 
			
		||||
 
 | 
			
		||||
@@ -4,14 +4,24 @@ set(TABLE_BINARY_DIR ${GENERATED_BINARY_DIR}/table)
 | 
			
		||||
set(TABLE_INI_SOURCE_FILES
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/company_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/currency_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/gameopt_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/difficulty_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/economy_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/game_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/gui_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/linkgraph_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/locale_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/misc_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/multimedia_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/network_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/network_private_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/network_secrets_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/news_display_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/old_gameopt_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/pathfinding_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/script_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/win32_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/window_settings.ini
 | 
			
		||||
        ${CMAKE_CURRENT_SOURCE_DIR}/world_settings.ini
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
if (HOST_BINARY_DIR)
 | 
			
		||||
 
 | 
			
		||||
@@ -33,7 +33,6 @@ extra    = 0
 | 
			
		||||
startup  = false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = rate
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										286
									
								
								src/table/settings/difficulty_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										286
									
								
								src/table/settings/difficulty_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -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
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										294
									
								
								src/table/settings/economy_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										294
									
								
								src/table/settings/economy_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,294 @@
 | 
			
		||||
; 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/>.
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
; Economy settings as stored in the main configuration file ("openttd.cfg")
 | 
			
		||||
; and in the savegame PATS chunk.
 | 
			
		||||
 | 
			
		||||
[pre-amble]
 | 
			
		||||
static void TownFoundingChanged(int32 new_value);
 | 
			
		||||
 | 
			
		||||
static const SettingVariant _economy_settings_table[] = {
 | 
			
		||||
[post-amble]
 | 
			
		||||
};
 | 
			
		||||
[templates]
 | 
			
		||||
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]
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.town_layout
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_59
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = TL_ORIGINAL
 | 
			
		||||
min      = TL_BEGIN
 | 
			
		||||
max      = NUM_TLS - 1
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_TOWN_LAYOUT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TOWN_LAYOUT_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TOWN_LAYOUT_DEFAULT
 | 
			
		||||
post_cb  = TownFoundingChanged
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.allow_town_roads
 | 
			
		||||
from     = SLV_113
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.found_town
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_128
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = TF_FORBIDDEN
 | 
			
		||||
min      = TF_BEGIN
 | 
			
		||||
max      = TF_END - 1
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_TOWN_FOUNDING
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TOWN_FOUNDING_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TOWN_FOUNDING_FORBIDDEN
 | 
			
		||||
post_cb  = TownFoundingChanged
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.allow_town_level_crossings
 | 
			
		||||
from     = SLV_143
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.town_cargogen_mode
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_TOWN_CARGOGEN
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = TCGM_BITCOUNT
 | 
			
		||||
min      = TCGM_BEGIN
 | 
			
		||||
max      = TCGM_END - 1
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_TOWN_CARGOGENMODE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TOWN_CARGOGENMODE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TOWN_CARGOGENMODE_ORIGINAL
 | 
			
		||||
cat      = SC_ADVANCED
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.station_noise_level
 | 
			
		||||
from     = SLV_96
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_NOISE_LEVEL
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT
 | 
			
		||||
post_cb  = [](auto new_value) { InvalidateWindowClassesData(WC_TOWN_VIEW, new_value); }
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.inflation
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_INFLATION
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_INFLATION_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.multiple_industry_per_town
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_MULTIPINDTOWN
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.bribe
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_BRIBE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_BRIBE_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { SetWindowClassesDirty(WC_TOWN_AUTHORITY); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.exclusive_rights
 | 
			
		||||
from     = SLV_79
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { SetWindowClassesDirty(WC_TOWN_AUTHORITY); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.fund_buildings
 | 
			
		||||
from     = SLV_165
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { SetWindowClassesDirty(WC_TOWN_AUTHORITY); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.fund_roads
 | 
			
		||||
from     = SLV_160
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_ALLOW_FUND_ROAD
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { SetWindowClassesDirty(WC_TOWN_AUTHORITY); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.give_money
 | 
			
		||||
from     = SLV_79
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_ALLOW_GIVE_MONEY
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.type
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = ET_SMOOTH
 | 
			
		||||
min      = ET_BEGIN
 | 
			
		||||
max      = ET_END - 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_ECONOMY_TYPE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ECONOMY_TYPE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_ECONOMY_TYPE_ORIGINAL
 | 
			
		||||
post_cb  = [](auto) { InvalidateWindowClassesData(WC_INDUSTRY_VIEW); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.allow_shares
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_ALLOW_SHARES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { InvalidateWindowClassesData(WC_COMPANY); }
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.min_years_for_shares
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_TRADING_AGE
 | 
			
		||||
def      = 6
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 255
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_INT
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.feeder_payment_share
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_134
 | 
			
		||||
def      = 75
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100
 | 
			
		||||
str      = STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_FEEDER_PAYMENT_SHARE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PERCENTAGE
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.town_growth_rate
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_54
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 4
 | 
			
		||||
str      = STR_CONFIG_SETTING_TOWN_GROWTH
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TOWN_GROWTH_NONE
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.larger_towns
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_54
 | 
			
		||||
flags    = SF_GUI_0_IS_SPECIAL
 | 
			
		||||
def      = 4
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 255
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_LARGER_TOWNS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LARGER_TOWNS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_LARGER_TOWNS_VALUE
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.initial_city_size
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_56
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 10
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_CITY_SIZE_MULTIPLIER_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.mod_road_rebuild
 | 
			
		||||
from     = SLV_77
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.dist_local_authority
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
def      = 20
 | 
			
		||||
min      = 5
 | 
			
		||||
max      = 60
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.town_noise_population[0]
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_96
 | 
			
		||||
def      = 800
 | 
			
		||||
min      = 200
 | 
			
		||||
max      = 65535
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.town_noise_population[1]
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_96
 | 
			
		||||
def      = 2000
 | 
			
		||||
min      = 400
 | 
			
		||||
max      = 65535
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = economy.town_noise_population[2]
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_96
 | 
			
		||||
def      = 4000
 | 
			
		||||
min      = 800
 | 
			
		||||
max      = 65535
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = economy.infrastructure_maintenance
 | 
			
		||||
from     = SLV_166
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { InvalidateWindowClassesData(WC_COMPANY_INFRASTRUCTURE); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
							
								
								
									
										421
									
								
								src/table/settings/game_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										421
									
								
								src/table/settings/game_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,421 @@
 | 
			
		||||
; 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/>.
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
; Game settings as stored in the main configuration file ("openttd.cfg")
 | 
			
		||||
; and in the savegame PATS chunk.
 | 
			
		||||
; Game settings are everything related to vehicles, stations, orders, etc.
 | 
			
		||||
 | 
			
		||||
[pre-amble]
 | 
			
		||||
static std::initializer_list<const char*> _roadsides{"left", "right"};
 | 
			
		||||
 | 
			
		||||
static void StationSpreadChanged(int32 new_value);
 | 
			
		||||
static void UpdateConsists(int32 new_value);
 | 
			
		||||
static void TrainAccelerationModelChanged(int32 new_value);
 | 
			
		||||
static void RoadVehAccelerationModelChanged(int32 new_value);
 | 
			
		||||
static void TrainSlopeSteepnessChanged(int32 new_value);
 | 
			
		||||
static void RoadVehSlopeSteepnessChanged(int32 new_value);
 | 
			
		||||
static bool CheckRoadSide(int32 &new_value);
 | 
			
		||||
static bool CheckDynamicEngines(int32 &new_value);
 | 
			
		||||
static void StationCatchmentChanged(int32 new_value);
 | 
			
		||||
static void MaxVehiclesChanged(int32 new_value);
 | 
			
		||||
 | 
			
		||||
static const SettingVariant _game_settings_table[] = {
 | 
			
		||||
[post-amble]
 | 
			
		||||
};
 | 
			
		||||
[templates]
 | 
			
		||||
SDTG_BOOL  =  SDTG_BOOL($name,                     $flags, $var, $def,                        $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
SDTG_VAR   =   SDTG_VAR($name,              $type, $flags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
SDTC_BOOL  =  SDTC_BOOL(              $var,        $flags, $def,                              $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_OMANY  =  SDT_OMANY(GameSettings, $var, $type, $flags, $def,             $max, $full,     $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $load, $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_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
 | 
			
		||||
load     = nullptr
 | 
			
		||||
from     = SL_MIN_VERSION
 | 
			
		||||
to       = SL_MAX_VERSION
 | 
			
		||||
cat      = SC_ADVANCED
 | 
			
		||||
extra    = 0
 | 
			
		||||
startup  = false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = order.no_servicing_if_no_breakdowns
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_NOSERVICE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NOSERVICE_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = order.improved_load
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = order.selectgoods
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = order.serviceathelipad
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SERVICEATHELIPAD
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = order.gradual_loading
 | 
			
		||||
from     = SLV_40
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = station.never_expire_airports
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = station.station_spread
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
def      = 12
 | 
			
		||||
min      = 4
 | 
			
		||||
max      = 64
 | 
			
		||||
str      = STR_CONFIG_SETTING_STATION_SPREAD
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TILE_LENGTH
 | 
			
		||||
post_cb  = StationSpreadChanged
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = station.modified_catchment
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_CATCHMENT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_CATCHMENT_HELPTEXT
 | 
			
		||||
post_cb  = StationCatchmentChanged
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = station.serve_neutral_industries
 | 
			
		||||
def      = true
 | 
			
		||||
from     = SLV_SERVE_NEUTRAL_INDUSTRIES
 | 
			
		||||
str      = STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT
 | 
			
		||||
post_cb  = StationCatchmentChanged
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = station.adjacent_stations
 | 
			
		||||
from     = SLV_62
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = station.distant_join_stations
 | 
			
		||||
from     = SLV_106
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { CloseWindowById(WC_SELECT_STATION, 0); }
 | 
			
		||||
 | 
			
		||||
[SDT_OMANY]
 | 
			
		||||
var      = vehicle.road_side
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_97
 | 
			
		||||
flags    = SF_GUI_DROPDOWN | SF_NO_NETWORK
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 1
 | 
			
		||||
full     = _roadsides
 | 
			
		||||
str      = STR_CONFIG_SETTING_ROAD_SIDE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT
 | 
			
		||||
strval   = STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT
 | 
			
		||||
pre_cb   = CheckRoadSide
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.train_acceleration_model
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_ORIGINAL
 | 
			
		||||
post_cb  = TrainAccelerationModelChanged
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.roadveh_acceleration_model
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_139
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_ORIGINAL
 | 
			
		||||
post_cb  = RoadVehAccelerationModelChanged
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.train_slope_steepness
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_133
 | 
			
		||||
def      = 3
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 10
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PERCENTAGE
 | 
			
		||||
post_cb  = TrainSlopeSteepnessChanged
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.roadveh_slope_steepness
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_139
 | 
			
		||||
def      = 7
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 10
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PERCENTAGE
 | 
			
		||||
post_cb  = RoadVehSlopeSteepnessChanged
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.max_train_length
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_159
 | 
			
		||||
def      = 7
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 64
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_TRAIN_LENGTH
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TILE_LENGTH
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.smoke_amount
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_145
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_SMOKE_AMOUNT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NONE
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = vehicle.never_expire_vehicles
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.max_trains
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
def      = 500
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 5000
 | 
			
		||||
str      = STR_CONFIG_SETTING_MAX_TRAINS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
post_cb  = MaxVehiclesChanged
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.max_roadveh
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
def      = 500
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 5000
 | 
			
		||||
str      = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
post_cb  = MaxVehiclesChanged
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.max_aircraft
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
def      = 200
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 5000
 | 
			
		||||
str      = STR_CONFIG_SETTING_MAX_AIRCRAFT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
post_cb  = MaxVehiclesChanged
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.max_ships
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
def      = 300
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 5000
 | 
			
		||||
str      = STR_CONFIG_SETTING_MAX_SHIPS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
post_cb  = MaxVehiclesChanged
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = vehicle.wagon_speed_limits
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_WAGONSPEEDLIMITS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT
 | 
			
		||||
post_cb  = UpdateConsists
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = vehicle.disable_elrails
 | 
			
		||||
from     = SLV_38
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_DISABLE_ELRAILS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT
 | 
			
		||||
post_cb  = SettingsDisableElrail
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.freight_trains
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_39
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 255
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_FREIGHT_TRAINS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
post_cb  = UpdateConsists
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.plane_speed
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_90
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = 4
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 4
 | 
			
		||||
str      = STR_CONFIG_SETTING_PLANE_SPEED
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PLANE_SPEED_VALUE
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = vehicle.dynamic_engines
 | 
			
		||||
from     = SLV_95
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = true
 | 
			
		||||
pre_cb   = CheckDynamicEngines
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.plane_crashes
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_138
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_PLANE_CRASHES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PLANE_CRASHES_NONE
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = vehicle.extend_vehicle_life
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
## Old vehicle settings.
 | 
			
		||||
 | 
			
		||||
[SDTG_BOOL]
 | 
			
		||||
name     = """"
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
var      = _old_vds.servint_ispercent
 | 
			
		||||
def      = false
 | 
			
		||||
to       = SLV_120
 | 
			
		||||
 | 
			
		||||
[SDTG_VAR]
 | 
			
		||||
name     = """"
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_GUI_0_IS_SPECIAL
 | 
			
		||||
var      = _old_vds.servint_trains
 | 
			
		||||
def      = 150
 | 
			
		||||
min      = 5
 | 
			
		||||
max      = 800
 | 
			
		||||
to       = SLV_120
 | 
			
		||||
 | 
			
		||||
[SDTG_VAR]
 | 
			
		||||
name     = """"
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_GUI_0_IS_SPECIAL
 | 
			
		||||
var      = _old_vds.servint_roadveh
 | 
			
		||||
def      = 150
 | 
			
		||||
min      = 5
 | 
			
		||||
max      = 800
 | 
			
		||||
to       = SLV_120
 | 
			
		||||
 | 
			
		||||
[SDTG_VAR]
 | 
			
		||||
name     = """"
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_GUI_0_IS_SPECIAL
 | 
			
		||||
var      = _old_vds.servint_ships
 | 
			
		||||
def      = 360
 | 
			
		||||
min      = 5
 | 
			
		||||
max      = 800
 | 
			
		||||
to       = SLV_120
 | 
			
		||||
 | 
			
		||||
[SDTG_VAR]
 | 
			
		||||
name     = """"
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_GUI_0_IS_SPECIAL
 | 
			
		||||
var      = _old_vds.servint_aircraft
 | 
			
		||||
def      = 150
 | 
			
		||||
min      = 5
 | 
			
		||||
max      = 800
 | 
			
		||||
to       = SLV_120
 | 
			
		||||
 | 
			
		||||
## These were once in the "gui" section, but they really are related to orders.
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.sg_full_load_any
 | 
			
		||||
from     = SLV_22
 | 
			
		||||
to       = SLV_93
 | 
			
		||||
def      = true
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.sg_new_nonstop
 | 
			
		||||
from     = SLV_22
 | 
			
		||||
to       = SLV_93
 | 
			
		||||
def      = false
 | 
			
		||||
							
								
								
									
										858
									
								
								src/table/settings/gui_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										858
									
								
								src/table/settings/gui_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,858 @@
 | 
			
		||||
; 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/>.
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
; GUI settings as stored in the main configuration file ("openttd.cfg").
 | 
			
		||||
 | 
			
		||||
[pre-amble]
 | 
			
		||||
static void v_PositionMainToolbar(int32 new_value);
 | 
			
		||||
static void v_PositionStatusbar(int32 new_value);
 | 
			
		||||
static void RedrawSmallmap(int32 new_value);
 | 
			
		||||
static void CloseSignalGUI(int32 new_value);
 | 
			
		||||
static void InvalidateCompanyLiveryWindow(int32 new_value);
 | 
			
		||||
static void InvalidateNewGRFChangeWindows(int32 new_value);
 | 
			
		||||
static void ZoomMinMaxChanged(int32 new_value);
 | 
			
		||||
static void SpriteZoomMinChanged(int32 new_value);
 | 
			
		||||
 | 
			
		||||
static std::initializer_list<const char*> _autosave_interval{"off", "monthly", "quarterly", "half year", "yearly"};
 | 
			
		||||
static std::initializer_list<const char*> _osk_activation{"disabled", "double", "single", "immediately"};
 | 
			
		||||
static std::initializer_list<const char*> _savegame_date{"long", "short", "iso"};
 | 
			
		||||
 | 
			
		||||
static const SettingVariant _gui_settings_table[] = {
 | 
			
		||||
[post-amble]
 | 
			
		||||
};
 | 
			
		||||
[templates]
 | 
			
		||||
SDTC_BOOL  =  SDTC_BOOL(              $var,        $flags, $def,                              $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
SDTC_OMANY = SDTC_OMANY(              $var, $type, $flags, $def,             $max, $full,     $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
SDTC_VAR   =   SDTC_VAR(              $var, $type, $flags, $def,       $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
 | 
			
		||||
[validation]
 | 
			
		||||
SDTC_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
 | 
			
		||||
SDTC_VAR = static_assert($max <= MAX_$type, "Maximum value for $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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = gui.autosave
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 4
 | 
			
		||||
full     = _autosave_interval
 | 
			
		||||
str      = STR_CONFIG_SETTING_AUTOSAVE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT
 | 
			
		||||
strval   = STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.threaded_saves
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = gui.date_format_in_default_names
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _savegame_date
 | 
			
		||||
str      = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.show_finances
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SHOWFINANCES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.auto_scrolling
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 3
 | 
			
		||||
str      = STR_CONFIG_SETTING_AUTOSCROLL
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_AUTOSCROLL_DISABLED
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
ifdef    = __EMSCRIPTEN__
 | 
			
		||||
var      = gui.scroll_mode
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 3
 | 
			
		||||
str      = STR_CONFIG_SETTING_SCROLLMODE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_SCROLLMODE_DEFAULT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
ifndef    = __EMSCRIPTEN__
 | 
			
		||||
var      = gui.scroll_mode
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 3
 | 
			
		||||
str      = STR_CONFIG_SETTING_SCROLLMODE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SCROLLMODE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_SCROLLMODE_DEFAULT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.smooth_scroll
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_SMOOTH_SCROLLING
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.right_mouse_wnd_close
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
; 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    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.measure_tooltip
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_MEASURE_TOOLTIP
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.errmsg_duration
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 5
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 20
 | 
			
		||||
str      = STR_CONFIG_SETTING_ERRMSG_DURATION
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.hover_delay_ms
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL
 | 
			
		||||
def      = 250
 | 
			
		||||
min      = 50
 | 
			
		||||
max      = 6000
 | 
			
		||||
interval = 50
 | 
			
		||||
str      = STR_CONFIG_SETTING_HOVER_DELAY
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_HOVER_DELAY_VALUE
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = gui.osk_activation
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
str      = STR_CONFIG_SETTING_OSK_ACTIVATION
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
full     = _osk_activation
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 3
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.toolbar_pos
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_TOOLBAR_POS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT
 | 
			
		||||
post_cb  = v_PositionMainToolbar
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.statusbar_pos
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_STATUSBAR_POS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT
 | 
			
		||||
post_cb  = v_PositionStatusbar
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.window_snap_radius
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL
 | 
			
		||||
def      = 10
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 32
 | 
			
		||||
str      = STR_CONFIG_SETTING_SNAP_RADIUS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_SNAP_RADIUS_VALUE
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.window_soft_limit
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL
 | 
			
		||||
def      = 20
 | 
			
		||||
min      = 5
 | 
			
		||||
max      = 255
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_SOFT_LIMIT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_SOFT_LIMIT_VALUE
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.zoom_min
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = ZOOM_LVL_MIN
 | 
			
		||||
min      = ZOOM_LVL_MIN
 | 
			
		||||
max      = ZOOM_LVL_OUT_4X
 | 
			
		||||
str      = STR_CONFIG_SETTING_ZOOM_MIN
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_ZOOM_LVL_MIN
 | 
			
		||||
post_cb  = ZoomMinMaxChanged
 | 
			
		||||
startup  = true
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.zoom_max
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = ZOOM_LVL_MAX
 | 
			
		||||
min      = ZOOM_LVL_OUT_8X
 | 
			
		||||
max      = ZOOM_LVL_MAX
 | 
			
		||||
str      = STR_CONFIG_SETTING_ZOOM_MAX
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X
 | 
			
		||||
post_cb  = ZoomMinMaxChanged
 | 
			
		||||
startup  = true
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.sprite_zoom_min
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = ZOOM_LVL_MIN
 | 
			
		||||
min      = ZOOM_LVL_MIN
 | 
			
		||||
max      = ZOOM_LVL_OUT_4X
 | 
			
		||||
str      = STR_CONFIG_SETTING_SPRITE_ZOOM_MIN
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SPRITE_ZOOM_MIN_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_SPRITE_ZOOM_LVL_MIN
 | 
			
		||||
post_cb  = SpriteZoomMinChanged
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.population_in_label
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_POPULATION_IN_LABEL
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { UpdateAllTownVirtCoords(); }
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.link_terraform_toolbar
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.smallmap_land_colour
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN
 | 
			
		||||
post_cb  = RedrawSmallmap
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.liveries
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_LIVERIES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LIVERIES_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_LIVERIES_NONE
 | 
			
		||||
post_cb  = InvalidateCompanyLiveryWindow
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.starting_colour
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = COLOUR_END
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = COLOUR_END
 | 
			
		||||
str      = STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_COMPANY_STARTING_COLOUR_HELPTEXT
 | 
			
		||||
strval   = STR_COLOUR_DARK_BLUE
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.auto_remove_signals
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_AUTO_REMOVE_SIGNALS_HELPTEXT
 | 
			
		||||
cat      = SC_ADVANCED
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.prefer_teamchat
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_PREFER_TEAMCHAT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.scrollwheel_scrolling
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.scrollwheel_multiplier
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 5
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 15
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.pause_on_newgame
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.advanced_vehicle_list
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_COMPANIES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.timetable_in_ticks
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_TIMETABLE_IN_TICKS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { InvalidateWindowClassesData(WC_VEHICLE_TIMETABLE, VIWD_MODIFY_ORDERS); }
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.timetable_arrival_departure
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { InvalidateWindowClassesData(WC_VEHICLE_TIMETABLE, VIWD_MODIFY_ORDERS); }
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.quick_goto
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_QUICKGOTO
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.loading_indicators
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_LOADING_INDICATORS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_COMPANIES_OFF
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.default_rail_type
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.enable_signal_gui
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT
 | 
			
		||||
post_cb  = CloseSignalGUI
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.coloured_news_year
 | 
			
		||||
type     = SLE_INT32
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 2000
 | 
			
		||||
min      = MIN_YEAR
 | 
			
		||||
max      = MAX_YEAR
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_INT
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.drag_signals_density
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 4
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 20
 | 
			
		||||
str      = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE
 | 
			
		||||
post_cb  = [](auto) { InvalidateWindowData(WC_BUILD_SIGNAL, 0); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.drag_signals_fixed_distance
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.semaphore_build_before
 | 
			
		||||
type     = SLE_INT32
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 1950
 | 
			
		||||
min      = MIN_YEAR
 | 
			
		||||
max      = MAX_YEAR
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_INT
 | 
			
		||||
post_cb  = ResetSignalVariant
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.vehicle_income_warn
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_WARN_INCOME_LESS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.order_review_system
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_ORDER_REVIEW
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_ORDER_REVIEW_OFF
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.lost_vehicle_warn
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_WARN_LOST_VEHICLE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.new_nonstop
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.stop_location
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_STOP_LOCATION
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.keep_all_autosave
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.autosave_on_exit
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.autosave_on_network_disconnect
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.max_num_autosaves
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 16
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 255
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.auto_euro
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.news_message_timeout
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 255
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.show_track_reservation
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.default_signal_type
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.cycle_signal_types
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.station_numtracks
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 7
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.station_platlength
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 5
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 7
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.station_dragdrop
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.station_show_coverage
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.persistent_buildingtools
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.expenses_layout
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_EXPENSES_LAYOUT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.station_gui_group_order
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 5
 | 
			
		||||
interval = 1
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.station_gui_sort_by
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 3
 | 
			
		||||
interval = 1
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.station_gui_sort_order
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1
 | 
			
		||||
interval = 1
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.missing_strings_threshold
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 25
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = UINT8_MAX
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.graph_line_thickness
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 3
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 5
 | 
			
		||||
str      = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.show_newgrf_name
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_SHOW_NEWGRF_NAME
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SHOW_NEWGRF_NAME_HELPTEXT
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_ADVANCED
 | 
			
		||||
 | 
			
		||||
; For the dedicated build we'll enable dates in logs by default.
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
ifdef    = DEDICATED
 | 
			
		||||
var      = gui.show_date_in_logs
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
ifndef   = DEDICATED
 | 
			
		||||
var      = gui.show_date_in_logs
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.settings_restriction_mode
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.developer
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.newgrf_developer_tools
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
post_cb  = InvalidateNewGRFChangeWindows
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.ai_developer_tools
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
post_cb  = [](auto) { InvalidateWindowClassesData(WC_AI_SETTINGS); }
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.scenario_developer
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
post_cb  = InvalidateNewGRFChangeWindows
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = gui.newgrf_show_old_versions
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.newgrf_default_palette
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1
 | 
			
		||||
post_cb  = UpdateNewGRFConfigPalette
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.console_backlog_timeout
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 100
 | 
			
		||||
min      = 10
 | 
			
		||||
max      = 65500
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.console_backlog_length
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 100
 | 
			
		||||
min      = 10
 | 
			
		||||
max      = 65500
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.refresh_rate
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 60
 | 
			
		||||
min      = 10
 | 
			
		||||
max      = 1000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
startup  = true
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.fast_forward_speed_limit
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_0_IS_SPECIAL | SF_NO_NETWORK
 | 
			
		||||
def      = 2500
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 50000
 | 
			
		||||
interval = 10
 | 
			
		||||
str      = STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_FAST_FORWARD_SPEED_LIMIT_VAL
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.network_chat_box_width_pct
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 40
 | 
			
		||||
min      = 10
 | 
			
		||||
max      = 100
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.network_chat_box_height
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 25
 | 
			
		||||
min      = 5
 | 
			
		||||
max      = 255
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = gui.network_chat_timeout
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 20
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 65535
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										168
									
								
								src/table/settings/linkgraph_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										168
									
								
								src/table/settings/linkgraph_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,168 @@
 | 
			
		||||
; 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/>.
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
; Linkgraph settings as stored in the main configuration file ("openttd.cfg")
 | 
			
		||||
; and in the savegame PATS chunk and in the linkgraph chunks for each job running.
 | 
			
		||||
 | 
			
		||||
[pre-amble]
 | 
			
		||||
static const SettingVariant _linkgraph_settings_table[] = {
 | 
			
		||||
[post-amble]
 | 
			
		||||
};
 | 
			
		||||
[templates]
 | 
			
		||||
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]
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = linkgraph.recalc_interval
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_183
 | 
			
		||||
def      = 4
 | 
			
		||||
min      = 2
 | 
			
		||||
max      = 32
 | 
			
		||||
interval = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_LINKGRAPH_INTERVAL
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT
 | 
			
		||||
extra    = offsetof(LinkGraphSettings, recalc_interval)
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = linkgraph.recalc_time
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_183
 | 
			
		||||
def      = 16
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 4096
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_LINKGRAPH_TIME
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT
 | 
			
		||||
extra    = offsetof(LinkGraphSettings, recalc_time)
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = linkgraph.distribution_pax
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_183
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = DT_MANUAL
 | 
			
		||||
min      = DT_MIN
 | 
			
		||||
max      = DT_MAX
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_DISTRIBUTION_PAX
 | 
			
		||||
strval   = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT
 | 
			
		||||
extra    = offsetof(LinkGraphSettings, distribution_pax)
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = linkgraph.distribution_mail
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_183
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = DT_MANUAL
 | 
			
		||||
min      = DT_MIN
 | 
			
		||||
max      = DT_MAX
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_DISTRIBUTION_MAIL
 | 
			
		||||
strval   = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT
 | 
			
		||||
extra    = offsetof(LinkGraphSettings, distribution_mail)
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = linkgraph.distribution_armoured
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_183
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = DT_MANUAL
 | 
			
		||||
min      = DT_MIN
 | 
			
		||||
max      = DT_MAX
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED
 | 
			
		||||
strval   = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT
 | 
			
		||||
extra    = offsetof(LinkGraphSettings, distribution_armoured)
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = linkgraph.distribution_default
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_183
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = DT_MANUAL
 | 
			
		||||
min      = DT_BEGIN
 | 
			
		||||
max      = DT_MAX_NONSYMMETRIC
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT
 | 
			
		||||
extra    = offsetof(LinkGraphSettings, distribution_default)
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = linkgraph.accuracy
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_183
 | 
			
		||||
def      = 16
 | 
			
		||||
min      = 2
 | 
			
		||||
max      = 64
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_LINKGRAPH_ACCURACY
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LINKGRAPH_ACCURACY_HELPTEXT
 | 
			
		||||
extra    = offsetof(LinkGraphSettings, accuracy)
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = linkgraph.demand_distance
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_183
 | 
			
		||||
def      = 100
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 255
 | 
			
		||||
interval = 5
 | 
			
		||||
str      = STR_CONFIG_SETTING_DEMAND_DISTANCE
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PERCENTAGE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DEMAND_DISTANCE_HELPTEXT
 | 
			
		||||
extra    = offsetof(LinkGraphSettings, demand_distance)
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = linkgraph.demand_size
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_183
 | 
			
		||||
def      = 100
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100
 | 
			
		||||
interval = 5
 | 
			
		||||
str      = STR_CONFIG_SETTING_DEMAND_SIZE
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PERCENTAGE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DEMAND_SIZE_HELPTEXT
 | 
			
		||||
extra    = offsetof(LinkGraphSettings, demand_size)
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = linkgraph.short_path_saturation
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_183
 | 
			
		||||
def      = 80
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 250
 | 
			
		||||
interval = 5
 | 
			
		||||
str      = STR_CONFIG_SETTING_SHORT_PATH_SATURATION
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PERCENTAGE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SHORT_PATH_SATURATION_HELPTEXT
 | 
			
		||||
extra    = offsetof(LinkGraphSettings, short_path_saturation)
 | 
			
		||||
							
								
								
									
										177
									
								
								src/table/settings/locale_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										177
									
								
								src/table/settings/locale_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,177 @@
 | 
			
		||||
; 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/>.
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
; Locale settings as stored in the main configuration file ("openttd.cfg") and
 | 
			
		||||
; in the savegame PATS chunk. These settings are not sync'd over the network.
 | 
			
		||||
 | 
			
		||||
[pre-amble]
 | 
			
		||||
uint8 _old_units;                                      ///< Old units from old savegames
 | 
			
		||||
 | 
			
		||||
static std::initializer_list<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 std::initializer_list<const char*> _locale_units{"imperial", "metric", "si", "gameunits"};
 | 
			
		||||
 | 
			
		||||
static const SettingVariant _locale_settings_table[] = {
 | 
			
		||||
[post-amble]
 | 
			
		||||
};
 | 
			
		||||
[templates]
 | 
			
		||||
SDTG_OMANY = SDTG_OMANY($name,              $type, $flags, $var, $def,       $max, $full,     $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
SDT_OMANY  =  SDT_OMANY(GameSettings, $var, $type, $flags, $def,             $max, $full,     $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $load, $cat, $extra, $startup),
 | 
			
		||||
SDT_SSTR   =   SDT_SSTR(GameSettings, $var, $type, $flags, $def,                                                       $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
 | 
			
		||||
[validation]
 | 
			
		||||
SDTG_OMANY = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
 | 
			
		||||
SDT_OMANY = 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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[SDT_OMANY]
 | 
			
		||||
var      = locale.currency
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_97
 | 
			
		||||
flags    = SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 0
 | 
			
		||||
max      = CURRENCY_END - 1
 | 
			
		||||
full     = _locale_currencies
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTG_OMANY]
 | 
			
		||||
name     = ""units""
 | 
			
		||||
var      = _old_units
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_97
 | 
			
		||||
to       = SLV_184
 | 
			
		||||
flags    = SF_NOT_IN_CONFIG
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _locale_units
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_OMANY]
 | 
			
		||||
var      = locale.units_velocity
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_184
 | 
			
		||||
flags    = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 3
 | 
			
		||||
full     = _locale_units
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
str      = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL
 | 
			
		||||
 | 
			
		||||
[SDT_OMANY]
 | 
			
		||||
var      = locale.units_power
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_184
 | 
			
		||||
flags    = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _locale_units
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
str      = STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_LOCALISATION_UNITS_POWER_IMPERIAL
 | 
			
		||||
 | 
			
		||||
[SDT_OMANY]
 | 
			
		||||
var      = locale.units_weight
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_184
 | 
			
		||||
flags    = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _locale_units
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
str      = STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_LOCALISATION_UNITS_WEIGHT_IMPERIAL
 | 
			
		||||
 | 
			
		||||
[SDT_OMANY]
 | 
			
		||||
var      = locale.units_volume
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_184
 | 
			
		||||
flags    = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _locale_units
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
str      = STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_LOCALISATION_UNITS_VOLUME_IMPERIAL
 | 
			
		||||
 | 
			
		||||
[SDT_OMANY]
 | 
			
		||||
var      = locale.units_force
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_184
 | 
			
		||||
flags    = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _locale_units
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
str      = STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_LOCALISATION_UNITS_FORCE_IMPERIAL
 | 
			
		||||
 | 
			
		||||
[SDT_OMANY]
 | 
			
		||||
var      = locale.units_height
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_184
 | 
			
		||||
flags    = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _locale_units
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
str      = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_LOCALISATION_UNITS_HEIGHT_IMPERIAL
 | 
			
		||||
 | 
			
		||||
[SDT_SSTR]
 | 
			
		||||
var      = locale.digit_group_separator
 | 
			
		||||
type     = SLE_STRQ
 | 
			
		||||
from     = SLV_118
 | 
			
		||||
flags    = SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = nullptr
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_SSTR]
 | 
			
		||||
var      = locale.digit_group_separator_currency
 | 
			
		||||
type     = SLE_STRQ
 | 
			
		||||
from     = SLV_118
 | 
			
		||||
flags    = SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = nullptr
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_SSTR]
 | 
			
		||||
var      = locale.digit_decimal_separator
 | 
			
		||||
type     = SLE_STRQ
 | 
			
		||||
from     = SLV_126
 | 
			
		||||
flags    = SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = nullptr
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
							
								
								
									
										148
									
								
								src/table/settings/multimedia_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										148
									
								
								src/table/settings/multimedia_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,148 @@
 | 
			
		||||
; 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/>.
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
; Multimedia (sound / music) settings as stored in the main configuration file ("openttd.cfg").
 | 
			
		||||
 | 
			
		||||
[pre-amble]
 | 
			
		||||
 | 
			
		||||
static const SettingVariant _multimedia_settings_table[] = {
 | 
			
		||||
[post-amble]
 | 
			
		||||
};
 | 
			
		||||
[templates]
 | 
			
		||||
SDTC_BOOL  =  SDTC_BOOL(              $var,        $flags, $def,                              $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
SDTC_LIST  =  SDTC_LIST(              $var, $type, $flags, $def,                                                                          $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
SDTC_VAR   =   SDTC_VAR(              $var, $type, $flags, $def,       $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
 | 
			
		||||
[validation]
 | 
			
		||||
SDTC_VAR = static_assert($max <= MAX_$type, "Maximum value for $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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = sound.news_ticker
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SOUND_TICKER
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = sound.news_full
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SOUND_NEWS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = sound.new_year
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SOUND_NEW_YEAR
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = sound.confirm
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SOUND_CONFIRM
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = sound.click_beep
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SOUND_CLICK
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = sound.disaster
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SOUND_DISASTER
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = sound.vehicle
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SOUND_VEHICLE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = sound.ambient
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_SOUND_AMBIENT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = music.playlist
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 5
 | 
			
		||||
interval = 1
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = music.music_vol
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 50
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 127
 | 
			
		||||
interval = 1
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_VAR]
 | 
			
		||||
var      = music.effect_vol
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 100
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 127
 | 
			
		||||
interval = 1
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_LIST]
 | 
			
		||||
var      = music.custom_1
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = nullptr
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_LIST]
 | 
			
		||||
var      = music.custom_2
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = nullptr
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = music.playing
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDTC_BOOL]
 | 
			
		||||
var      = music.shuffle
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = false
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
							
								
								
									
										201
									
								
								src/table/settings/news_display_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										201
									
								
								src/table/settings/news_display_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,201 @@
 | 
			
		||||
; 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/>.
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
; News display settings as stored in the main configuration file ("openttd.cfg").
 | 
			
		||||
 | 
			
		||||
[pre-amble]
 | 
			
		||||
static std::initializer_list<const char*> _news_display{ "off", "summarized", "full"};
 | 
			
		||||
 | 
			
		||||
static const SettingVariant _news_display_settings_table[] = {
 | 
			
		||||
[post-amble]
 | 
			
		||||
};
 | 
			
		||||
[templates]
 | 
			
		||||
SDTC_OMANY = SDTC_OMANY(              $var, $type, $flags, $def,             $max, $full,     $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
 | 
			
		||||
[validation]
 | 
			
		||||
SDTC_OMANY = static_assert($max <= MAX_$type, "Maximum value for $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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.arrival_player
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.arrival_other
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.accident
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.company_info
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.open
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.close
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.economy
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.production_player
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.production_other
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.production_nobody
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.advice
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_ADVICE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.new_vehicles
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_NEW_VEHICLES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.acceptance
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.subsidies
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_SUBSIDIES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
[SDTC_OMANY]
 | 
			
		||||
var      = news_display.general
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
max      = 2
 | 
			
		||||
full     = _news_display
 | 
			
		||||
str      = STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF
 | 
			
		||||
 | 
			
		||||
@@ -14,25 +14,10 @@
 | 
			
		||||
; be saved in their new place.
 | 
			
		||||
 | 
			
		||||
[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
 | 
			
		||||
uint8 _old_units;                                      ///< Old units from old savegames
 | 
			
		||||
 | 
			
		||||
/* Most of these strings are used both for gameopt-backward compatibility
 | 
			
		||||
 * and the settings tables. The rest is here for consistency. */
 | 
			
		||||
static std::initializer_list<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 std::initializer_list<const char*> _locale_units{"imperial", "metric", "si", "gameunits"};
 | 
			
		||||
static std::initializer_list<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 std::initializer_list<const char*> _climates{"temperate", "arctic", "tropic", "toyland"};
 | 
			
		||||
static std::initializer_list<const char*> _autosave_interval{"off", "monthly", "quarterly", "half year", "yearly"};
 | 
			
		||||
static std::initializer_list<const char*> _roadsides{"left", "right"};
 | 
			
		||||
static std::initializer_list<const char*> _savegame_date{"long", "short", "iso"};
 | 
			
		||||
static std::initializer_list<const char*> _osk_activation{"disabled", "double", "single", "immediately"};
 | 
			
		||||
static std::initializer_list<const char*> _settings_profiles{"easy", "medium", "hard"};
 | 
			
		||||
static std::initializer_list<const char*> _news_display{ "off", "summarized", "full"};
 | 
			
		||||
 | 
			
		||||
static const SettingVariant _gameopt_settings_table[] = {
 | 
			
		||||
static const SettingVariant _old_gameopt_settings_table[] = {
 | 
			
		||||
/* 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
 | 
			
		||||
							
								
								
									
										617
									
								
								src/table/settings/pathfinding_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										617
									
								
								src/table/settings/pathfinding_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,617 @@
 | 
			
		||||
; 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/>.
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
; Pathfinding settings as stored in the main configuration file ("openttd.cfg")
 | 
			
		||||
; and in the savegame PATS chunk.
 | 
			
		||||
 | 
			
		||||
[pre-amble]
 | 
			
		||||
static void InvalidateShipPathCache(int32 new_value);
 | 
			
		||||
 | 
			
		||||
static const SettingVariant _pathfinding_settings_table[] = {
 | 
			
		||||
[post-amble]
 | 
			
		||||
};
 | 
			
		||||
[templates]
 | 
			
		||||
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]
 | 
			
		||||
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
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = pf.forbid_90_deg
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_FORBID_90_DEG
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT
 | 
			
		||||
post_cb  = InvalidateShipPathCache
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = pf.roadveh_queue
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = pf.new_pathfinding_all
 | 
			
		||||
to       = SLV_87
 | 
			
		||||
def      = false
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = pf.yapf.ship_use_yapf
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
to       = SLV_87
 | 
			
		||||
def      = false
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = pf.yapf.road_use_yapf
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
to       = SLV_87
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = pf.yapf.rail_use_yapf
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
to       = SLV_87
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.pathfinder_for_trains
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_87
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PATHFINDER_NPF
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.pathfinder_for_roadvehs
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_87
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PATHFINDER_NPF
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.pathfinder_for_ships
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_87
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 2
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_PATHFINDER_NPF
 | 
			
		||||
post_cb  = InvalidateShipPathCache
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = pf.reverse_at_signals
 | 
			
		||||
from     = SLV_159
 | 
			
		||||
def      = false
 | 
			
		||||
str      = STR_CONFIG_SETTING_REVERSE_AT_SIGNALS
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.wait_oneway_signal
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
def      = 15
 | 
			
		||||
min      = 2
 | 
			
		||||
max      = 255
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.wait_twoway_signal
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
def      = 41
 | 
			
		||||
min      = 2
 | 
			
		||||
max      = 255
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.wait_for_pbs_path
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_100
 | 
			
		||||
def      = 30
 | 
			
		||||
min      = 2
 | 
			
		||||
max      = 255
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = pf.reserve_paths
 | 
			
		||||
from     = SLV_100
 | 
			
		||||
def      = false
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.path_backoff_interval
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_100
 | 
			
		||||
def      = 20
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 255
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_max_search_nodes
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 10000
 | 
			
		||||
min      = 500
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_rail_firstred_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 10 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_rail_firstred_exit_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 100 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_rail_lastred_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 10 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_rail_station_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 1 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_rail_slope_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 1 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_rail_curve_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 1 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_rail_depot_reverse_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 50 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_rail_pbs_cross_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_100
 | 
			
		||||
def      = 3 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_rail_pbs_signal_back_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_100
 | 
			
		||||
def      = 15 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_buoy_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 2 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_water_curve_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 1 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_road_curve_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 1 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_crossing_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
def      = 3 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_road_drive_through_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_47
 | 
			
		||||
def      = 8 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_road_dt_occupied_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_130
 | 
			
		||||
def      = 8 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.npf_road_bay_occupied_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_130
 | 
			
		||||
def      = 15 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.npf.maximum_go_to_depot_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_131
 | 
			
		||||
def      = 20 * NPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = pf.yapf.disable_node_optimization
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = false
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.max_search_nodes
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 10000
 | 
			
		||||
min      = 500
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = pf.yapf.rail_firstred_twoway_eol
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = false
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_firstred_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 10 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_firstred_exit_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 100 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_lastred_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 10 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_lastred_exit_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 100 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_station_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 10 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_slope_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 2 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_curve45_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 1 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_curve90_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 6 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_depot_reverse_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 50 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_crossing_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 3 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_look_ahead_max_signals
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 10
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 100
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_look_ahead_signal_p0
 | 
			
		||||
type     = SLE_INT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 500
 | 
			
		||||
min      = -1000000
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_look_ahead_signal_p1
 | 
			
		||||
type     = SLE_INT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = -100
 | 
			
		||||
min      = -1000000
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_look_ahead_signal_p2
 | 
			
		||||
type     = SLE_INT
 | 
			
		||||
from     = SLV_28
 | 
			
		||||
def      = 5
 | 
			
		||||
min      = -1000000
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_pbs_cross_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_100
 | 
			
		||||
def      = 3 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_pbs_station_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_100
 | 
			
		||||
def      = 8 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_pbs_signal_back_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_100
 | 
			
		||||
def      = 15 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_doubleslip_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_100
 | 
			
		||||
def      = 1 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_longer_platform_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_33
 | 
			
		||||
def      = 8 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 20000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_longer_platform_per_tile_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_33
 | 
			
		||||
def      = 0 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 20000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_shorter_platform_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_33
 | 
			
		||||
def      = 40 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 20000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.rail_shorter_platform_per_tile_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_33
 | 
			
		||||
def      = 0 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 20000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.road_slope_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_33
 | 
			
		||||
def      = 2 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.road_curve_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_33
 | 
			
		||||
def      = 1 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.road_crossing_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_33
 | 
			
		||||
def      = 3 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.road_stop_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_47
 | 
			
		||||
def      = 8 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.road_stop_occupied_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_130
 | 
			
		||||
def      = 8 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.road_stop_bay_occupied_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_130
 | 
			
		||||
def      = 15 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.maximum_go_to_depot_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_131
 | 
			
		||||
def      = 20 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.ship_curve45_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_SHIP_CURVE_PENALTY
 | 
			
		||||
def      = 1 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = pf.yapf.ship_curve90_penalty
 | 
			
		||||
type     = SLE_UINT
 | 
			
		||||
from     = SLV_SHIP_CURVE_PENALTY
 | 
			
		||||
def      = 6 * YAPF_TILE_LENGTH
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1000000
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
							
								
								
									
										112
									
								
								src/table/settings/script_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										112
									
								
								src/table/settings/script_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,112 @@
 | 
			
		||||
; 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/>.
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
; Script settings as stored in the main configuration file ("openttd.cfg")
 | 
			
		||||
; and in the savegame PATS chunk.
 | 
			
		||||
 | 
			
		||||
[pre-amble]
 | 
			
		||||
static std::initializer_list<const char*> _settings_profiles{"easy", "medium", "hard"};
 | 
			
		||||
 | 
			
		||||
static const SettingVariant _script_settings_table[] = {
 | 
			
		||||
[post-amble]
 | 
			
		||||
};
 | 
			
		||||
[templates]
 | 
			
		||||
SDT_BOOL   =   SDT_BOOL(GameSettings, $var,        $flags, $def,                              $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
SDT_OMANY  =  SDT_OMANY(GameSettings, $var, $type, $flags, $def,             $max, $full,     $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $load, $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]
 | 
			
		||||
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
 | 
			
		||||
load     = nullptr
 | 
			
		||||
from     = SL_MIN_VERSION
 | 
			
		||||
to       = SL_MAX_VERSION
 | 
			
		||||
cat      = SC_ADVANCED
 | 
			
		||||
extra    = 0
 | 
			
		||||
startup  = false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
[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
 | 
			
		||||
str      = STR_CONFIG_SETTING_AI_PROFILE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_AI_PROFILE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_AI_PROFILE_EASY
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = script.script_max_opcode_till_suspend
 | 
			
		||||
type     = SLE_UINT32
 | 
			
		||||
from     = SLV_107
 | 
			
		||||
flags    = SF_NEWGAME_ONLY
 | 
			
		||||
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
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = script.script_max_memory_megabytes
 | 
			
		||||
type     = SLE_UINT32
 | 
			
		||||
from     = SLV_SCRIPT_MEMLIMIT
 | 
			
		||||
flags    = SF_NEWGAME_ONLY
 | 
			
		||||
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
 | 
			
		||||
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
 | 
			
		||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										545
									
								
								src/table/settings/world_settings.ini
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										545
									
								
								src/table/settings/world_settings.ini
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,545 @@
 | 
			
		||||
; 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/>.
 | 
			
		||||
;
 | 
			
		||||
 | 
			
		||||
; World settings as stored in the main configuration file ("openttd.cfg")
 | 
			
		||||
; and in the savegame PATS chunk.
 | 
			
		||||
; World settings are everything related to how the world came to be, so
 | 
			
		||||
; basically construction and game_creation settings.
 | 
			
		||||
 | 
			
		||||
[pre-amble]
 | 
			
		||||
static bool CheckMaxHeightLevel(int32 &new_value);
 | 
			
		||||
static bool CheckFreeformEdges(int32 &new_value);
 | 
			
		||||
static void UpdateFreeformEdges(int32 new_value);
 | 
			
		||||
 | 
			
		||||
static const SettingVariant _world_settings_table[] = {
 | 
			
		||||
[post-amble]
 | 
			
		||||
};
 | 
			
		||||
[templates]
 | 
			
		||||
SDT_BOOL   =   SDT_BOOL(GameSettings, $var,        $flags, $def,                              $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to,        $cat, $extra, $startup),
 | 
			
		||||
SDT_OMANY  =  SDT_OMANY(GameSettings, $var, $type, $flags, $def,             $max, $full,     $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $load, $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]
 | 
			
		||||
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
 | 
			
		||||
load     = nullptr
 | 
			
		||||
from     = SL_MIN_VERSION
 | 
			
		||||
to       = SL_MAX_VERSION
 | 
			
		||||
cat      = SC_ADVANCED
 | 
			
		||||
extra    = 0
 | 
			
		||||
startup  = false
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
; 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]
 | 
			
		||||
var      = game_creation.town_name
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_97
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = 0
 | 
			
		||||
max      = 255
 | 
			
		||||
full     = _town_names
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_OMANY]
 | 
			
		||||
var      = game_creation.landscape
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_97
 | 
			
		||||
flags    = SF_GUI_DROPDOWN | SF_NEWGAME_ONLY
 | 
			
		||||
def      = 0
 | 
			
		||||
max      = 3
 | 
			
		||||
full     = _climates
 | 
			
		||||
load     = ConvertLandscape
 | 
			
		||||
str      = STR_CONFIG_SETTING_LANDSCAPE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT
 | 
			
		||||
strval   = STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.heightmap_height
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_MAPGEN_SETTINGS_REVAMP
 | 
			
		||||
flags    = SF_NEWGAME_ONLY
 | 
			
		||||
def      = MAP_HEIGHT_LIMIT_AUTO_MINIMUM
 | 
			
		||||
min      = MIN_HEIGHTMAP_HEIGHT
 | 
			
		||||
max      = MAX_MAP_HEIGHT_LIMIT
 | 
			
		||||
interval = 1
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.snow_line_height
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_SCENEDIT_ONLY
 | 
			
		||||
def      = DEF_SNOWLINE_HEIGHT
 | 
			
		||||
min      = MIN_SNOWLINE_HEIGHT
 | 
			
		||||
max      = MAX_SNOWLINE_HEIGHT
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_SNOWLINE_HEIGHT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.snow_coverage
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_MAPGEN_SETTINGS_REVAMP
 | 
			
		||||
flags    = SF_NEWGAME_ONLY
 | 
			
		||||
def      = DEF_SNOW_COVERAGE
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100
 | 
			
		||||
interval = 10
 | 
			
		||||
str      = STR_CONFIG_SETTING_SNOW_COVERAGE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SNOW_COVERAGE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_SNOW_COVERAGE_VALUE
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.desert_coverage
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_MAPGEN_SETTINGS_REVAMP
 | 
			
		||||
flags    = SF_NEWGAME_ONLY
 | 
			
		||||
def      = DEF_DESERT_COVERAGE
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 100
 | 
			
		||||
interval = 10
 | 
			
		||||
str      = STR_CONFIG_SETTING_DESERT_COVERAGE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_DESERT_COVERAGE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_DESERT_COVERAGE_VALUE
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.starting_year
 | 
			
		||||
type     = SLE_INT32
 | 
			
		||||
def      = DEF_START_YEAR
 | 
			
		||||
min      = MIN_YEAR
 | 
			
		||||
max      = MAX_YEAR
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_STARTING_YEAR
 | 
			
		||||
strval   = STR_JUST_INT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.ending_year
 | 
			
		||||
type     = SLE_INT32
 | 
			
		||||
from     = SLV_ENDING_YEAR
 | 
			
		||||
flags    = SF_GUI_0_IS_SPECIAL
 | 
			
		||||
def      = DEF_END_YEAR
 | 
			
		||||
min      = MIN_YEAR
 | 
			
		||||
max      = MAX_YEAR - 1
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_ENDING_YEAR
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ENDING_YEAR_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_ENDING_YEAR_VALUE
 | 
			
		||||
cat      = SC_ADVANCED
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.land_generator
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_30
 | 
			
		||||
flags    = SF_GUI_DROPDOWN | SF_NEWGAME_ONLY
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_LAND_GENERATOR
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.oil_refinery_limit
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_30
 | 
			
		||||
def      = 32
 | 
			
		||||
min      = 12
 | 
			
		||||
max      = 128
 | 
			
		||||
str      = STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TILE_LENGTH
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.tgen_smoothness
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_30
 | 
			
		||||
flags    = SF_GUI_DROPDOWN | SF_NEWGAME_ONLY
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = TGEN_SMOOTHNESS_BEGIN
 | 
			
		||||
max      = TGEN_SMOOTHNESS_END - 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.variety
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_197
 | 
			
		||||
flags    = SF_GUI_DROPDOWN | SF_NEWGAME_ONLY
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 5
 | 
			
		||||
str      = STR_CONFIG_SETTING_VARIETY
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_VARIETY_HELPTEXT
 | 
			
		||||
strval   = STR_VARIETY_NONE
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.generation_seed
 | 
			
		||||
type     = SLE_UINT32
 | 
			
		||||
from     = SLV_30
 | 
			
		||||
def      = GENERATE_NEW_SEED
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = UINT32_MAX
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.tree_placer
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_30
 | 
			
		||||
flags    = SF_GUI_DROPDOWN | SF_NEWGAME_ONLY | SF_SCENEDIT_TOO
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_TREE_PLACER
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TREE_PLACER_NONE
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.heightmap_rotation
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_HEIGHTMAP_ROTATION
 | 
			
		||||
strval   = STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.se_flat_world_height
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 15
 | 
			
		||||
str      = STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.map_x
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 8
 | 
			
		||||
min      = MIN_MAP_SIZE_BITS
 | 
			
		||||
max      = MAX_MAP_SIZE_BITS
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.map_y
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC
 | 
			
		||||
def      = 8
 | 
			
		||||
min      = MIN_MAP_SIZE_BITS
 | 
			
		||||
max      = MAX_MAP_SIZE_BITS
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.water_borders
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_111
 | 
			
		||||
def      = 15
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 16
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.custom_town_number
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_115
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 5000
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.custom_terrain_type
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_MAPGEN_SETTINGS_REVAMP
 | 
			
		||||
flags    = SF_NEWGAME_ONLY
 | 
			
		||||
def      = MAP_HEIGHT_LIMIT_AUTO_MINIMUM
 | 
			
		||||
min      = MIN_CUSTOM_TERRAIN_TYPE
 | 
			
		||||
max      = MAX_MAP_HEIGHT_LIMIT
 | 
			
		||||
interval = 1
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.custom_sea_level
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_149
 | 
			
		||||
def      = CUSTOM_SEA_LEVEL_MIN_PERCENTAGE
 | 
			
		||||
min      = CUSTOM_SEA_LEVEL_MIN_PERCENTAGE
 | 
			
		||||
max      = CUSTOM_SEA_LEVEL_MAX_PERCENTAGE
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.min_river_length
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_163
 | 
			
		||||
def      = 16
 | 
			
		||||
min      = 2
 | 
			
		||||
max      = 255
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.river_route_random
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_163
 | 
			
		||||
def      = 5
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = 255
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = game_creation.amount_of_rivers
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_163
 | 
			
		||||
flags    = SF_GUI_DROPDOWN | SF_NEWGAME_ONLY
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 3
 | 
			
		||||
str      = STR_CONFIG_SETTING_RIVER_AMOUNT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT
 | 
			
		||||
strval   = STR_RIVERS_NONE
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.map_height_limit
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_194
 | 
			
		||||
flags    = SF_NEWGAME_ONLY | SF_SCENEDIT_TOO | SF_GUI_0_IS_SPECIAL
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = MIN_MAP_HEIGHT_LIMIT
 | 
			
		||||
max      = MAX_MAP_HEIGHT_LIMIT
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_MAP_HEIGHT_LIMIT_VALUE
 | 
			
		||||
pre_cb   = CheckMaxHeightLevel
 | 
			
		||||
post_cb  = [](auto) { InvalidateWindowClassesData(WC_SMALLMAP, 2); }
 | 
			
		||||
cat      = SC_ADVANCED
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = construction.build_on_slopes
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = true
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.command_pause_level
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_154
 | 
			
		||||
flags    = SF_GUI_DROPDOWN | SF_NO_NETWORK
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 3
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.terraform_per_64k_frames
 | 
			
		||||
type     = SLE_UINT32
 | 
			
		||||
from     = SLV_156
 | 
			
		||||
def      = 64 << 16
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1 << 30
 | 
			
		||||
interval = 1
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.terraform_frame_burst
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_156
 | 
			
		||||
def      = 4096
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1 << 15
 | 
			
		||||
interval = 1
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.clear_per_64k_frames
 | 
			
		||||
type     = SLE_UINT32
 | 
			
		||||
from     = SLV_156
 | 
			
		||||
def      = 64 << 16
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1 << 30
 | 
			
		||||
interval = 1
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.clear_frame_burst
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_156
 | 
			
		||||
def      = 4096
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1 << 15
 | 
			
		||||
interval = 1
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.tree_per_64k_frames
 | 
			
		||||
type     = SLE_UINT32
 | 
			
		||||
from     = SLV_175
 | 
			
		||||
def      = 64 << 16
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1 << 30
 | 
			
		||||
interval = 1
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.tree_frame_burst
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_175
 | 
			
		||||
def      = 4096
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 1 << 15
 | 
			
		||||
interval = 1
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = construction.autoslope
 | 
			
		||||
from     = SLV_75
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_AUTOSLOPE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = construction.extra_dynamite
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_EXTRADYNAMITE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.max_bridge_length
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_159
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = 64
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = MAX_MAP_SIZE
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TILE_LENGTH
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.max_bridge_height
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_194
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = 12
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = MAX_TILE_HEIGHT
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT
 | 
			
		||||
strval   = STR_JUST_COMMA
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.max_tunnel_length
 | 
			
		||||
type     = SLE_UINT16
 | 
			
		||||
from     = SLV_159
 | 
			
		||||
flags    = SF_NO_NETWORK
 | 
			
		||||
def      = 64
 | 
			
		||||
min      = 1
 | 
			
		||||
max      = MAX_MAP_SIZE
 | 
			
		||||
interval = 1
 | 
			
		||||
str      = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TILE_LENGTH
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.train_signal_side
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_GUI_DROPDOWN | SF_NO_NETWORK
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_SIGNALSIDE
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_SIGNALSIDE_LEFT
 | 
			
		||||
post_cb  = [](auto) { MarkWholeScreenDirty(); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = construction.road_stop_on_town_road
 | 
			
		||||
from     = SLV_47
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = construction.road_stop_on_competitor_road
 | 
			
		||||
from     = SLV_114
 | 
			
		||||
def      = true
 | 
			
		||||
str      = STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.raw_industry_construction
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = 0
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 2
 | 
			
		||||
str      = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE
 | 
			
		||||
post_cb  = [](auto) { InvalidateWindowData(WC_BUILD_INDUSTRY, 0); }
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.industry_platform
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_148
 | 
			
		||||
def      = 1
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 4
 | 
			
		||||
str      = STR_CONFIG_SETTING_INDUSTRY_PLATFORM
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_TILE_LENGTH
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_BOOL]
 | 
			
		||||
var      = construction.freeform_edges
 | 
			
		||||
from     = SLV_111
 | 
			
		||||
def      = true
 | 
			
		||||
pre_cb   = CheckFreeformEdges
 | 
			
		||||
post_cb  = UpdateFreeformEdges
 | 
			
		||||
cat      = SC_EXPERT
 | 
			
		||||
 | 
			
		||||
[SDT_VAR]
 | 
			
		||||
var      = construction.extra_tree_placement
 | 
			
		||||
type     = SLE_UINT8
 | 
			
		||||
from     = SLV_132
 | 
			
		||||
flags    = SF_GUI_DROPDOWN
 | 
			
		||||
def      = 2
 | 
			
		||||
min      = 0
 | 
			
		||||
max      = 3
 | 
			
		||||
str      = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT
 | 
			
		||||
strhelp  = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT
 | 
			
		||||
strval   = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NO_SPREAD
 | 
			
		||||
cat      = SC_BASIC
 | 
			
		||||
		Reference in New Issue
	
	Block a user