Split save/load settings into separate INI files
Matching upstream for all settingspull/611/head
parent
ccfdf626ad
commit
6e671ed6e2
@ -0,0 +1,369 @@
|
||||
; 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]
|
||||
static const uint GAME_DIFFICULTY_NUM = 18;
|
||||
static 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"};
|
||||
static uint16 _old_diff_custom[GAME_DIFFICULTY_NUM];
|
||||
uint8 _old_diff_level; ///< Old difficulty level from old savegames
|
||||
|
||||
static void DifficultyNoiseChange(int32_t new_value);
|
||||
static void MaxNoAIsChange(int32_t new_value);
|
||||
static bool TownCouncilToleranceAdjust(int32 &new_value);
|
||||
static void DifficultyMoneyCheatMultiplayerChange(int32 new_value);
|
||||
static void DifficultyRenameTownsMultiplayerChange(int32 new_value);
|
||||
static void DifficultyOverrideTownSettingsMultiplayerChange(int32 new_value);
|
||||
|
||||
static const SettingDescEnumEntry _town_council_approval[] = {
|
||||
{ 0, STR_CITY_APPROVAL_LENIENT },
|
||||
{ 1, STR_CITY_APPROVAL_TOLERANT },
|
||||
{ 2, STR_CITY_APPROVAL_HOSTILE },
|
||||
{ 3, STR_CITY_APPROVAL_PERMISSIVE },
|
||||
{ 0, STR_NULL }
|
||||
};
|
||||
|
||||
static const SettingDescEnumEntry _vehicle_breakdown_modes[] = {
|
||||
{ 0, STR_DISASTER_NONE },
|
||||
{ 64, STR_VERY_REDUCED },
|
||||
{ 1, STR_DISASTER_REDUCED },
|
||||
{ 2, STR_DISASTER_NORMAL },
|
||||
{ 0, STR_NULL }
|
||||
};
|
||||
|
||||
static const SettingTable _difficulty_settings{
|
||||
[post-amble]
|
||||
};
|
||||
[templates]
|
||||
SDTG_VAR = SDTG_VAR($name, $type, $flags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_ENUM = SDT_ENUM(GameSettings, $var, $type, $flags, $def, $str, $strhelp, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname, $enumlist),
|
||||
|
||||
[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
|
||||
guiproc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
startup = false
|
||||
extver = SlXvFeatureTest()
|
||||
patxname = nullptr
|
||||
enumlist = <this parameter must be set>
|
||||
|
||||
|
||||
; 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.competitors_interval
|
||||
type = SLE_UINT16
|
||||
def = 10
|
||||
min = MIN_COMPETITORS_INTERVAL
|
||||
max = MAX_COMPETITORS_INTERVAL
|
||||
interval = 1
|
||||
patxname = ""difficulty.competitors_interval""
|
||||
|
||||
[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_NORMAL
|
||||
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 | SF_GUI_0_IS_SPECIAL
|
||||
def = 300000
|
||||
min = LOAN_INTERVAL
|
||||
max = 2000000000
|
||||
pre_cb = [](auto &new_value) { new_value = (new_value + LOAN_INTERVAL / 2) / LOAN_INTERVAL * LOAN_INTERVAL; return true; }
|
||||
interval = LOAN_INTERVAL
|
||||
str = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN
|
||||
strhelp = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_VALUE
|
||||
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.vehicle_costs_in_depot
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = 1
|
||||
min = 1
|
||||
max = 8
|
||||
str = STR_CONFIG_SETTING_RUNNING_COSTS_IN_DEPOT
|
||||
strhelp = STR_CONFIG_SETTING_RUNNING_COSTS_IN_DEPOT_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_RUNNING_COSTS_IN_DEPOT_VALUE
|
||||
patxname = ""difficulty.vehicle_costs_in_depot""
|
||||
|
||||
[SDT_VAR]
|
||||
var = difficulty.vehicle_costs_when_stopped
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = 1
|
||||
min = 1
|
||||
max = 8
|
||||
str = STR_CONFIG_SETTING_RUNNING_COSTS_WHEN_STOPPED
|
||||
strhelp = STR_CONFIG_SETTING_RUNNING_COSTS_WHEN_STOPPED_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_RUNNING_COSTS_WHEN_STOPPED_VALUE
|
||||
strval = STR_CONFIG_SETTING_RUNNING_COSTS_IN_DEPOT_VALUE
|
||||
patxname = ""difficulty.vehicle_costs_when_stopped""
|
||||
|
||||
[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_ENUM]
|
||||
var = difficulty.vehicle_breakdowns
|
||||
type = SLE_UINT8
|
||||
from = SLV_97
|
||||
def = 1
|
||||
enumlist = _vehicle_breakdown_modes
|
||||
str = STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS
|
||||
strhelp = STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT
|
||||
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_ENUM]
|
||||
var = difficulty.town_council_tolerance
|
||||
type = SLE_UINT8
|
||||
from = SLV_97
|
||||
flags = SF_ENUM_PRE_CB_VALIDATE
|
||||
def = 0
|
||||
enumlist = _town_council_approval
|
||||
str = STR_CONFIG_SETTING_CITY_APPROVAL
|
||||
strhelp = STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT
|
||||
pre_cb = TownCouncilToleranceAdjust
|
||||
post_cb = DifficultyNoiseChange
|
||||
|
||||
[SDT_BOOL]
|
||||
var = difficulty.money_cheat_in_multiplayer
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_MONEY_CHEAT_MULTIPLAYER
|
||||
strhelp = STR_CONFIG_SETTING_MONEY_CHEAT_MULTIPLAYER_HELPTEXT
|
||||
post_cb = DifficultyMoneyCheatMultiplayerChange
|
||||
cat = SC_EXPERT
|
||||
patxname = ""cheat.difficulty.money_cheat_in_multiplayer""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = difficulty.rename_towns_in_multiplayer
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_RENAME_TOWNS_MULTIPLAYER
|
||||
strhelp = STR_CONFIG_SETTING_RENAME_TOWNS_MULTIPLAYER_HELPTEXT
|
||||
post_cb = DifficultyRenameTownsMultiplayerChange
|
||||
cat = SC_EXPERT
|
||||
patxname = ""cheat.difficulty.rename_towns_in_multiplayer""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = difficulty.override_town_settings_in_multiplayer
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_OVERRIDE_TOWN_SETTINGS_MULTIPLAYER
|
||||
strhelp = STR_CONFIG_SETTING_OVERRIDE_TOWN_SETTINGS_MULTIPLAYER_HELPTEXT
|
||||
post_cb = DifficultyOverrideTownSettingsMultiplayerChange
|
||||
cat = SC_EXPERT
|
||||
patxname = ""cheat.difficulty.override_town_settings_in_multiplayer""
|
||||
|
||||
[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,789 @@
|
||||
; 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_t new_value);
|
||||
static void InvalidateCompanyWindow(int32 new_value);
|
||||
static bool DayLengthPreChange(int32 &new_value);
|
||||
static void DayLengthChanged(int32 new_value);
|
||||
static bool CheckSharingRail(int32 &new_value);
|
||||
static void SharingRailChanged(int32 new_value);
|
||||
static bool CheckSharingRoad(int32 &new_value);
|
||||
static bool CheckSharingWater(int32 &new_value);
|
||||
static bool CheckSharingAir(int32 &new_value);
|
||||
static void TownZoneModeChanged(int32 new_value);
|
||||
static void TownZoneCustomValueChanged(int32 new_value);
|
||||
|
||||
static bool OrderTownGrowthRate(SettingOnGuiCtrlData &data);
|
||||
|
||||
static const SettingTable _economy_settings{
|
||||
[post-amble]
|
||||
};
|
||||
[templates]
|
||||
SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
|
||||
[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
|
||||
guiproc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
startup = false
|
||||
extver = SlXvFeatureTest()
|
||||
patxname = nullptr
|
||||
enumlist = <this parameter must be set>
|
||||
|
||||
|
||||
[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
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS
|
||||
strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT
|
||||
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x62); }
|
||||
|
||||
[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
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS
|
||||
strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.town_build_tunnels
|
||||
type = SLE_UINT8
|
||||
flags = SF_GUI_DROPDOWN | SF_PATCH
|
||||
def = TTM_ALLOWED
|
||||
min = TTM_BEGIN
|
||||
max = TTM_END - 1
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_TUNNELS
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_TUNNELS_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_TOWN_TUNNELS_FORBIDDEN
|
||||
cat = SC_BASIC
|
||||
patxname = ""economy.town_build_tunnels""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.town_max_road_slope
|
||||
type = SLE_UINT8
|
||||
flags = SF_GUI_0_IS_SPECIAL | SF_PATCH
|
||||
def = 4
|
||||
min = 0
|
||||
max = 8
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_MAX_ROAD_SLOPE
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_MAX_ROAD_SLOPE_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_TOWN_MAX_ROAD_SLOPE_VALUE
|
||||
cat = SC_BASIC
|
||||
patxname = ""economy.town_max_road_slope""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = economy.allow_town_bridges
|
||||
flags = SF_PATCH
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_ALLOW_TOWN_BRIDGES
|
||||
strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_BRIDGES_HELPTEXT
|
||||
cat = SC_BASIC
|
||||
patxname = ""economy.allow_town_bridges""
|
||||
|
||||
[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_VAR]
|
||||
var = economy.old_town_cargo_factor
|
||||
type = SLE_INT8
|
||||
flags = SF_PATCH
|
||||
def = 0
|
||||
min = -16
|
||||
max = +8
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_CARGO_FACTOR
|
||||
strval = STR_JUST_INT
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_TOWN_CARGO_ADJ, 1, 1)
|
||||
patxname = ""town_cargo_adj.economy.town_cargo_factor""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.town_cargo_scale_factor
|
||||
type = SLE_INT16
|
||||
flags = SF_DECIMAL1 | SF_DEC1SCALE | SF_PATCH
|
||||
def = 0
|
||||
min = -160
|
||||
max = +80
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_CARGO_FACTOR
|
||||
strval = STR_DECIMAL1_WITH_SCALE
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_CARGO_FACTOR_HELPTEXT
|
||||
patxname = ""town_cargo_adj.economy.town_cargo_scale_factor""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.industry_cargo_scale_factor
|
||||
type = SLE_INT16
|
||||
flags = SF_DECIMAL1 | SF_DEC1SCALE | SF_PATCH
|
||||
def = 0
|
||||
min = -50
|
||||
max = +50
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_INDUSTRY_CARGO_FACTOR
|
||||
strval = STR_DECIMAL1_WITH_SCALE
|
||||
strhelp = STR_CONFIG_SETTING_INDUSTRY_CARGO_FACTOR_HELPTEXT
|
||||
patxname = ""industry_cargo_adj.economy.industry_cargo_scale_factor""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.max_town_heightlevel
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = MAX_MAP_HEIGHT_LIMIT
|
||||
min = 2
|
||||
max = MAX_MAP_HEIGHT_LIMIT
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_ABOVE_HEIGHT
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_ABOVE_HEIGHT_HELPTEXT
|
||||
strval = STR_JUST_INT
|
||||
cat = SC_BASIC
|
||||
patxname = ""max_town_heightlevel.economy.max_town_heightlevel""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.min_town_land_area
|
||||
type = SLE_UINT16
|
||||
flags = SF_GUI_0_IS_SPECIAL | SF_PATCH
|
||||
def = 0
|
||||
min = 0
|
||||
max = 400
|
||||
interval = 5
|
||||
str = STR_CONFIG_SETTING_MIN_TOWN_LAND_AREA
|
||||
strhelp = STR_CONFIG_SETTING_MIN_TOWN_LAND_AREA_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_MIN_LAND_AREA_VALUE
|
||||
cat = SC_BASIC
|
||||
patxname = ""max_town_heightlevel.economy.min_town_land_area""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.min_city_land_area
|
||||
type = SLE_UINT16
|
||||
flags = SF_GUI_0_IS_SPECIAL | SF_PATCH
|
||||
def = 75
|
||||
min = 0
|
||||
max = 400
|
||||
interval = 5
|
||||
str = STR_CONFIG_SETTING_MIN_CITY_LAND_AREA
|
||||
strhelp = STR_CONFIG_SETTING_MIN_CITY_LAND_AREA_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_MIN_LAND_AREA_VALUE
|
||||
cat = SC_BASIC
|
||||
patxname = ""max_town_heightlevel.economy.min_city_land_area""
|
||||
|
||||
[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
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_INFLATION
|
||||
strhelp = STR_CONFIG_SETTING_INFLATION_HELPTEXT
|
||||
cat = SC_BASIC
|
||||
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x81); }
|
||||
|
||||
[SDT_BOOL]
|
||||
var = economy.inflation_fixed_dates
|
||||
flags = SF_PATCH
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_INFLATION_FIXED_DATES
|
||||
strhelp = STR_CONFIG_SETTING_INFLATION_FIXED_DATES_HELPTEXT
|
||||
patxname = ""inflation_fixed_dates.economy.inflation_fixed_dates""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.day_length_factor
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = 1
|
||||
min = 1
|
||||
max = 125
|
||||
str = STR_CONFIG_SETTING_DAY_LENGTH_FACTOR
|
||||
strhelp = STR_CONFIG_SETTING_DAY_LENGTH_FACTOR_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
pre_cb = DayLengthPreChange
|
||||
post_cb = DayLengthChanged
|
||||
cat = SC_BASIC
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_VARIABLE_DAY_LENGTH)
|
||||
patxname = ""variable_day_length.economy.day_length_factor""
|
||||
|
||||
[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 = InvalidateCompanyWindow
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.min_years_for_shares
|
||||
type = SLE_UINT8
|
||||
from = SLV_TRADING_AGE
|
||||
flags = SF_GUI_0_IS_SPECIAL
|
||||
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_CONFIG_SETTING_MIN_YEARS_FOR_SHARES_VALUE
|
||||
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_INT8
|
||||
from = SLV_54
|
||||
flags = SF_GUI_DROPDOWN
|
||||
def = 2
|
||||
min = -2
|
||||
max = 4
|
||||
str = STR_CONFIG_SETTING_TOWN_GROWTH
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_TOWN_GROWTH_EXTREME_SLOW
|
||||
guiproc = OrderTownGrowthRate
|
||||
|
||||
[SDT_BOOL]
|
||||
var = economy.town_zone_calc_mode
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_TOWN_ZONE_CALC_MODE
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_ZONE_CALC_MODE_HELPTEXT
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneModeChanged
|
||||
patxname = ""town_zone.economy.town_zone_calc_mode""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.town_zone_0_mult
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 15
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_ZONE_0_MULT
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_ZONE_0_MULT_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneCustomValueChanged
|
||||
patxname = ""town_zone.economy.town_zone_0_mult""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.town_zone_1_mult
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 9
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_ZONE_1_MULT
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_ZONE_1_MULT_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneCustomValueChanged
|
||||
patxname = ""town_zone.economy.town_zone_1_mult""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.town_zone_2_mult
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 0
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_ZONE_2_MULT
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_ZONE_2_MULT_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneCustomValueChanged
|
||||
patxname = ""town_zone.economy.town_zone_2_mult""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.town_zone_3_mult
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 5
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_ZONE_3_MULT
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_ZONE_3_MULT_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneCustomValueChanged
|
||||
patxname = ""town_zone.economy.town_zone_3_mult""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.town_zone_4_mult
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 3
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TOWN_ZONE_4_MULT
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_ZONE_4_MULT_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneCustomValueChanged
|
||||
patxname = ""town_zone.economy.town_zone_4_mult""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.city_zone_0_mult
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 15
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_CITY_ZONE_0_MULT
|
||||
strhelp = STR_CONFIG_SETTING_CITY_ZONE_0_MULT_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneCustomValueChanged
|
||||
patxname = ""town_zone.economy.city_zone_0_mult""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.city_zone_1_mult
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 9
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_CITY_ZONE_1_MULT
|
||||
strhelp = STR_CONFIG_SETTING_CITY_ZONE_1_MULT_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneCustomValueChanged
|
||||
patxname = ""town_zone.economy.city_zone_1_mult""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.city_zone_2_mult
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 0
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_CITY_ZONE_2_MULT
|
||||
strhelp = STR_CONFIG_SETTING_CITY_ZONE_2_MULT_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneCustomValueChanged
|
||||
patxname = ""town_zone.economy.city_zone_2_mult""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.city_zone_3_mult
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 5
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_CITY_ZONE_3_MULT
|
||||
strhelp = STR_CONFIG_SETTING_CITY_ZONE_3_MULT_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneCustomValueChanged
|
||||
patxname = ""town_zone.economy.city_zone_3_mult""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.city_zone_4_mult
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 3
|
||||
min = 0
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_CITY_ZONE_4_MULT
|
||||
strhelp = STR_CONFIG_SETTING_CITY_ZONE_4_MULT_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_EXPERT
|
||||
post_cb = TownZoneCustomValueChanged
|
||||
patxname = ""town_zone.economy.city_zone_4_mult""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.town_growth_cargo_transported
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = 0
|
||||
min = 0
|
||||
max = 100
|
||||
interval = 10
|
||||
str = STR_CONFIG_SETTING_TOWN_GROWTH_CARGO_TRANSPORTED
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_GROWTH_CARGO_TRANSPORTED_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_PERCENTAGE
|
||||
cat = SC_EXPERT
|
||||
patxname = ""town_growth.economy.town_growth_cargo_transported""
|
||||
|
||||
[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.town_min_distance
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 20
|
||||
min = 15
|
||||
max = 500
|
||||
interval = 5
|
||||
str = STR_CONFIG_SETTING_TOWN_MIN_DISTANCE
|
||||
strhelp = STR_CONFIG_SETTING_TOWN_MIN_DISTANCE_HELPTEXT
|
||||
strval = STR_JUST_INT
|
||||
patxname = ""town_min_distance.economy.town_min_distance""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = economy.infrastructure_sharing[0]
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SHARING_RAIL
|
||||
pre_cb = CheckSharingRail
|
||||
post_cb = SharingRailChanged
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.infrastructure_sharing.rail""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = economy.infrastructure_sharing[1]
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SHARING_ROAD
|
||||
pre_cb = CheckSharingRoad
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.infrastructure_sharing.road""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = economy.infrastructure_sharing[2]
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SHARING_WATER
|
||||
pre_cb = CheckSharingWater
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.infrastructure_sharing.water""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = economy.infrastructure_sharing[3]
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SHARING_AIR
|
||||
pre_cb = CheckSharingAir
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.infrastructure_sharing.air""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.sharing_fee[0]
|
||||
type = SLE_UINT
|
||||
flags = SF_GUI_CURRENCY | SF_PATCH
|
||||
def = 100
|
||||
min = 0
|
||||
max = 1000000
|
||||
interval = 10
|
||||
str = STR_CONFIG_SETTING_SHARING_FEE_RAIL
|
||||
strhelp = STR_CONFIG_SETTING_SHARING_FEE_HELPTEXT
|
||||
strval = STR_JUST_CURRENCY_LONG
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.sharing_fee.rail""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.sharing_fee[1]
|
||||
type = SLE_UINT
|
||||
flags = SF_GUI_CURRENCY | SF_PATCH
|
||||
def = 100
|
||||
min = 0
|
||||
max = 1000000
|
||||
interval = 10
|
||||
str = STR_CONFIG_SETTING_SHARING_FEE_ROAD
|
||||
strhelp = STR_CONFIG_SETTING_SHARING_FEE_HELPTEXT
|
||||
strval = STR_JUST_CURRENCY_LONG
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.sharing_fee.road""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.sharing_fee[2]
|
||||
type = SLE_UINT
|
||||
flags = SF_GUI_CURRENCY | SF_PATCH
|
||||
def = 100
|
||||
min = 0
|
||||
max = 1000000
|
||||
interval = 10
|
||||
str = STR_CONFIG_SETTING_SHARING_FEE_WATER
|
||||
strhelp = STR_CONFIG_SETTING_SHARING_FEE_HELPTEXT
|
||||
strval = STR_JUST_CURRENCY_LONG
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.sharing_fee.water""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.sharing_fee[3]
|
||||
type = SLE_UINT
|
||||
flags = SF_GUI_CURRENCY | SF_PATCH
|
||||
def = 100
|
||||
min = 0
|
||||
max = 1000000
|
||||
interval = 10
|
||||
str = STR_CONFIG_SETTING_SHARING_FEE_AIR
|
||||
strhelp = STR_CONFIG_SETTING_SHARING_FEE_HELPTEXT
|
||||
strval = STR_JUST_CURRENCY_LONG
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.sharing_fee.air""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = economy.sharing_payment_in_debt
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SHARING_PAYMENT_IN_DEBT
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.economy.sharing_payment_in_debt""
|
||||
|
||||
[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
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.random_road_reconstruction
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 0
|
||||
min = 0
|
||||
max = 1000
|
||||
str = STR_CONFIG_SETTING_RANDOM_ROAD_RECONSTRUCTION
|
||||
strhelp = STR_CONFIG_SETTING_RANDOM_ROAD_RECONSTRUCTION_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
cat = SC_BASIC
|
||||
patxname = ""economy.random_road_reconstruction""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = economy.disable_inflation_newgrf_flag
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
cat = SC_EXPERT
|
||||
patxname = ""economy.disable_inflation_newgrf_flag""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.payment_algorithm
|
||||
type = SLE_UINT8
|
||||
flags = SF_GUI_DROPDOWN | SF_PATCH
|
||||
def = CPA_MODERN
|
||||
min = CPA_BEGIN
|
||||
max = CPA_END - 1
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_CARGO_PAYMENT_ALGORITHM
|
||||
strhelp = STR_CONFIG_SETTING_CARGO_PAYMENT_ALGORITHM_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_CARGO_PAYMENT_ALGORITHM_TRADITIONAL
|
||||
cat = SC_BASIC
|
||||
patxname = ""economy.payment_algorithm""
|
||||
|
||||
[SDT_VAR]
|
||||
var = economy.tick_rate
|
||||
type = SLE_UINT8
|
||||
flags = SF_GUI_DROPDOWN | SF_PATCH
|
||||
def = TRM_TRADITIONAL
|
||||
min = TRM_BEGIN
|
||||
max = TRM_END - 1
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_TICK_RATE
|
||||
strhelp = STR_CONFIG_SETTING_TICK_RATE_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_TICK_RATE_TRADITIONAL
|
||||
cat = SC_EXPERT
|
||||
post_cb = [](auto) { SetupTickRate(); }
|
||||
patxname = ""economy.tick_rate""
|
@ -0,0 +1,748 @@
|
||||
; 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 constexpr std::initializer_list<const char*> _roadsides{"left", "right"};
|
||||
|
||||
static void StationSpreadChanged(int32_t new_value);
|
||||
static void UpdateConsists(int32_t new_value);
|
||||
static void TrainAccelerationModelChanged(int32_t new_value);
|
||||
static bool CheckTrainBrakingModelChange(int32 &new_value);
|
||||
static void TrainBrakingModelChanged(int32 new_value);
|
||||
static void RoadVehAccelerationModelChanged(int32_t new_value);
|
||||
static void TrainSlopeSteepnessChanged(int32_t new_value);
|
||||
static void RoadVehSlopeSteepnessChanged(int32_t new_value);
|
||||
static bool CheckRoadSide(int32_t &new_value);
|
||||
static void RoadSideChanged(int32 new_value);
|
||||
static bool CheckDynamicEngines(int32_t &new_value);
|
||||
static void StationCatchmentChanged(int32_t new_value);
|
||||
static void MaxVehiclesChanged(int32_t new_value);
|
||||
static void ImprovedBreakdownsSettingChanged(int32 new_value);
|
||||
static void TrainSpeedAdaptationChanged(int32 new_value);
|
||||
|
||||
static const SettingDescEnumEntry _train_braking_model[] = {
|
||||
{ TBM_ORIGINAL, STR_CONFIG_SETTING_ORIGINAL },
|
||||
{ TBM_REALISTIC, STR_CONFIG_SETTING_TRAIN_BRAKING_REALISTIC },
|
||||
{ 0, STR_NULL }
|
||||
};
|
||||
|
||||
static const SettingDescEnumEntry _realistic_braking_aspect_limited[] = {
|
||||
{ TRBALM_OFF, STR_CONFIG_SETTING_OFF },
|
||||
{ TRBALM_ON, STR_CONFIG_SETTING_TRAIN_BRAKING_ASPECT_LIMITED_ON },
|
||||
{ 0, STR_NULL }
|
||||
};
|
||||
|
||||
static const SettingDescEnumEntry _station_delivery_mode[] = {
|
||||
{ SD_NEAREST_FIRST, STR_CONFIG_SETTING_ORIGINAL},
|
||||
{ SD_BALANCED, STR_CONFIG_SETTING_DELIVERY_BALANCED},
|
||||
{ 0, STR_NULL }
|
||||
};
|
||||
|
||||
static const SettingTable _game_settings{
|
||||
[post-amble]
|
||||
};
|
||||
[templates]
|
||||
SDTG_BOOL = SDTG_BOOL($name, $flags, $var, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDTG_VAR = SDTG_VAR($name, $type, $flags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $load, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_ENUM = SDT_ENUM(GameSettings, $var, $type, $flags, $def, $str, $strhelp, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname, $enumlist),
|
||||
|
||||
[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
|
||||
guiproc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
startup = false
|
||||
extver = SlXvFeatureTest()
|
||||
patxname = nullptr
|
||||
enumlist = <this parameter must be set>
|
||||
|
||||
|
||||
[SDT_BOOL]
|
||||
var = order.old_timetable_separation
|
||||
flags = SF_PATCH
|
||||
def = true
|
||||
cat = SC_EXPERT
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_AUTO_TIMETABLE, 1, 3)
|
||||
patxname = ""auto_timetables.order.timetable_separation""
|
||||
|
||||
[SDT_VAR]
|
||||
var = order.old_timetable_separation_rate
|
||||
flags = SF_PATCH
|
||||
type = SLE_UINT8
|
||||
def = 100
|
||||
min = 0
|
||||
max = 100
|
||||
interval = 10
|
||||
str = STR_CONFIG_SETTING_TIMETABLE_SEPARATION_RATE
|
||||
strhelp = STR_CONFIG_SETTING_TIMETABLE_SEPARATION_RATE_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_PERCENTAGE
|
||||
cat = SC_EXPERT
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_AUTO_TIMETABLE, 1, 2)
|
||||
patxname = ""auto_timetables.order.timetable_separation_rate""
|
||||
|
||||
[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.nonstop_only
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_NONSTOP_ORDER_ONLY
|
||||
strhelp = STR_CONFIG_SETTING_NONSTOP_ORDER_ONLY_HELPTEXT
|
||||
cat = SC_EXPERT
|
||||
patxname = ""nonstop_only.order.nonstop_only""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = order.gradual_loading
|
||||
from = SLV_40
|
||||
flags = SF_NO_NETWORK
|
||||
def = true
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_VAR]
|
||||
var = order.old_occupancy_smoothness
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = 75
|
||||
min = 0
|
||||
max = 100
|
||||
interval = 10
|
||||
str = STR_CONFIG_OCCUPANCY_SMOOTHNESS
|
||||
strhelp = STR_CONFIG_OCCUPANCY_SMOOTHNESS_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_PERCENTAGE
|
||||
cat = SC_EXPERT
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_ORDER_OCCUPANCY, 1, 1)
|
||||
patxname = ""order_occupancy.order.occupancy_smoothness""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = station.never_expire_airports
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS
|
||||
strhelp = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT
|
||||
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x0C); }
|
||||
|
||||
[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_VAR]
|
||||
var = station.catchment_increase
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = 0
|
||||
min = 0
|
||||
max = 5
|
||||
str = STR_CONFIG_SETTING_CATCHMENT_INCREASE
|
||||
strhelp = STR_CONFIG_SETTING_CATCHMENT_INCREASE_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
post_cb = StationCatchmentChanged
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_STATION_CATCHMENT_INC)
|
||||
patxname = ""station_catchment_inc.station.catchment_increase""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = station.cargo_class_rating_wait_time
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_STATION_RATING_CARGO_CLASS_WAIT_TIME
|
||||
strhelp = STR_CONFIG_SETTING_STATION_RATING_CARGO_CLASS_WAIT_TIME_HELPTEXT
|
||||
patxname = ""station_rating.station.cargo_class_rating_wait_time""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = station.station_size_rating_cargo_amount
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_STATION_RATING_SIZE_CARGO_AMOUNT
|
||||
strhelp = STR_CONFIG_SETTING_STATION_RATING_SIZE_CARGO_AMOUNT_HELPTEXT
|
||||
patxname = ""station_rating.station.station_size_rating_cargo_amount""
|
||||
|
||||
[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_ENUM]
|
||||
var = station.station_delivery_mode
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = SD_NEAREST_FIRST
|
||||
enumlist = _station_delivery_mode
|
||||
str = STR_CONFIG_SETTING_CARGO_DELIVERY_MODE
|
||||
strhelp = STR_CONFIG_SETTING_CARGO_DELIVERY_MODE_HELPTEXT
|
||||
patxname = ""station.station_delivery_mode""
|
||||
|
||||
[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_CONFIG_SETTING_ROAD_SIDE_LEFT
|
||||
pre_cb = CheckRoadSide
|
||||
post_cb = RoadSideChanged
|
||||
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_ENUM]
|
||||
var = vehicle.train_braking_model
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = TBM_ORIGINAL
|
||||
enumlist = _train_braking_model
|
||||
str = STR_CONFIG_SETTING_TRAIN_BRAKING_MODEL
|
||||
strhelp = STR_CONFIG_SETTING_TRAIN_BRAKING_MODEL_HELPTEXT
|
||||
pre_cb = CheckTrainBrakingModelChange
|
||||
post_cb = TrainBrakingModelChanged
|
||||
cat = SC_EXPERT
|
||||
patxname = ""realistic_braking.vehicle.train_braking_model""
|
||||
|
||||
[SDT_ENUM]
|
||||
var = vehicle.realistic_braking_aspect_limited
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = TRBALM_OFF
|
||||
enumlist = _realistic_braking_aspect_limited
|
||||
str = STR_CONFIG_SETTING_REALISTIC_BRAKING_ASPECT_LIMITED
|
||||
strhelp = STR_CONFIG_SETTING_REALISTIC_BRAKING_ASPECT_LIMITED_HELPTEXT
|
||||
cat = SC_EXPERT
|
||||
patxname = ""realistic_braking.vehicle.realistic_braking_aspect_limited""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.limit_train_acceleration
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_LIMIT_TRAIN_ACCELERATION
|
||||
strhelp = STR_CONFIG_SETTING_LIMIT_TRAIN_ACCELERATION_HELPTEXT
|
||||
cat = SC_EXPERT
|
||||
patxname = ""realistic_braking.vehicle.limit_train_acceleration""
|
||||
|
||||
[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.through_load_speed_limit
|
||||
type = SLE_UINT16
|
||||
flags = SF_GUI_VELOCITY | SF_PATCH
|
||||
def = 15
|
||||
min = 5
|
||||
max = 500
|
||||
interval = 5
|
||||
str = STR_CONFIG_SETTING_THROUGH_LOAD_SPEED_LIMIT
|
||||
strhelp = STR_CONFIG_SETTING_THROUGH_LOAD_SPEED_LIMIT_HELPTEXT
|
||||
strval = STR_JUST_VELOCITY
|
||||
cat = SC_EXPERT
|
||||
patxname = ""vehicle.through_load_speed_limit""
|
||||
|
||||
[SDT_VAR]
|
||||
var = vehicle.rail_depot_speed_limit
|
||||
type = SLE_UINT16
|
||||
flags = SF_GUI_VELOCITY | SF_PATCH
|
||||
def = 61
|
||||
min = 5
|
||||
max = 100
|
||||
interval = 5
|
||||
str = STR_CONFIG_SETTING_RAIL_DEPOT_SPEED_LIMIT
|
||||
strhelp = STR_CONFIG_SETTING_RAIL_DEPOT_SPEED_LIMIT_HELPTEXT
|
||||
strval = STR_JUST_VELOCITY
|
||||
cat = SC_EXPERT
|
||||
patxname = ""vehicle.rail_depot_speed_limit""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.non_leading_engines_keep_name
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_NON_LEADING_ENGINES_KEEP_NAME
|
||||
strhelp = STR_CONFIG_SETTING_NON_LEADING_ENGINES_KEEP_NAME_HELPTEXT
|
||||
cat = SC_ADVANCED
|
||||
patxname = ""vehicle.non_leading_engines_keep_name""
|
||||
|
||||
[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.no_expire_vehicles_after
|
||||
type = SLE_INT32
|
||||
flags = SF_NO_NETWORK | SF_GUI_0_IS_SPECIAL | SF_PATCH
|
||||
def = 0
|
||||
min = MIN_YEAR
|
||||
max = MAX_YEAR
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_NO_EXPIRE_VEHICLES_AFTER
|
||||
strhelp = STR_CONFIG_SETTING_NO_EXPIRE_VEHICLES_AFTER_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_NO_EXPIRE_VEHICLES_AFTER_VALUE
|
||||
cat = SC_EXPERT
|
||||
patxname = ""vehicle.no_expire_vehicles_after""
|
||||
|
||||
[SDT_VAR]
|
||||
var = vehicle.no_introduce_vehicles_after
|
||||
type = SLE_INT32
|
||||
flags = SF_NO_NETWORK | SF_GUI_0_IS_SPECIAL | SF_PATCH
|
||||
def = 0
|
||||
min = MIN_YEAR
|
||||
max = MAX_YEAR
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_NO_INTRODUCE_VEHICLES_AFTER
|
||||
strhelp = STR_CONFIG_SETTING_NO_INTRODUCE_VEHICLES_AFTER_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_NO_INTRODUCE_VEHICLES_AFTER_VALUE
|
||||
cat = SC_EXPERT
|
||||
patxname = ""vehicle.no_introduce_vehicles_after""
|
||||
|
||||
[SDT_VAR]
|
||||
var = vehicle.max_trains
|
||||
type = SLE_UINT16
|
||||
def = 500
|
||||
min = 0
|
||||
max = 10000
|
||||
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 = 10000
|
||||
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 = 10000
|
||||
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 = 10000
|
||||
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
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_WAGONSPEEDLIMITS
|
||||
strhelp = STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT
|
||||
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x5D); }
|
||||
post_cb = UpdateConsists
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.slow_road_vehicles_in_curves
|
||||
flags = SF_PATCH
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_SLOW_ROAD_VEHICLES_IN_CURVES
|
||||
strhelp = STR_CONFIG_SETTING_SLOW_ROAD_VEHICLES_IN_CURVES_HELPTEXT
|
||||
cat = SC_BASIC
|
||||
patxname = ""slow_road_vehicles_in_curves.vehicle.slow_road_vehicles_in_curves""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.train_speed_adaptation
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_TRAIN_SPEED_ADAPTATION
|
||||
strhelp = STR_CONFIG_SETTING_TRAIN_SPEED_ADAPTATION_HELPTEXT
|
||||
cat = SC_EXPERT
|
||||
post_cb = TrainSpeedAdaptationChanged
|
||||
patxname = ""train_speed_adaptation.vehicle.train_speed_adaptation""
|
||||
|
||||
[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
|
||||
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
|
||||
pre_cb = [](int32 &new_value) -> bool { return CheckTTDPatchSettingFlag(0x58); }
|
||||
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_BOOL]
|
||||
var = vehicle.improved_breakdowns
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_IMPROVED_BREAKDOWNS
|
||||
post_cb = ImprovedBreakdownsSettingChanged
|
||||
patxname = ""improved_breakdowns.vehicle.improved_breakdowns""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.ship_collision_avoidance
|
||||
flags = SF_PATCH
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_SHIP_COLLISION_AVOIDANCE
|
||||
strhelp = STR_CONFIG_SETTING_SHIP_COLLISION_AVOIDANCE_HELPTEXT
|
||||
patxname = ""ship_collision_avoidance.vehicle.ship_collision_avoidance""
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.no_train_crash_other_company
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_NO_TRAIN_CRASH_OTHER_COMPANY
|
||||
strhelp = STR_CONFIG_SETTING_NO_TRAIN_CRASH_OTHER_COMPANY_HELPTEXT
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
|
||||
patxname = ""infra_sharing.vehicle.no_train_crash_other_company""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.roadveh_articulated_overtaking
|
||||
flags = SF_PATCH
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_ROADVEH_ARTICULATED_OVERTAKING
|
||||
strhelp = STR_CONFIG_SETTING_ROADVEH_ARTICULATED_OVERTAKING_HELPTEXT
|
||||
patxname = ""roadveh_articulated_overtaking.vehicle.roadveh_articulated_overtaking""
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.roadveh_cant_quantum_tunnel
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_ROADVEH_CANT_QUANTUM_TUNNEL
|
||||
strhelp = STR_CONFIG_SETTING_ROADVEH_CANT_QUANTUM_TUNNEL_HELPTEXT
|
||||
patxname = ""roadveh_cant_quantum_tunnel.vehicle.roadveh_cant_quantum_tunnel""
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.drive_through_train_depot
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_DRIVE_THROUGH_TRAIN_DEPOT
|
||||
strhelp = STR_CONFIG_SETTING_DRIVE_THROUGH_TRAIN_DEPOT_HELPTEXT
|
||||
patxname = ""drive_through_train_depot.vehicle.drive_through_train_depot""
|
||||
|
||||
[SDT_VAR]
|
||||
var = vehicle.extend_vehicle_life
|
||||
type = SLE_UINT8
|
||||
def = 0
|
||||
min = 0
|
||||
max = 100
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.adjacent_crossings
|
||||
flags = SF_PATCH
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_ADJACENT_CROSSINGS
|
||||
strhelp = STR_CONFIG_SETTING_ADJACENT_CROSSINGS_HELPTEXT
|
||||
cat = SC_BASIC
|
||||
patxname = ""adjacent_crossings.vehicle.adjacent_crossings""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.safer_crossings
|
||||
flags = SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SAFER_CROSSINGS
|
||||
strhelp = STR_CONFIG_SETTING_SAFER_CROSSINGS_HELPTEXT
|
||||
cat = SC_BASIC
|
||||
patxname = ""safer_crossings.vehicle.safer_crossings""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = vehicle.pay_for_repair
|
||||
def = true
|
||||
flags = SF_PATCH
|
||||
str = STR_CONFIG_SETTING_PAY_FOR_REPAIR_VEHICLE
|
||||
strhelp = STR_CONFIG_SETTING_PAY_FOR_REPAIR_VEHICLE_HELPTEXT
|
||||
cat = SC_EXPERT
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_VEHICLE_REPAIR_COST)
|
||||
patxname = ""vehicle_repair_cost.vehicle.pay_for_repair""
|
||||
|
||||
[SDT_VAR]
|
||||
var = vehicle.repair_cost
|
||||
type = SLE_UINT8
|
||||
flags = SF_PATCH
|
||||
def = 100
|
||||
min = 1
|
||||
max = 255
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_REPAIR_COST
|
||||
strhelp = STR_CONFIG_SETTING_REPAIR_COST_HELPTEXT
|
||||
strval = STR_JUST_INT
|
||||
cat = SC_EXPERT
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_VEHICLE_REPAIR_COST)
|
||||
patxname = ""vehicle_repair_cost.vehicle.repair_cost""
|
||||
|
||||
## Old vehicle settings.
|
||||
|
||||
[SDTG_BOOL]
|
||||
name = ""vehicle.servint_ispercent""
|
||||
flags = SF_NO_NETWORK
|
||||
var = _old_vds.servint_ispercent
|
||||
def = false
|
||||
to = SLV_120
|
||||
|
||||
[SDTG_VAR]
|
||||
name = ""vehicle.servint_trains""
|
||||
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 = ""vehicle.servint_roadveh""
|
||||
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 = ""vehicle.servint_ships""
|
||||
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 = ""vehicle.servint_aircraft""
|
||||
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,331 @@
|
||||
; 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 int64 LinkGraphDistModeXrefChillPP(int64 val);
|
||||
static bool LinkGraphDistributionSettingGUI(SettingOnGuiCtrlData &data);
|
||||
|
||||
static const SettingDescEnumEntry _linkgraph_mode_symmetric[] = {
|
||||
{ DT_MANUAL, STR_CONFIG_SETTING_DISTRIBUTION_MANUAL },
|
||||
{ DT_SYMMETRIC, STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC },
|
||||
{ DT_ASYMMETRIC, STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC },
|
||||
{ DT_ASYMMETRIC_EQ, STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC_EQ },
|
||||
{ DT_ASYMMETRIC_NEAR, STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC_NEAREST },
|
||||
{ 0, STR_NULL }
|
||||
};
|
||||
|
||||
static const SettingDescEnumEntry _linkgraph_mode_asymmetric[] = {
|
||||
{ DT_MANUAL, STR_CONFIG_SETTING_DISTRIBUTION_MANUAL },
|
||||
{ DT_ASYMMETRIC, STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC },
|
||||
{ DT_ASYMMETRIC_EQ, STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC_EQ },
|
||||
{ DT_ASYMMETRIC_NEAR, STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC_NEAREST },
|
||||
{ 0, STR_NULL }
|
||||
};
|
||||
|
||||
static const SettingDescEnumEntry _linkgraph_mode_per_cargo[] = {
|
||||
{ DT_PER_CARGO_DEFAULT, STR_CONFIG_SETTING_DISTRIBUTION_PER_CARGO_DEFAULT },
|
||||
{ DT_MANUAL, STR_CONFIG_SETTING_DISTRIBUTION_MANUAL },
|
||||
{ DT_SYMMETRIC, STR_CONFIG_SETTING_DISTRIBUTION_SYMMETRIC },
|
||||
{ DT_ASYMMETRIC, STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC },
|
||||
{ DT_ASYMMETRIC_EQ, STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC_EQ },
|
||||
{ DT_ASYMMETRIC_NEAR, STR_CONFIG_SETTING_DISTRIBUTION_ASYMMETRIC_NEAREST },
|
||||
{ 0, STR_NULL }
|
||||
};
|
||||
|
||||
static const SettingTable _linkgraph_settings{
|
||||
[post-amble]
|
||||
};
|
||||
[templates]
|
||||
SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_ENUM = SDT_ENUM(GameSettings, $var, $type, $flags, $def, $str, $strhelp, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname, $enumlist),
|
||||
SDT_NAMED_NULL = SDT_NAMED_NULL($name, $length, $from, $to, $extver, $patxname),
|
||||
SDT_LINKGRAPH_PER_CARGO = SDT_ENUM(GameSettings, linkgraph.distribution_per_cargo[$linkgraph_cargo], SLE_UINT8, $flags | SF_NOT_IN_CONFIG | SF_NO_NEWGAME | SF_PATCH, DT_PER_CARGO_DEFAULT, STR_CONFIG_SETTING_DISTRIBUTION_PER_CARGO, STR_CONFIG_SETTING_DISTRIBUTION_PER_CARGO_HELPTEXT, $pre_cb, $post_cb, $from, $to, SlXvFeatureTest(XSLFTO_AND, XSLFI_LINKGRAPH_MODES), SC_EXPERT, LinkGraphDistributionSettingGUI, false, nullptr, _linkgraph_mode_per_cargo),
|
||||
|
||||
[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
|
||||
guiproc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
startup = false
|
||||
extver = SlXvFeatureTest()
|
||||
patxname = nullptr
|
||||
enumlist = <this parameter must be set>
|
||||
|
||||
|
||||
[SDT_VAR]
|
||||
var = linkgraph.recalc_interval
|
||||
type = SLE_UINT16
|
||||
from = SLV_183
|
||||
def = 8
|
||||
min = 4
|
||||
max = 90
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL
|
||||
strval = STR_CONFIG_SETTING_SECONDS_VALUE
|
||||
strhelp = STR_CONFIG_SETTING_LINKGRAPH_RECALC_INTERVAL_HELPTEXT
|
||||
|
||||
[SDT_VAR]
|
||||
var = linkgraph.recalc_time
|
||||
type = SLE_UINT16
|
||||
from = SLV_183
|
||||
def = 32
|
||||
min = 1
|
||||
max = 9000
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME
|
||||
strval = STR_CONFIG_SETTING_SECONDS_VALUE
|
||||
strhelp = STR_CONFIG_SETTING_LINKGRAPH_RECALC_TIME_HELPTEXT
|
||||
|
||||
[SDT_NAMED_NULL]
|
||||
name = ""linkgraph.recalc_not_scaled_by_daylength""
|
||||
length = 1
|
||||
extver = SlXvFeatureTest([](uint16 version, bool version_in_range, const std::array<uint16, XSLFI_SIZE> &feature_versions) -> bool { return version_in_range && SlXvIsFeaturePresent(feature_versions, XSLFI_LINKGRAPH_DAY_SCALE, 1, 1) && !SlXvIsFeaturePresent(feature_versions, XSLFI_JOKERPP); })
|
||||
patxname = ""linkgraph_day_scale.linkgraph.recalc_not_scaled_by_daylength""
|
||||
|
||||
[SDT_ENUM]
|
||||
var = linkgraph.distribution_pax
|
||||
type = SLE_UINT8
|
||||
from = SLV_183
|
||||
def = DT_MANUAL
|
||||
enumlist = _linkgraph_mode_symmetric
|
||||
str = STR_CONFIG_SETTING_DISTRIBUTION_PAX
|
||||
strhelp = STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT
|
||||
guiproc = LinkGraphDistributionSettingGUI
|
||||
|
||||
[SDT_ENUM]
|
||||
var = linkgraph.distribution_mail
|
||||
type = SLE_UINT8
|
||||
from = SLV_183
|
||||
def = DT_MANUAL
|
||||
enumlist = _linkgraph_mode_symmetric
|
||||
str = STR_CONFIG_SETTING_DISTRIBUTION_MAIL
|
||||
strhelp = STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT
|
||||
guiproc = LinkGraphDistributionSettingGUI
|
||||
|
||||
[SDT_ENUM]
|
||||
var = linkgraph.distribution_armoured
|
||||
type = SLE_UINT8
|
||||
from = SLV_183
|
||||
def = DT_MANUAL
|
||||
enumlist = _linkgraph_mode_symmetric
|
||||
str = STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED
|
||||
strhelp = STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT
|
||||
guiproc = LinkGraphDistributionSettingGUI
|
||||
|
||||
[SDT_ENUM]
|
||||
var = linkgraph.distribution_default
|
||||
type = SLE_UINT8
|
||||
from = SLV_183
|
||||
def = DT_MANUAL
|
||||
enumlist = _linkgraph_mode_asymmetric
|
||||
str = STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT
|
||||
strhelp = STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT
|
||||
guiproc = LinkGraphDistributionSettingGUI
|
||||
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 0
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 1
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 2
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 3
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 4
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 5
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 6
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 7
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 8
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 9
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 10
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 11
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 12
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 13
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 14
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 15
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 16
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 17
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 18
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 19
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 20
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 21
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 22
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 23
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 24
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 25
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 26
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 27
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 28
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 29
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 30
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 31
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 32
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 33
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 34
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 35
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 36
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 37
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 38
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 39
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 40
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 41
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 42
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 43
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 44
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 45
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 46
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 47
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 48
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 49
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 50
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 51
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 52
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 53
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 54
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 55
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 56
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 57
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 58
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 59
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 60
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 61
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 62
|
||||
[SDT_LINKGRAPH_PER_CARGO]
|
||||
linkgraph_cargo = 63
|
||||
|
||||
[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
|
||||
|
||||
[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
|
||||
|
||||
[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
|
||||
|
||||
[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
|
||||
|
||||
[SDT_VAR]
|
||||
var = linkgraph.aircraft_link_scale
|
||||
type = SLE_UINT16
|
||||
flags = SF_PATCH
|
||||
def = 100
|
||||
min = 100
|
||||
max = 1000
|
||||
interval = 50
|
||||
str = STR_CONFIG_SETTING_AIRCRAFT_PATH_COST
|
||||
strval = STR_CONFIG_SETTING_PERCENTAGE
|
||||
strhelp = STR_CONFIG_SETTING_AIRCRAFT_PATH_COST_HELPTEXT
|
||||
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_LINKGRAPH_AIRCRAFT)
|
@ -0,0 +1,209 @@
|
||||
; 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_t _old_units; ///< Old units from old savegames
|
||||
|
||||
static constexpr std::initializer_list<const char*> _locale_currencies{"GBP", "USD", "EUR", "JPY", "ATS", "BEF", "CHF", "CZK", "DEM", "DKK", "ESP", "FIM", "FRF", "GRD", "HUF", "ISK", "ITL", "NLG", "NOK", "PLN", "RON", "RUR", "SIT", "SEK", "TRY", "SKK", "BRL", "EEK", "LTL", "KRW", "ZAR", "custom", "GEL", "IRR", "RUB", "MXN", "NTD", "CNY", "HKD", "INR", "IDR", "MYR"};
|
||||
static constexpr std::initializer_list<const char*> _locale_units{"imperial", "metric", "si", "gameunits"};
|
||||
|
||||
static_assert(_locale_currencies.size() == CURRENCY_END);
|
||||
|
||||
static void VelocityUnitsChanged(int32 new_value);
|
||||
|
||||
static const SettingTable _locale_settings{
|
||||
[post-amble]
|
||||
};
|
||||
[templates]
|
||||
SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDTG_OMANY = SDTG_OMANY($name, $type, $flags, $var, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $load, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_SSTR = SDT_SSTR(GameSettings, $var, $type, $flags, $def, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
|
||||
[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
|
||||
guiproc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
startup = false
|
||||
extver = SlXvFeatureTest()
|
||||
patxname = nullptr
|
||||
enumlist = <this parameter must be set>
|
||||
|
||||
|
||||
[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 = 4
|
||||
full = _locale_units
|
||||
post_cb = VelocityUnitsChanged
|
||||
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_velocity_nautical
|
||||
type = SLE_UINT8
|
||||
from = SLV_VELOCITY_NAUTICAL
|
||||
flags = SF_NO_NETWORK_SYNC | SF_GUI_DROPDOWN
|
||||
def = 1
|
||||
max = 4
|
||||
full = _locale_units
|
||||
post_cb = VelocityUnitsChanged
|
||||
cat = SC_BASIC
|
||||
str = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_NAUTICAL
|
||||
strhelp = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_LOCALISATION_UNITS_VELOCITY_IMPERIAL
|
||||
extver = SlXvFeatureTest(XSLFTO_OR, XSLFI_VELOCITY_NAUTICAL)
|
||||
patxname = ""locale.units_velocity_nautical""
|
||||
|
||||
[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
|
||||
|
||||
[SDTC_BOOL]
|
||||
var = client_locale.sync_locale_network_server
|
||||
flags = SF_NOT_IN_SAVE | SF_NO_NETWORK_SYNC | SF_PATCH
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_SYNC_LOCALE_SETTINGS_NETWORK_SERVER
|
||||
strhelp = STR_CONFIG_SETTING_SYNC_LOCALE_SETTINGS_NETWORK_SERVER_HELPTEXT
|
||||
cat = SC_BASIC
|
@ -0,0 +1,647 @@
|
||||
; 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_t new_value);
|
||||
static void CheckYapfRailSignalPenalties(int32 new_value);
|
||||
|
||||
static const SettingTable _pathfinding_settings{
|
||||
[post-amble]
|
||||
};
|
||||
[templates]
|
||||
SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
|
||||
[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
|
||||
guiproc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
startup = false
|
||||
extver = SlXvFeatureTest()
|
||||
patxname = nullptr
|
||||
enumlist = <this parameter must be set>
|
||||
|
||||
|
||||
[SDT_BOOL]
|
||||
var = pf.forbid_90_deg
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_FORBID_90_DEG
|
||||
strhelp = STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_BOOL]
|
||||
var = pf.back_of_one_way_pbs_waiting_point
|
||||
flags = SF_PATCH
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_BACK_ONE_WAY_PBS_SAFE_WAITING
|
||||
str = STR_CONFIG_SETTING_BACK_ONE_WAY_PBS_SAFE_WAITING_HELPTEXT
|
||||
cat = SC_EXPERT
|
||||
patxname = ""pf.back_of_one_way_pbs_waiting_point""
|
||||
|
||||
[SDT_BOOL]
|
||||
var = pf.roadveh_queue
|
||||
def = true
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_VAR]
|
||||
var = pf.reroute_rv_on_layout_change
|
||||
type = SLE_UINT8
|
||||
flags = SF_GUI_DROPDOWN | SF_PATCH
|
||||
def = 1
|
||||
min = 0
|
||||
max = 2
|
||||
interval = 1
|
||||
str = STR_CONFIG_SETTING_REROUTE_RV_ON_LAYOUT_CHANGE
|
||||
strhelp = STR_CONFIG_SETTING_REROUTE_RV_ON_LAYOUT_CHANGE_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_REROUTE_RV_ON_LAYOUT_CHANGE_NO
|
||||
cat = SC_ADVANCED
|
||||
patxname = ""pf.reroute_rv_on_layout_change""
|
||||
|
||||
[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 = true
|
||||
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
|
||||
post_cb = CheckYapfRailSignalPenalties
|
||||
|
||||
[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
|
||||
post_cb = CheckYapfRailSignalPenalties
|
||||
|
||||
[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
|
||||
post_cb = CheckYapfRailSignalPenalties
|
||||
|
||||
[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
|
||||
post_cb = CheckYapfRailSignalPenalties
|
||||
|
||||
[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,120 @@
|
||||
; 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 constexpr std::initializer_list<const char*> _settings_profiles{"easy", "medium", "hard"};
|
||||
|
||||
static void ScriptMaxOpsChange(int32 new_value);
|
||||
static bool CheckScriptMaxMemoryChange(int32 &new_value);
|
||||
static void ScriptMaxMemoryChange(int32 new_value);
|
||||
|
||||
const SettingTable _script_settings = {
|
||||
[post-amble]
|
||||
};
|
||||
[templates]
|
||||
SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $load, $cat, $guiproc, $startup, $patxname),
|
||||
SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
|
||||
|
||||
[validation]
|
||||
SDT_OMANY = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size");
|
||||
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size");
|
||||
|
||||
[defaults]
|
||||
flags = SF_NONE
|
||||
interval = 0
|
||||
str = STR_NULL
|
||||
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
|
||||
strval = STR_NULL
|
||||
pre_cb = nullptr
|
||||
post_cb = nullptr
|
||||
guiproc = nullptr
|
||||
load = nullptr
|
||||
from = SL_MIN_VERSION
|
||||
to = SL_MAX_VERSION
|
||||
cat = SC_ADVANCED
|
||||
startup = false
|
||||
extver = SlXvFeatureTest()
|
||||
patxname = nullptr
|
||||
enumlist = <this parameter must be set>
|
||||
|
||||
|
||||
[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
|
||||
def = 10000
|
||||
min = 500
|
||||
max = 250000
|
||||
interval = 2500
|
||||
str = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES
|
||||
strhelp = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT
|
||||
strval = STR_JUST_COMMA
|
||||
post_cb = ScriptMaxOpsChange
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_VAR]
|
||||
var = script.script_max_memory_megabytes
|
||||
type = SLE_UINT32
|
||||
from = SLV_SCRIPT_MEMLIMIT
|
||||
def = 1024
|
||||
min = 8
|
||||
max = 8192
|
||||
interval = 8
|
||||
str = STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY
|
||||
strhelp = STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_HELPTEXT
|
||||
strval = STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY_VALUE
|
||||
pre_cb = CheckScriptMaxMemoryChange
|
||||
post_cb = ScriptMaxMemoryChange
|
||||
cat = SC_EXPERT
|
||||
|
||||
[SDT_BOOL]
|
||||
var = ai.ai_in_multiplayer
|
||||
def = true
|
||||
str = STR_CONFIG_SETTING_AI_IN_MULTIPLAYER
|
||||
strhelp = STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT
|
||||
cat = SC_BASIC
|
||||
|
||||
[SDT_BOOL]
|
||||
var = ai.ai_disable_veh_train
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_AI_BUILDS_TRAINS
|
||||
strhelp = STR_CONFIG_SETTING_AI_BUILDS_TRAINS_HELPTEXT
|
||||
|
||||
[SDT_BOOL]
|
||||
var = ai.ai_disable_veh_roadveh
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES
|
||||
strhelp = STR_CONFIG_SETTING_AI_BUILDS_ROAD_VEHICLES_HELPTEXT
|
||||
|
||||
[SDT_BOOL]
|
||||
var = ai.ai_disable_veh_aircraft
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT
|
||||
strhelp = STR_CONFIG_SETTING_AI_BUILDS_AIRCRAFT_HELPTEXT
|
||||
|
||||
[SDT_BOOL]
|
||||
var = ai.ai_disable_veh_ship
|
||||
def = false
|
||||
str = STR_CONFIG_SETTING_AI_BUILDS_SHIPS
|
||||
strhelp = STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue