mirror of https://github.com/OpenTTD/OpenTTD.git
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:
parent
d9ca9ca555
commit
8f5d0ecde3
|
@ -17,6 +17,7 @@
|
||||||
#include "../linkgraph/linkgraphschedule.h"
|
#include "../linkgraph/linkgraphschedule.h"
|
||||||
#include "../network/network.h"
|
#include "../network/network.h"
|
||||||
#include "../settings_internal.h"
|
#include "../settings_internal.h"
|
||||||
|
#include "../settings_table.h"
|
||||||
|
|
||||||
#include "../safeguards.h"
|
#include "../safeguards.h"
|
||||||
|
|
||||||
|
@ -165,7 +166,6 @@ public:
|
||||||
SaveLoadTable GetLinkGraphJobDesc()
|
SaveLoadTable GetLinkGraphJobDesc()
|
||||||
{
|
{
|
||||||
static std::vector<SaveLoad> saveloads;
|
static std::vector<SaveLoad> saveloads;
|
||||||
static const char *prefix = "linkgraph.";
|
|
||||||
|
|
||||||
static const SaveLoad job_desc[] = {
|
static const SaveLoad job_desc[] = {
|
||||||
SLE_VAR(LinkGraphJob, join_date, SLE_INT32),
|
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 */
|
/* Build the SaveLoad array on first call and don't touch it later on */
|
||||||
if (saveloads.size() == 0) {
|
if (saveloads.size() == 0) {
|
||||||
GetSettingSaveLoadByPrefix(prefix, saveloads);
|
GetSaveLoadFromSettingTable(_linkgraph_settings, saveloads);
|
||||||
|
|
||||||
for (auto &sl : saveloads) {
|
for (auto &sl : saveloads) {
|
||||||
sl.address_proc = proc;
|
sl.address_proc = proc;
|
||||||
|
|
|
@ -151,7 +151,7 @@ struct OPTSChunkHandler : ChunkHandler {
|
||||||
* a networking environment. This ensures for example that the local
|
* a networking environment. This ensures for example that the local
|
||||||
* autosave-frequency stays when joining a network-server */
|
* autosave-frequency stays when joining a network-server */
|
||||||
PrepareOldDiffCustom();
|
PrepareOldDiffCustom();
|
||||||
LoadSettings(_gameopt_settings, &_settings_game, _gameopt_sl_compat);
|
LoadSettings(_old_gameopt_settings, &_settings_game, _gameopt_sl_compat);
|
||||||
HandleOldDiffCustom(true);
|
HandleOldDiffCustom(true);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -159,22 +159,51 @@ struct OPTSChunkHandler : ChunkHandler {
|
||||||
struct PATSChunkHandler : ChunkHandler {
|
struct PATSChunkHandler : ChunkHandler {
|
||||||
PATSChunkHandler() : ChunkHandler('PATS', CH_TABLE) {}
|
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
|
void Load() const override
|
||||||
{
|
{
|
||||||
/* Copy over default setting since some might not get loaded in
|
/* Copy over default setting since some might not get loaded in
|
||||||
* a networking environment. This ensures for example that the local
|
* a networking environment. This ensures for example that the local
|
||||||
* currency setting stays when joining a network-server */
|
* 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
|
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
|
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 auto &GenericSettingTables()
|
||||||
{
|
{
|
||||||
static const SettingTable _generic_setting_tables[] = {
|
static const SettingTable _generic_setting_tables[] = {
|
||||||
_settings,
|
_difficulty_settings,
|
||||||
|
_economy_settings,
|
||||||
|
_game_settings,
|
||||||
|
_gui_settings,
|
||||||
|
_linkgraph_settings,
|
||||||
|
_locale_settings,
|
||||||
|
_multimedia_settings,
|
||||||
_network_settings,
|
_network_settings,
|
||||||
|
_news_display_settings,
|
||||||
|
_pathfinding_settings,
|
||||||
|
_script_settings,
|
||||||
|
_world_settings,
|
||||||
};
|
};
|
||||||
return _generic_setting_tables;
|
return _generic_setting_tables;
|
||||||
}
|
}
|
||||||
|
@ -1207,7 +1217,7 @@ void LoadFromConfig(bool startup)
|
||||||
GameLoadConfig(generic_ini, "game_scripts");
|
GameLoadConfig(generic_ini, "game_scripts");
|
||||||
|
|
||||||
PrepareOldDiffCustom();
|
PrepareOldDiffCustom();
|
||||||
IniLoadSettings(generic_ini, _gameopt_settings, "gameopt", &_settings_newgame, false);
|
IniLoadSettings(generic_ini, _old_gameopt_settings, "gameopt", &_settings_newgame, false);
|
||||||
HandleOldDiffCustom(false);
|
HandleOldDiffCustom(false);
|
||||||
|
|
||||||
ValidateSettings();
|
ValidateSettings();
|
||||||
|
@ -1393,16 +1403,16 @@ static const SettingDesc *GetSettingFromName(const std::string_view name, const
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the SaveLoad from all settings matching the prefix.
|
* Get the SaveLoad for all settings in the settings table.
|
||||||
* @param prefix The prefix to look for.
|
* @param settings The settings table to get the SaveLoad objects from.
|
||||||
* @param saveloads A vector to store the result in.
|
* @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);
|
const SettingDesc *sd = GetSettingDesc(desc);
|
||||||
if (!SlIsObjectCurrentlyValid(sd->save.version_from, sd->save.version_to)) continue;
|
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);
|
return std::visit([](auto&& arg) -> const SettingDesc * { return &arg; }, desc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
typedef span<const SettingVariant> SettingTable;
|
||||||
|
|
||||||
const SettingDesc *GetSettingFromName(const std::string_view name);
|
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 IntSettingDesc *sd, int32 value, bool force_newgame = false);
|
||||||
bool SetSettingValue(const StringSettingDesc *sd, const std::string 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"
|
#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 _company_settings{ _company_settings_table };
|
||||||
SettingTable _currency_settings{ _currency_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 _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 _window_settings{ _window_settings_table };
|
||||||
|
SettingTable _world_settings{ _world_settings_table };
|
||||||
#if defined(_WIN32) && !defined(DEDICATED)
|
#if defined(_WIN32) && !defined(DEDICATED)
|
||||||
SettingTable _win32_settings{ _win32_settings_table };
|
SettingTable _win32_settings{ _win32_settings_table };
|
||||||
#endif /* _WIN32 */
|
#endif /* _WIN32 */
|
||||||
|
|
|
@ -15,18 +15,25 @@
|
||||||
#include <array>
|
#include <array>
|
||||||
#include "settings_internal.h"
|
#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 _company_settings;
|
||||||
extern SettingTable _currency_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 _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 _window_settings;
|
||||||
|
extern SettingTable _world_settings;
|
||||||
#if defined(_WIN32) && !defined(DEDICATED)
|
#if defined(_WIN32) && !defined(DEDICATED)
|
||||||
extern SettingTable _win32_settings;
|
extern SettingTable _win32_settings;
|
||||||
#endif /* _WIN32 */
|
#endif /* _WIN32 */
|
||||||
|
|
|
@ -4,14 +4,24 @@ set(TABLE_BINARY_DIR ${GENERATED_BINARY_DIR}/table)
|
||||||
set(TABLE_INI_SOURCE_FILES
|
set(TABLE_INI_SOURCE_FILES
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/company_settings.ini
|
${CMAKE_CURRENT_SOURCE_DIR}/company_settings.ini
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/currency_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}/misc_settings.ini
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/multimedia_settings.ini
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/network_settings.ini
|
${CMAKE_CURRENT_SOURCE_DIR}/network_settings.ini
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/network_private_settings.ini
|
${CMAKE_CURRENT_SOURCE_DIR}/network_private_settings.ini
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/network_secrets_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}/win32_settings.ini
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/window_settings.ini
|
${CMAKE_CURRENT_SOURCE_DIR}/window_settings.ini
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/world_settings.ini
|
||||||
)
|
)
|
||||||
|
|
||||||
if (HOST_BINARY_DIR)
|
if (HOST_BINARY_DIR)
|
||||||
|
|
|
@ -33,7 +33,6 @@ extra = 0
|
||||||
startup = false
|
startup = false
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
[SDT_VAR]
|
[SDT_VAR]
|
||||||
var = rate
|
var = rate
|
||||||
type = SLE_UINT16
|
type = SLE_UINT16
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
|
@ -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
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
|
@ -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
|
|
@ -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
|
|
@ -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.
|
; be saved in their new place.
|
||||||
|
|
||||||
[pre-amble]
|
[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*> _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*> _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,
|
/* 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
|
* 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
|
* it funny to have the GameDifficulty struct be an array while it is a struct of
|
|
@ -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
|
|
@ -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
|
@ -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
|
Loading…
Reference in New Issue