; $Id$
;
; 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/>.
;

[pre-amble]
/* Begin - Callback Functions for the various settings */
static bool v_PositionMainToolbar(int32 p1);
static bool v_PositionStatusbar(int32 p1);
static bool PopulationInLabelActive(int32 p1);
static bool RedrawScreen(int32 p1);
static bool RedrawSmallmap(int32 p1);
static bool StationSpreadChanged(int32 p1);
static bool InvalidateBuildIndustryWindow(int32 p1);
static bool CloseSignalGUI(int32 p1);
static bool InvalidateTownViewWindow(int32 p1);
static bool DeleteSelectStationWindow(int32 p1);
static bool UpdateConsists(int32 p1);
static bool TrainAccelerationModelChanged(int32 p1);
static bool RoadVehAccelerationModelChanged(int32 p1);
static bool TrainSlopeSteepnessChanged(int32 p1);
static bool RoadVehSlopeSteepnessChanged(int32 p1);
static bool DragSignalsDensityChanged(int32);
static bool TownFoundingChanged(int32 p1);
static bool DifficultyNoiseChange(int32 i);
static bool MaxNoAIsChange(int32 i);
static bool CheckRoadSide(int p1);
static bool ChangeMaxHeightLevel(int32 p1);
static bool CheckFreeformEdges(int32 p1);
static bool ChangeDynamicEngines(int32 p1);
static bool StationCatchmentChanged(int32 p1);
static bool InvalidateVehTimetableWindow(int32 p1);
static bool InvalidateCompanyLiveryWindow(int32 p1);
static bool InvalidateNewGRFChangeWindows(int32 p1);
static bool InvalidateIndustryViewWindow(int32 p1);
static bool InvalidateAISettingsWindow(int32 p1);
static bool RedrawTownAuthority(int32 p1);
static bool InvalidateCompanyInfrastructureWindow(int32 p1);
static bool InvalidateCompanyWindow(int32 p1);
static bool ZoomMinMaxChanged(int32 p1);
static bool MaxVehiclesChanged(int32 p1);

#ifdef ENABLE_NETWORK
static bool UpdateClientName(int32 p1);
static bool UpdateServerPassword(int32 p1);
static bool UpdateRconPassword(int32 p1);
static bool UpdateClientConfigValues(int32 p1);
#endif /* ENABLE_NETWORK */
/* End - Callback Functions for the various settings */

/* Some settings do not need to be synchronised when playing in multiplayer.
 * These include for example the GUI settings and will not be saved with the
 * savegame.
 * It is also a bit tricky since you would think that service_interval
 * for example doesn't need to be synched. Every client assigns the
 * service_interval value to the v->service_interval, meaning that every client
 * assigns his value. If the setting was company-based, that would mean that
 * vehicles could decide on different moments that they are heading back to a
 * service depot, causing desyncs on a massive scale. */
const SettingDesc _settings[] = {
[post-amble]
};
[templates]
SDTG_BOOL  =  SDTG_BOOL($name,              $flags, $guiflags, $var, $def,                        $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDTG_VAR   =   SDTG_VAR($name,       $type, $flags, $guiflags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDTG_OMANY = SDTG_OMANY($name,       $type, $flags, $guiflags, $var, $def,       $max, $full,     $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDTC_BOOL  =  SDTC_BOOL(       $var,        $flags, $guiflags, $def,                              $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDTC_LIST  =  SDTC_LIST(       $var, $type, $flags, $guiflags, $def,                              $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDTC_OMANY = SDTC_OMANY(       $var, $type, $flags, $guiflags, $def,             $max, $full,     $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDTC_STR   =   SDTC_STR(       $var, $type, $flags, $guiflags, $def,                              $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDTC_VAR   =   SDTC_VAR(       $var, $type, $flags, $guiflags, $def,       $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDT_BOOL   =   SDT_BOOL($base, $var,        $flags, $guiflags, $def,                              $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDT_OMANY  =  SDT_OMANY($base, $var, $type, $flags, $guiflags, $def,             $max, $full,     $str, $strhelp, $strval, $proc, $from, $to, $load, $cat),
SDT_STR    =    SDT_STR($base, $var, $type, $flags, $guiflags, $def,                              $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDT_VAR    =    SDT_VAR($base, $var, $type, $flags, $guiflags, $def,       $min, $max, $interval, $str, $strhelp, $strval, $proc, $from, $to,        $cat),
SDT_NULL   =   SDT_NULL($length, $from, $to),
SDT_END    = SDT_END()

[defaults]
flags    = 0
guiflags = 0
interval = 0
str      = STR_NULL
strhelp  = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
strval   = STR_NULL
proc     = NULL
load     = NULL
from     = 0
to       = SL_MAX_VERSION
cat      = SC_ADVANCED



; Saved settings variables.
; Do not ADD or REMOVE something in this "difficulty.XXX" table or before it. It breaks savegame compatability.
[SDT_VAR]
base     = GameSettings
var      = difficulty.max_no_competitors
type     = SLE_UINT8
from     = 97
def      = 0
min      = 0
max      = MAX_COMPANIES - 1
interval = 1
proc     = MaxNoAIsChange
cat      = SC_BASIC

[SDT_NULL]
length   = 1
from     = 97
to       = 109

[SDT_VAR]
base     = GameSettings
var      = difficulty.number_towns
type     = SLE_UINT8
from     = 97
guiflags = SGF_NEWGAME_ONLY
def      = 2
min      = 0
max      = 4
interval = 1
strval   = STR_NUM_VERY_LOW
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = difficulty.industry_density
type     = SLE_UINT8
from     = 97
guiflags = SGF_MULTISTRING
def      = ID_END - 1
min      = 0
max      = ID_END - 1
interval = 1
str      = STR_CONFIG_SETTING_INDUSTRY_DENSITY
strhelp  = STR_CONFIG_SETTING_INDUSTRY_DENSITY_HELPTEXT
strval   = STR_FUNDING_ONLY
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = difficulty.max_loan
type     = SLE_UINT32
from     = 97
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO | SGF_CURRENCY
def      = 300000
min      = 100000
max      = 500000
interval = 50000
str      = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN
strhelp  = STR_CONFIG_SETTING_MAXIMUM_INITIAL_LOAN_HELPTEXT
strval   = STR_JUST_CURRENCY_LONG
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = difficulty.initial_interest
type     = SLE_UINT8
from     = 97
guiflags = SGF_NEWGAME_ONLY | SGF_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]
base     = GameSettings
var      = difficulty.vehicle_costs
type     = SLE_UINT8
from     = 97
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO | SGF_MULTISTRING
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]
base     = GameSettings
var      = difficulty.competitor_speed
type     = SLE_UINT8
from     = 97
guiflags = SGF_MULTISTRING
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_NULL]
length   = 1
from     = 97
to       = 109

[SDT_VAR]
base     = GameSettings
var      = difficulty.vehicle_breakdowns
type     = SLE_UINT8
from     = 97
guiflags = SGF_MULTISTRING
def      = 1
min      = 0
max      = 2
interval = 1
str      = STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS
strhelp  = STR_CONFIG_SETTING_VEHICLE_BREAKDOWNS_HELPTEXT
strval   = STR_DISASTER_NONE
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = difficulty.subsidy_multiplier
type     = SLE_UINT8
from     = 97
guiflags = SGF_MULTISTRING
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]
base     = GameSettings
var      = difficulty.construction_cost
type     = SLE_UINT8
from     = 97
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO | SGF_MULTISTRING
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]
base     = GameSettings
var      = difficulty.terrain_type
type     = SLE_UINT8
from     = 97
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def      = 1
min      = 0
max      = 4
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]
base     = GameSettings
var      = difficulty.quantity_sea_lakes
type     = SLE_UINT8
from     = 97
guiflags = SGF_NEWGAME_ONLY
def      = 0
min      = 0
max      = 4
interval = 1
strval   = STR_SEA_LEVEL_VERY_LOW
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = difficulty.economy
from     = 97
def      = false
str      = STR_CONFIG_SETTING_RECESSIONS
strhelp  = STR_CONFIG_SETTING_RECESSIONS_HELPTEXT

[SDT_BOOL]
base     = GameSettings
var      = difficulty.line_reverse_mode
from     = 97
def      = false
str      = STR_CONFIG_SETTING_TRAIN_REVERSING
strhelp  = STR_CONFIG_SETTING_TRAIN_REVERSING_HELPTEXT

[SDT_BOOL]
base     = GameSettings
var      = difficulty.disasters
from     = 97
def      = false
str      = STR_CONFIG_SETTING_DISASTERS
strhelp  = STR_CONFIG_SETTING_DISASTERS_HELPTEXT
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = difficulty.town_council_tolerance
type     = SLE_UINT8
from     = 97
guiflags = SGF_MULTISTRING
def      = 0
min      = 0
max      = 2
interval = 1
str      = STR_CONFIG_SETTING_CITY_APPROVAL
strhelp  = STR_CONFIG_SETTING_CITY_APPROVAL_HELPTEXT
strval   = STR_CITY_APPROVAL_PERMISSIVE
proc     = DifficultyNoiseChange

[SDTG_VAR]
name     = ""diff_level""
var      = _old_diff_level
type     = SLE_UINT8
flags    = SLF_NOT_IN_CONFIG
from     = 97
to       = 177
def      = 3
min      = 0
max      = 3
cat      = SC_BASIC

; There are only 21 predefined town_name values (0-20), but you can have more with newgrf action F so allow
; these bigger values (21-255). Invalid values will fallback to english on use and (undefined string) in GUI.
[SDT_OMANY]
base     = GameSettings
var      = game_creation.town_name
type     = SLE_UINT8
from     = 97
guiflags = SGF_NO_NETWORK
def      = 0
max      = 255
full     = _town_names
cat      = SC_BASIC

[SDT_OMANY]
base     = GameSettings
var      = game_creation.landscape
type     = SLE_UINT8
from     = 97
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def      = 0
max      = 3
full     = _climates
load     = ConvertLandscape
str      = STR_CONFIG_SETTING_LANDSCAPE
strhelp  = STR_CONFIG_SETTING_LANDSCAPE_HELPTEXT
strval   = STR_CHEAT_SWITCH_CLIMATE_TEMPERATE_LANDSCAPE
cat      = SC_BASIC

; Snow line (or snow_line_height * TILE_HEIGHT)
[SDT_NULL]
length   = 1
from     = 97
to       = 163

[SDT_OMANY]
base     = GameSettings
var      = vehicle.road_side
type     = SLE_UINT8
from     = 97
guiflags = SGF_MULTISTRING | SGF_NO_NETWORK
def      = 1
max      = 1
full     = _roadsides
str      = STR_CONFIG_SETTING_ROAD_SIDE
strhelp  = STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT
strval   = STR_GAME_OPTIONS_ROAD_VEHICLES_DROPDOWN_LEFT
proc     = CheckRoadSide

; Construction

[SDT_VAR]
base     = GameSettings
var      = construction.max_heightlevel
type     = SLE_UINT8
from     = 194
guiflags = SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO
def      = DEF_MAX_HEIGHTLEVEL
min      = MIN_MAX_HEIGHTLEVEL
max      = MAX_MAX_HEIGHTLEVEL
interval = 1
str      = STR_CONFIG_SETTING_MAX_HEIGHTLEVEL
strhelp  = STR_CONFIG_SETTING_MAX_HEIGHTLEVEL_HELPTEXT
strval   = STR_JUST_INT
proc     = ChangeMaxHeightLevel
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = construction.build_on_slopes
guiflags = SGF_NO_NETWORK
def      = true
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = construction.command_pause_level
type     = SLE_UINT8
from     = 154
guiflags = SGF_MULTISTRING | SGF_NO_NETWORK
def      = 1
min      = 0
max      = 3
interval = 1
str      = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL
strhelp  = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_HELPTEXT
strval   = STR_CONFIG_SETTING_COMMAND_PAUSE_LEVEL_NO_ACTIONS

[SDT_VAR]
base     = GameSettings
var      = construction.terraform_per_64k_frames
type     = SLE_UINT32
from     = 156
def      = 64 << 16
min      = 0
max      = 1 << 30
interval = 1
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = construction.terraform_frame_burst
type     = SLE_UINT16
from     = 156
def      = 4096
min      = 0
max      = 1 << 30
interval = 1
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = construction.clear_per_64k_frames
type     = SLE_UINT32
from     = 156
def      = 64 << 16
min      = 0
max      = 1 << 30
interval = 1
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = construction.clear_frame_burst
type     = SLE_UINT16
from     = 156
def      = 4096
min      = 0
max      = 1 << 30
interval = 1
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = construction.tree_per_64k_frames
type     = SLE_UINT32
from     = 175
def      = 64 << 16
min      = 0
max      = 1 << 30
interval = 1
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = construction.tree_frame_burst
type     = SLE_UINT16
from     = 175
def      = 4096
min      = 0
max      = 1 << 30
interval = 1
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = construction.autoslope
from     = 75
def      = true
str      = STR_CONFIG_SETTING_AUTOSLOPE
strhelp  = STR_CONFIG_SETTING_AUTOSLOPE_HELPTEXT
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = construction.extra_dynamite
def      = true
str      = STR_CONFIG_SETTING_EXTRADYNAMITE
strhelp  = STR_CONFIG_SETTING_EXTRADYNAMITE_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = construction.max_bridge_length
type     = SLE_UINT16
from     = 159
guiflags = SGF_NO_NETWORK
def      = 64
min      = 1
max      = MAX_MAP_SIZE
interval = 1
str      = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH
strhelp  = STR_CONFIG_SETTING_MAX_BRIDGE_LENGTH_HELPTEXT
strval   = STR_CONFIG_SETTING_TILE_LENGTH

[SDT_VAR]
base     = GameSettings
var      = construction.max_bridge_height
type     = SLE_UINT8
from     = 194
guiflags = SGF_NO_NETWORK
def      = 12
min      = 1
max      = MAX_TILE_HEIGHT
interval = 1
str      = STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT
strhelp  = STR_CONFIG_SETTING_MAX_BRIDGE_HEIGHT_HELPTEXT
strval   = STR_JUST_COMMA
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = construction.max_tunnel_length
type     = SLE_UINT16
from     = 159
guiflags = SGF_NO_NETWORK
def      = 64
min      = 1
max      = MAX_MAP_SIZE
interval = 1
str      = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH
strhelp  = STR_CONFIG_SETTING_MAX_TUNNEL_LENGTH_HELPTEXT
strval   = STR_CONFIG_SETTING_TILE_LENGTH

# construction.longbridges
[SDT_NULL]
length   = 1
to       = 158

[SDT_VAR]
base     = GameSettings
var      = construction.train_signal_side
type     = SLE_UINT8
guiflags = SGF_MULTISTRING | SGF_NO_NETWORK
def      = 1
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_SIGNALSIDE
strhelp  = STR_CONFIG_SETTING_SIGNALSIDE_HELPTEXT
strval   = STR_CONFIG_SETTING_SIGNALSIDE_LEFT
proc     = RedrawScreen
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = station.never_expire_airports
guiflags = SGF_NO_NETWORK
def      = false
str      = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS
strhelp  = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = economy.town_layout
type     = SLE_UINT8
from     = 59
guiflags = SGF_MULTISTRING
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
proc     = TownFoundingChanged

[SDT_BOOL]
base     = GameSettings
var      = economy.allow_town_roads
from     = 113
guiflags = SGF_NO_NETWORK
def      = true
str      = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS
strhelp  = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = economy.found_town
type     = SLE_UINT8
from     = 128
guiflags = SGF_MULTISTRING
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
proc     = TownFoundingChanged
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = economy.allow_town_level_crossings
from     = 143
guiflags = SGF_NO_NETWORK
def      = true
str      = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS
strhelp  = STR_CONFIG_SETTING_ALLOW_TOWN_LEVEL_CROSSINGS_HELPTEXT

; link graph

[SDT_VAR]
base     = GameSettings
var      = linkgraph.recalc_interval
type     = SLE_UINT16
from     = 183
def      = 4
min      = 2
max      = 32
interval = 2
str      = STR_CONFIG_SETTING_LINKGRAPH_INTERVAL
strval   = STR_JUST_COMMA
strhelp  = STR_CONFIG_SETTING_LINKGRAPH_INTERVAL_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = linkgraph.recalc_time
type     = SLE_UINT16
from     = 183
def      = 16
min      = 1
max      = 4096
interval = 1
str      = STR_CONFIG_SETTING_LINKGRAPH_TIME
strval   = STR_JUST_COMMA
strhelp  = STR_CONFIG_SETTING_LINKGRAPH_TIME_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = linkgraph.distribution_pax
type     = SLE_UINT8
from     = 183
guiflags = SGF_MULTISTRING
def      = DT_MANUAL
min      = DT_MIN
max      = DT_MAX
interval = 1
str      = STR_CONFIG_SETTING_DISTRIBUTION_PAX
strval   = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
strhelp  = STR_CONFIG_SETTING_DISTRIBUTION_PAX_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = linkgraph.distribution_mail
type     = SLE_UINT8
from     = 183
guiflags = SGF_MULTISTRING
def      = DT_MANUAL
min      = DT_MIN
max      = DT_MAX
interval = 1
str      = STR_CONFIG_SETTING_DISTRIBUTION_MAIL
strval   = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
strhelp  = STR_CONFIG_SETTING_DISTRIBUTION_MAIL_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = linkgraph.distribution_armoured
type     = SLE_UINT8
from     = 183
guiflags = SGF_MULTISTRING
def      = DT_MANUAL
min      = DT_MIN
max      = DT_MAX
interval = 1
str      = STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED
strval   = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
strhelp  = STR_CONFIG_SETTING_DISTRIBUTION_ARMOURED_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = linkgraph.distribution_default
type     = SLE_UINT8
from     = 183
guiflags = SGF_MULTISTRING
def      = DT_MANUAL
min      = DT_BEGIN
max      = DT_MAX_NONSYMMETRIC
interval = 1
str      = STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT
strval   = STR_CONFIG_SETTING_DISTRIBUTION_MANUAL
strhelp  = STR_CONFIG_SETTING_DISTRIBUTION_DEFAULT_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = linkgraph.accuracy
type     = SLE_UINT8
from     = 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]
base     = GameSettings
var      = linkgraph.demand_distance
type     = SLE_UINT8
from     = 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]
base     = GameSettings
var      = linkgraph.demand_size
type     = SLE_UINT8
from     = 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]
base     = GameSettings
var      = linkgraph.short_path_saturation
type     = SLE_UINT8
from     = 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

; Vehicles

[SDT_VAR]
base     = GameSettings
var      = vehicle.train_acceleration_model
type     = SLE_UINT8
guiflags = SGF_MULTISTRING
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
proc     = TrainAccelerationModelChanged

[SDT_VAR]
base     = GameSettings
var      = vehicle.roadveh_acceleration_model
type     = SLE_UINT8
from     = 139
guiflags = SGF_MULTISTRING
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
proc     = RoadVehAccelerationModelChanged

[SDT_VAR]
base     = GameSettings
var      = vehicle.train_slope_steepness
type     = SLE_UINT8
from     = 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
proc     = TrainSlopeSteepnessChanged
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = vehicle.roadveh_slope_steepness
type     = SLE_UINT8
from     = 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
proc     = RoadVehSlopeSteepnessChanged
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = pf.forbid_90_deg
def      = false
str      = STR_CONFIG_SETTING_FORBID_90_DEG
strhelp  = STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = vehicle.max_train_length
type     = SLE_UINT8
from     = 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

; vehicle.mammoth_trains
[SDT_NULL]
length   = 1
to       = 158

[SDT_VAR]
base     = GameSettings
var      = vehicle.smoke_amount
type     = SLE_UINT8
from     = 145
guiflags = SGF_MULTISTRING
def      = 1
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_SMOKE_AMOUNT
strhelp  = STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT
strval   = STR_CONFIG_SETTING_NONE

; order.gotodepot
[SDT_NULL]
length   = 1
to       = 158

; path finder

[SDT_BOOL]
base     = GameSettings
var      = pf.roadveh_queue
def      = true
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = pf.new_pathfinding_all
to       = 86
def      = false
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = pf.yapf.ship_use_yapf
from     = 28
to       = 86
def      = false
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = pf.yapf.road_use_yapf
from     = 28
to       = 86
def      = true
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = pf.yapf.rail_use_yapf
from     = 28
to       = 86
def      = true
cat      = SC_EXPERT

##
[SDT_VAR]
base     = GameSettings
var      = pf.pathfinder_for_trains
type     = SLE_UINT8
from     = 87
guiflags = SGF_MULTISTRING
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]
base     = GameSettings
var      = pf.pathfinder_for_roadvehs
type     = SLE_UINT8
from     = 87
guiflags = SGF_MULTISTRING
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]
base     = GameSettings
var      = pf.pathfinder_for_ships
type     = SLE_UINT8
from     = 87
guiflags = SGF_MULTISTRING
def      = 2
min      = 0
max      = 2
interval = 1
str      = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS
strhelp  = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT
strval   = STR_CONFIG_SETTING_PATHFINDER_OPF
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = vehicle.never_expire_vehicles
guiflags = SGF_NO_NETWORK
def      = false
str      = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES
strhelp  = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = vehicle.max_trains
type     = SLE_UINT16
def      = 500
min      = 0
max      = 5000
str      = STR_CONFIG_SETTING_MAX_TRAINS
strhelp  = STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT
strval   = STR_JUST_COMMA
proc     = MaxVehiclesChanged
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = vehicle.max_roadveh
type     = SLE_UINT16
def      = 500
min      = 0
max      = 5000
str      = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES
strhelp  = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT
strval   = STR_JUST_COMMA
proc     = MaxVehiclesChanged
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = vehicle.max_aircraft
type     = SLE_UINT16
def      = 200
min      = 0
max      = 5000
str      = STR_CONFIG_SETTING_MAX_AIRCRAFT
strhelp  = STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT
strval   = STR_JUST_COMMA
proc     = MaxVehiclesChanged
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = vehicle.max_ships
type     = SLE_UINT16
def      = 300
min      = 0
max      = 5000
str      = STR_CONFIG_SETTING_MAX_SHIPS
strhelp  = STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT
strval   = STR_JUST_COMMA
proc     = MaxVehiclesChanged
cat      = SC_BASIC

[SDTG_BOOL]
name     = NULL
guiflags = SGF_NO_NETWORK
var      = _old_vds.servint_ispercent
def      = false
to       = 119

[SDTG_VAR]
name     = NULL
type     = SLE_UINT16
guiflags = SGF_0ISDISABLED
var      = _old_vds.servint_trains
def      = 150
min      = 5
max      = 800
to       = 119

[SDTG_VAR]
name     = NULL
type     = SLE_UINT16
guiflags = SGF_0ISDISABLED
var      = _old_vds.servint_roadveh
def      = 150
min      = 5
max      = 800
to       = 119

[SDTG_VAR]
name     = NULL
type     = SLE_UINT16
guiflags = SGF_0ISDISABLED
var      = _old_vds.servint_ships
def      = 360
min      = 5
max      = 800
to       = 119

[SDTG_VAR]
name     = NULL
type     = SLE_UINT16
guiflags = SGF_0ISDISABLED
var      = _old_vds.servint_aircraft
def      = 150
min      = 5
max      = 800
to       = 119

[SDT_BOOL]
base     = GameSettings
var      = order.no_servicing_if_no_breakdowns
def      = true
str      = STR_CONFIG_SETTING_NOSERVICE
strhelp  = STR_CONFIG_SETTING_NOSERVICE_HELPTEXT

[SDT_BOOL]
base     = GameSettings
var      = vehicle.wagon_speed_limits
guiflags = SGF_NO_NETWORK
def      = true
str      = STR_CONFIG_SETTING_WAGONSPEEDLIMITS
strhelp  = STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT
proc     = UpdateConsists

[SDT_BOOL]
base     = GameSettings
var      = vehicle.disable_elrails
from     = 38
guiflags = SGF_NO_NETWORK
def      = false
str      = STR_CONFIG_SETTING_DISABLE_ELRAILS
strhelp  = STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT
proc     = SettingsDisableElrail
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = vehicle.freight_trains
type     = SLE_UINT8
from     = 39
guiflags = SGF_NO_NETWORK
def      = 1
min      = 1
max      = 255
interval = 1
str      = STR_CONFIG_SETTING_FREIGHT_TRAINS
strhelp  = STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT
strval   = STR_JUST_COMMA
proc     = UpdateConsists

; order.timetabling
[SDT_NULL]
length   = 1
from     = 67
to       = 158

[SDT_VAR]
base     = GameSettings
var      = vehicle.plane_speed
type     = SLE_UINT8
from     = 90
guiflags = SGF_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]
base     = GameSettings
var      = vehicle.dynamic_engines
from     = 95
guiflags = SGF_NO_NETWORK
def      = true
proc     = ChangeDynamicEngines
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = vehicle.plane_crashes
type     = SLE_UINT8
from     = 138
guiflags = SGF_MULTISTRING
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

; station.join_stations
[SDT_NULL]
length   = 1
to       = 158

[SDTC_BOOL]
var      = gui.sg_full_load_any
from     = 22
to       = 92
def      = true

[SDT_BOOL]
base     = GameSettings
var      = order.improved_load
guiflags = SGF_NO_NETWORK
def      = true
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = order.selectgoods
def      = true
cat      = SC_EXPERT

[SDTC_BOOL]
var      = gui.sg_new_nonstop
from     = 22
to       = 92
def      = false

; station.nonuniform_stations
[SDT_NULL]
length   = 1
to       = 158

[SDT_VAR]
base     = GameSettings
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
proc     = StationSpreadChanged
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = order.serviceathelipad
def      = true
str      = STR_CONFIG_SETTING_SERVICEATHELIPAD
strhelp  = STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = station.modified_catchment
def      = true
str      = STR_CONFIG_SETTING_CATCHMENT
strhelp  = STR_CONFIG_SETTING_CATCHMENT_HELPTEXT
proc     = StationCatchmentChanged
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = order.gradual_loading
from     = 40
guiflags = SGF_NO_NETWORK
def      = true
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = construction.road_stop_on_town_road
from     = 47
def      = true
str      = STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD
strhelp  = STR_CONFIG_SETTING_STOP_ON_TOWN_ROAD_HELPTEXT
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = construction.road_stop_on_competitor_road
from     = 114
def      = true
str      = STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD
strhelp  = STR_CONFIG_SETTING_STOP_ON_COMPETITOR_ROAD_HELPTEXT
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = station.adjacent_stations
from     = 62
def      = true
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = economy.station_noise_level
from     = 96
guiflags = SGF_NO_NETWORK
def      = false
str      = STR_CONFIG_SETTING_NOISE_LEVEL
strhelp  = STR_CONFIG_SETTING_NOISE_LEVEL_HELPTEXT
proc     = InvalidateTownViewWindow

[SDT_BOOL]
base     = GameSettings
var      = station.distant_join_stations
from     = 106
def      = true
str      = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS
strhelp  = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT
proc     = DeleteSelectStationWindow

##
[SDT_BOOL]
base     = GameSettings
var      = economy.inflation
def      = true
str      = STR_CONFIG_SETTING_INFLATION
strhelp  = STR_CONFIG_SETTING_INFLATION_HELPTEXT
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = construction.raw_industry_construction
type     = SLE_UINT8
guiflags = SGF_MULTISTRING
def      = 0
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD
strhelp  = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_HELPTEXT
strval   = STR_CONFIG_SETTING_RAW_INDUSTRY_CONSTRUCTION_METHOD_NONE
proc     = InvalidateBuildIndustryWindow
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = construction.industry_platform
type     = SLE_UINT8
from     = 148
def      = 1
min      = 0
max      = 4
str      = STR_CONFIG_SETTING_INDUSTRY_PLATFORM
strhelp  = STR_CONFIG_SETTING_INDUSTRY_PLATFORM_HELPTEXT
strval   = STR_CONFIG_SETTING_TILE_LENGTH
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = economy.multiple_industry_per_town
def      = false
str      = STR_CONFIG_SETTING_MULTIPINDTOWN
strhelp  = STR_CONFIG_SETTING_MULTIPINDTOWN_HELPTEXT

[SDT_NULL]
length   = 1
to       = 140

[SDT_BOOL]
base     = GameSettings
var      = economy.bribe
def      = true
str      = STR_CONFIG_SETTING_BRIBE
strhelp  = STR_CONFIG_SETTING_BRIBE_HELPTEXT
proc     = RedrawTownAuthority
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = economy.exclusive_rights
from     = 79
def      = true
str      = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE
strhelp  = STR_CONFIG_SETTING_ALLOW_EXCLUSIVE_HELPTEXT
proc     = RedrawTownAuthority
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = economy.fund_buildings
from     = 165
def      = true
str      = STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS
strhelp  = STR_CONFIG_SETTING_ALLOW_FUND_BUILDINGS_HELPTEXT
proc     = RedrawTownAuthority
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = economy.fund_roads
from     = 160
def      = true
str      = STR_CONFIG_SETTING_ALLOW_FUND_ROAD
strhelp  = STR_CONFIG_SETTING_ALLOW_FUND_ROAD_HELPTEXT
proc     = RedrawTownAuthority
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = economy.give_money
from     = 79
def      = true
str      = STR_CONFIG_SETTING_ALLOW_GIVE_MONEY
strhelp  = STR_CONFIG_SETTING_ALLOW_GIVE_MONEY_HELPTEXT
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = game_creation.snow_line_height
type     = SLE_UINT8
guiflags = SGF_NO_NETWORK
def      = DEF_SNOWLINE_HEIGHT
min      = MIN_SNOWLINE_HEIGHT
max      = MAX_SNOWLINE_HEIGHT
str      = STR_CONFIG_SETTING_SNOWLINE_HEIGHT
strhelp  = STR_CONFIG_SETTING_SNOWLINE_HEIGHT_HELPTEXT
strval   = STR_JUST_COMMA
cat      = SC_BASIC

[SDT_NULL]
length   = 4
to       = 143

[SDT_VAR]
base     = GameSettings
var      = game_creation.starting_year
type     = SLE_INT32
def      = DEF_START_YEAR
min      = MIN_YEAR
max      = MAX_YEAR
interval = 1
str      = STR_CONFIG_SETTING_STARTING_YEAR
strval   = STR_JUST_INT
cat      = SC_BASIC

[SDT_NULL]
length   = 4
to       = 104

[SDT_BOOL]
base     = GameSettings
var      = economy.smooth_economy
def      = true
str      = STR_CONFIG_SETTING_SMOOTH_ECONOMY
strhelp  = STR_CONFIG_SETTING_SMOOTH_ECONOMY_HELPTEXT
proc     = InvalidateIndustryViewWindow
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = economy.allow_shares
def      = false
str      = STR_CONFIG_SETTING_ALLOW_SHARES
strhelp  = STR_CONFIG_SETTING_ALLOW_SHARES_HELPTEXT
proc     = InvalidateCompanyWindow

[SDT_VAR]
base     = GameSettings
var      = economy.feeder_payment_share
type     = SLE_UINT8
from     = 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]
base     = GameSettings
var      = economy.town_growth_rate
type     = SLE_UINT8
from     = 54
guiflags = SGF_MULTISTRING
def      = 2
min      = 0
max      = 4
str      = STR_CONFIG_SETTING_TOWN_GROWTH
strhelp  = STR_CONFIG_SETTING_TOWN_GROWTH_HELPTEXT
strval   = STR_CONFIG_SETTING_TOWN_GROWTH_NONE

[SDT_VAR]
base     = GameSettings
var      = economy.larger_towns
type     = SLE_UINT8
from     = 54
guiflags = SGF_0ISDISABLED
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]
base     = GameSettings
var      = economy.initial_city_size
type     = SLE_UINT8
from     = 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]
base     = GameSettings
var      = economy.mod_road_rebuild
from     = 77
def      = true
cat      = SC_EXPERT

; previously ai-new setting.
[SDT_NULL]
length   = 1
to       = 106

[SDT_OMANY]
base     = GameSettings
var      = script.settings_profile
type     = SLE_UINT8
from     = 178
guiflags = SGF_MULTISTRING
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_BOOL]
base     = GameSettings
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]
base     = GameSettings
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]
base     = GameSettings
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]
base     = GameSettings
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]
base     = GameSettings
var      = ai.ai_disable_veh_ship
def      = false
str      = STR_CONFIG_SETTING_AI_BUILDS_SHIPS
strhelp  = STR_CONFIG_SETTING_AI_BUILDS_SHIPS_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = script.script_max_opcode_till_suspend
type     = SLE_UINT32
from     = 107
guiflags = SGF_NEWGAME_ONLY
def      = 10000
min      = 5000
max      = 250000
interval = 2500
str      = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES
strhelp  = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT
strval   = STR_JUST_COMMA
cat      = SC_EXPERT

##
[SDT_VAR]
base     = GameSettings
var      = vehicle.extend_vehicle_life
type     = SLE_UINT8
def      = 0
min      = 0
max      = 100
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = economy.dist_local_authority
type     = SLE_UINT8
def      = 20
min      = 5
max      = 60
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = pf.reverse_at_signals
from     = 159
def      = false
str      = STR_CONFIG_SETTING_REVERSE_AT_SIGNALS
strhelp  = STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = pf.wait_oneway_signal
type     = SLE_UINT8
def      = 15
min      = 2
max      = 255
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.wait_twoway_signal
type     = SLE_UINT8
def      = 41
min      = 2
max      = 255
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = economy.town_noise_population[0]
type     = SLE_UINT16
from     = 96
def      = 800
min      = 200
max      = 65535
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = economy.town_noise_population[1]
type     = SLE_UINT16
from     = 96
def      = 2000
min      = 400
max      = 65535
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = economy.town_noise_population[2]
type     = SLE_UINT16
from     = 96
def      = 4000
min      = 800
max      = 65535
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = economy.infrastructure_maintenance
from     = 166
def      = false
str      = STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE
strhelp  = STR_CONFIG_SETTING_INFRASTRUCTURE_MAINTENANCE_HELPTEXT
proc     = InvalidateCompanyInfrastructureWindow
cat      = SC_BASIC

##
[SDT_VAR]
base     = GameSettings
var      = pf.wait_for_pbs_path
type     = SLE_UINT8
from     = 100
def      = 30
min      = 2
max      = 255
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = pf.reserve_paths
from     = 100
def      = false
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.path_backoff_interval
type     = SLE_UINT8
from     = 100
def      = 20
min      = 1
max      = 255
cat      = SC_EXPERT

##
[SDT_VAR]
base     = GameSettings
var      = pf.opf.pf_maxlength
type     = SLE_UINT16
def      = 4096
min      = 64
max      = 65535
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.opf.pf_maxdepth
type     = SLE_UINT8
def      = 48
min      = 4
max      = 255
cat      = SC_EXPERT

##
[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_max_search_nodes
type     = SLE_UINT
def      = 10000
min      = 500
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_rail_firstred_penalty
type     = SLE_UINT
def      = 10 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
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]
base     = GameSettings
var      = pf.npf.npf_rail_lastred_penalty
type     = SLE_UINT
def      = 10 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_rail_station_penalty
type     = SLE_UINT
def      = 1 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_rail_slope_penalty
type     = SLE_UINT
def      = 1 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_rail_curve_penalty
type     = SLE_UINT
def      = 1 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
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]
base     = GameSettings
var      = pf.npf.npf_rail_pbs_cross_penalty
type     = SLE_UINT
from     = 100
def      = 3 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_rail_pbs_signal_back_penalty
type     = SLE_UINT
from     = 100
def      = 15 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_buoy_penalty
type     = SLE_UINT
def      = 2 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_water_curve_penalty
type     = SLE_UINT
def      = 1 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_road_curve_penalty
type     = SLE_UINT
def      = 1 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_crossing_penalty
type     = SLE_UINT
def      = 3 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_road_drive_through_penalty
type     = SLE_UINT
from     = 47
def      = 8 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_road_dt_occupied_penalty
type     = SLE_UINT
from     = 130
def      = 8 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.npf_road_bay_occupied_penalty
type     = SLE_UINT
from     = 130
def      = 15 * NPF_TILE_LENGTH
min      = 0
max      = 100000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.npf.maximum_go_to_depot_penalty
type     = SLE_UINT
from     = 131
def      = 20 * NPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

##
[SDT_BOOL]
base     = GameSettings
var      = pf.yapf.disable_node_optimization
from     = 28
def      = false
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.max_search_nodes
type     = SLE_UINT
from     = 28
def      = 10000
min      = 500
max      = 1000000
cat      = SC_EXPERT

[SDT_BOOL]
base     = GameSettings
var      = pf.yapf.rail_firstred_twoway_eol
from     = 28
def      = false
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_firstred_penalty
type     = SLE_UINT
from     = 28
def      = 10 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_firstred_exit_penalty
type     = SLE_UINT
from     = 28
def      = 100 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_lastred_penalty
type     = SLE_UINT
from     = 28
def      = 10 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_lastred_exit_penalty
type     = SLE_UINT
from     = 28
def      = 100 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_station_penalty
type     = SLE_UINT
from     = 28
def      = 10 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_slope_penalty
type     = SLE_UINT
from     = 28
def      = 2 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_curve45_penalty
type     = SLE_UINT
from     = 28
def      = 1 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_curve90_penalty
type     = SLE_UINT
from     = 28
def      = 6 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_depot_reverse_penalty
type     = SLE_UINT
from     = 28
def      = 50 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_crossing_penalty
type     = SLE_UINT
from     = 28
def      = 3 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_look_ahead_max_signals
type     = SLE_UINT
from     = 28
def      = 10
min      = 1
max      = 100
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_look_ahead_signal_p0
type     = SLE_INT
from     = 28
def      = 500
min      = -1000000
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_look_ahead_signal_p1
type     = SLE_INT
from     = 28
def      = -100
min      = -1000000
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_look_ahead_signal_p2
type     = SLE_INT
from     = 28
def      = 5
min      = -1000000
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_pbs_cross_penalty
type     = SLE_UINT
from     = 100
def      = 3 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_pbs_station_penalty
type     = SLE_UINT
from     = 100
def      = 8 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_pbs_signal_back_penalty
type     = SLE_UINT
from     = 100
def      = 15 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_doubleslip_penalty
type     = SLE_UINT
from     = 100
def      = 1 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_longer_platform_penalty
type     = SLE_UINT
from     = 33
def      = 8 * YAPF_TILE_LENGTH
min      = 0
max      = 20000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_longer_platform_per_tile_penalty
type     = SLE_UINT
from     = 33
def      = 0 * YAPF_TILE_LENGTH
min      = 0
max      = 20000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_shorter_platform_penalty
type     = SLE_UINT
from     = 33
def      = 40 * YAPF_TILE_LENGTH
min      = 0
max      = 20000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.rail_shorter_platform_per_tile_penalty
type     = SLE_UINT
from     = 33
def      = 0 * YAPF_TILE_LENGTH
min      = 0
max      = 20000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.road_slope_penalty
type     = SLE_UINT
from     = 33
def      = 2 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.road_curve_penalty
type     = SLE_UINT
from     = 33
def      = 1 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.road_crossing_penalty
type     = SLE_UINT
from     = 33
def      = 3 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.road_stop_penalty
type     = SLE_UINT
from     = 47
def      = 8 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.road_stop_occupied_penalty
type     = SLE_UINT
from     = 130
def      = 8 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.road_stop_bay_occupied_penalty
type     = SLE_UINT
from     = 130
def      = 15 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = pf.yapf.maximum_go_to_depot_penalty
type     = SLE_UINT
from     = 131
def      = 20 * YAPF_TILE_LENGTH
min      = 0
max      = 1000000
cat      = SC_EXPERT

##
[SDT_VAR]
base     = GameSettings
var      = game_creation.land_generator
type     = SLE_UINT8
from     = 30
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def      = 1
min      = 0
max      = 1
str      = STR_CONFIG_SETTING_LAND_GENERATOR
strhelp  = STR_CONFIG_SETTING_LAND_GENERATOR_HELPTEXT
strval   = STR_CONFIG_SETTING_LAND_GENERATOR_ORIGINAL

[SDT_VAR]
base     = GameSettings
var      = game_creation.oil_refinery_limit
type     = SLE_UINT8
from     = 30
def      = 32
min      = 12
max      = 48
str      = STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE
strval   = STR_CONFIG_SETTING_TILE_LENGTH
strhelp  = STR_CONFIG_SETTING_OIL_REF_EDGE_DISTANCE_HELPTEXT

[SDT_VAR]
base     = GameSettings
var      = game_creation.tgen_smoothness
type     = SLE_UINT8
from     = 30
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def      = 1
min      = TGEN_SMOOTHNESS_BEGIN
max      = TGEN_SMOOTHNESS_END - 1
str      = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN
strhelp  = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_HELPTEXT
strval   = STR_CONFIG_SETTING_ROUGHNESS_OF_TERRAIN_VERY_SMOOTH
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = game_creation.variety
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def      = 0
min      = 0
max      = 5
str      = STR_CONFIG_SETTING_VARIETY
strhelp  = STR_CONFIG_SETTING_VARIETY_HELPTEXT
strval   = STR_VARIETY_NONE

[SDT_VAR]
base     = GameSettings
var      = game_creation.generation_seed
type     = SLE_UINT32
from     = 30
def      = GENERATE_NEW_SEED
min      = 0
max      = UINT32_MAX
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = game_creation.tree_placer
type     = SLE_UINT8
from     = 30
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY | SGF_SCENEDIT_TOO
def      = 2
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_TREE_PLACER
strhelp  = STR_CONFIG_SETTING_TREE_PLACER_HELPTEXT
strval   = STR_CONFIG_SETTING_TREE_PLACER_NONE

[SDT_VAR]
base     = GameSettings
var      = game_creation.heightmap_rotation
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 0
min      = 0
max      = 1
str      = STR_CONFIG_SETTING_HEIGHTMAP_ROTATION
strval   = STR_CONFIG_SETTING_HEIGHTMAP_ROTATION_COUNTER_CLOCKWISE
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = game_creation.se_flat_world_height
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 1
min      = 0
max      = 15
str      = STR_CONFIG_SETTING_SE_FLAT_WORLD_HEIGHT
strval   = STR_JUST_COMMA
cat      = SC_BASIC

##
[SDT_VAR]
base     = GameSettings
var      = game_creation.map_x
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 8
min      = MIN_MAP_SIZE_BITS
max      = MAX_MAP_SIZE_BITS
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = game_creation.map_y
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 8
min      = MIN_MAP_SIZE_BITS
max      = MAX_MAP_SIZE_BITS
cat      = SC_BASIC

[SDT_BOOL]
base     = GameSettings
var      = construction.freeform_edges
from     = 111
def      = true
proc     = CheckFreeformEdges
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = game_creation.water_borders
type     = SLE_UINT8
from     = 111
def      = 15
min      = 0
max      = 16

[SDT_VAR]
base     = GameSettings
var      = game_creation.custom_town_number
type     = SLE_UINT16
from     = 115
def      = 1
min      = 1
max      = 5000
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = construction.extra_tree_placement
type     = SLE_UINT8
from     = 132
guiflags = SGF_MULTISTRING
def      = 2
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT
strhelp  = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_HELPTEXT
strval   = STR_CONFIG_SETTING_EXTRA_TREE_PLACEMENT_NONE
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = game_creation.custom_sea_level
type     = SLE_UINT8
from     = 149
def      = 1
min      = 2
max      = 90
cat      = SC_BASIC

[SDT_VAR]
base     = GameSettings
var      = game_creation.min_river_length
type     = SLE_UINT8
from     = 163
def      = 16
min      = 2
max      = 255
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = game_creation.river_route_random
type     = SLE_UINT8
from     = 163
def      = 5
min      = 1
max      = 255
cat      = SC_EXPERT

[SDT_VAR]
base     = GameSettings
var      = game_creation.amount_of_rivers
type     = SLE_UINT8
from     = 163
guiflags = SGF_MULTISTRING | SGF_NEWGAME_ONLY
def      = 2
min      = 0
max      = 3
str      = STR_CONFIG_SETTING_RIVER_AMOUNT
strhelp  = STR_CONFIG_SETTING_RIVER_AMOUNT_HELPTEXT
strval   = STR_RIVERS_NONE

; locale

[SDT_OMANY]
base     = GameSettings
var      = locale.currency
type     = SLE_UINT8
from     = 97
flags    = SLF_NO_NETWORK_SYNC
def      = 0
max      = CURRENCY_END - 1
full     = _locale_currencies
proc     = RedrawScreen
cat      = SC_BASIC

[SDTG_OMANY]
name     = ""units""
var      = _old_units
type     = SLE_UINT8
from     = 97
to       = 183
flags    = SLF_NOT_IN_CONFIG
def      = 1
max      = 2
full     = _locale_units
proc     = RedrawScreen
cat      = SC_BASIC

[SDT_OMANY]
base     = GameSettings
var      = locale.units_velocity
type     = SLE_UINT8
from     = 184
flags    = SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 2
full     = _locale_units
proc     = RedrawScreen
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]
base     = GameSettings
var      = locale.units_power
type     = SLE_UINT8
from     = 184
flags    = SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 2
full     = _locale_units
proc     = RedrawScreen
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]
base     = GameSettings
var      = locale.units_weight
type     = SLE_UINT8
from     = 184
flags    = SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 2
full     = _locale_units
proc     = RedrawScreen
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]
base     = GameSettings
var      = locale.units_volume
type     = SLE_UINT8
from     = 184
flags    = SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 2
full     = _locale_units
proc     = RedrawScreen
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]
base     = GameSettings
var      = locale.units_force
type     = SLE_UINT8
from     = 184
flags    = SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
max      = 2
full     = _locale_units
proc     = RedrawScreen
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]
base     = GameSettings
var      = locale.units_height
type     = SLE_UINT8
from     = 184
flags    = SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 2
full     = _locale_units
proc     = RedrawScreen
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_STR]
base     = GameSettings
var      = locale.digit_group_separator
type     = SLE_STRQ
from     = 118
flags    = SLF_NO_NETWORK_SYNC
def      = NULL
proc     = RedrawScreen
cat      = SC_BASIC

[SDT_STR]
base     = GameSettings
var      = locale.digit_group_separator_currency
type     = SLE_STRQ
from     = 118
flags    = SLF_NO_NETWORK_SYNC
def      = NULL
proc     = RedrawScreen
cat      = SC_BASIC

[SDT_STR]
base     = GameSettings
var      = locale.digit_decimal_separator
type     = SLE_STRQ
from     = 126
flags    = SLF_NO_NETWORK_SYNC
def      = NULL
proc     = RedrawScreen
cat      = SC_BASIC


;***************************************************************************
; Unsaved setting variables.

[SDTC_OMANY]
var      = gui.autosave
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 4
full     = _autosave_interval
str      = STR_CONFIG_SETTING_AUTOSAVE
strhelp  = STR_CONFIG_SETTING_AUTOSAVE_HELPTEXT
strval   = STR_GAME_OPTIONS_AUTOSAVE_DROPDOWN_OFF
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.threaded_saves
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
cat      = SC_EXPERT

[SDTC_OMANY]
var      = gui.date_format_in_default_names
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 0
max      = 2
full     = _savegame_date
str      = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES
strhelp  = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_HELPTEXT
strval   = STR_CONFIG_SETTING_DATE_FORMAT_IN_SAVE_NAMES_LONG

[SDTC_BOOL]
var      = gui.show_finances
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_SHOWFINANCES
strhelp  = STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.auto_scrolling
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 0
min      = 0
max      = 3
str      = STR_CONFIG_SETTING_AUTOSCROLL
strhelp  = STR_CONFIG_SETTING_AUTOSCROLL_HELPTEXT
strval   = STR_CONFIG_SETTING_AUTOSCROLL_DISABLED
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.reverse_scroll
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_REVERSE_SCROLLING
strhelp  = STR_CONFIG_SETTING_REVERSE_SCROLLING_HELPTEXT
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.smooth_scroll
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_SMOOTH_SCROLLING
strhelp  = STR_CONFIG_SETTING_SMOOTH_SCROLLING_HELPTEXT

[SDTC_BOOL]
var      = gui.left_mouse_btn_scrolling
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING
strhelp  = STR_CONFIG_SETTING_LEFT_MOUSE_BTN_SCROLLING_HELPTEXT
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.right_mouse_wnd_close
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE
strhelp  = STR_CONFIG_SETTING_RIGHT_MOUSE_WND_CLOSE_HELPTEXT
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.measure_tooltip
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_MEASURE_TOOLTIP
strhelp  = STR_CONFIG_SETTING_MEASURE_TOOLTIP_HELPTEXT
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.errmsg_duration
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 5
min      = 0
max      = 20
str      = STR_CONFIG_SETTING_ERRMSG_DURATION
strhelp  = STR_CONFIG_SETTING_ERRMSG_DURATION_HELPTEXT
strval   = STR_CONFIG_SETTING_ERRMSG_DURATION_VALUE

[SDTC_VAR]
var      = gui.hover_delay_ms
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_0ISDISABLED
def      = 250
min      = 50
max      = 6000
interval = 50
str      = STR_CONFIG_SETTING_HOVER_DELAY
strhelp  = STR_CONFIG_SETTING_HOVER_DELAY_HELPTEXT
strval   = STR_CONFIG_SETTING_HOVER_DELAY_VALUE

[SDTC_OMANY]
var      = gui.osk_activation
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
str      = STR_CONFIG_SETTING_OSK_ACTIVATION
strhelp  = STR_CONFIG_SETTING_OSK_ACTIVATION_HELPTEXT
strval   = STR_CONFIG_SETTING_OSK_ACTIVATION_DISABLED
guiflags = SGF_MULTISTRING
full     = _osk_activation
def      = 1
min      = 0
max      = 3
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.toolbar_pos
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_TOOLBAR_POS
strhelp  = STR_CONFIG_SETTING_TOOLBAR_POS_HELPTEXT
strval   = STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT
proc     = v_PositionMainToolbar
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.statusbar_pos
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_STATUSBAR_POS
strhelp  = STR_CONFIG_SETTING_STATUSBAR_POS_HELPTEXT
strval   = STR_CONFIG_SETTING_HORIZONTAL_POS_LEFT
proc     = v_PositionStatusbar
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.window_snap_radius
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_0ISDISABLED
def      = 10
min      = 1
max      = 32
str      = STR_CONFIG_SETTING_SNAP_RADIUS
strhelp  = STR_CONFIG_SETTING_SNAP_RADIUS_HELPTEXT
strval   = STR_CONFIG_SETTING_SNAP_RADIUS_VALUE
cat      = SC_EXPERT

[SDTC_VAR]
var      = gui.window_soft_limit
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_0ISDISABLED
def      = 20
min      = 5
max      = 255
interval = 1
str      = STR_CONFIG_SETTING_SOFT_LIMIT
strhelp  = STR_CONFIG_SETTING_SOFT_LIMIT_HELPTEXT
strval   = STR_CONFIG_SETTING_SOFT_LIMIT_VALUE
cat      = SC_EXPERT

[SDTC_VAR]
var      = gui.zoom_min
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = ZOOM_LVL_MIN
min      = ZOOM_LVL_MIN
max      = ZOOM_LVL_OUT_4X
str      = STR_CONFIG_SETTING_ZOOM_MIN
strhelp  = STR_CONFIG_SETTING_ZOOM_MIN_HELPTEXT
strval   = STR_CONFIG_SETTING_ZOOM_LVL_MIN
proc     = ZoomMinMaxChanged

[SDTC_VAR]
var      = gui.zoom_max
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = ZOOM_LVL_MAX
min      = ZOOM_LVL_OUT_8X
max      = ZOOM_LVL_MAX
str      = STR_CONFIG_SETTING_ZOOM_MAX
strhelp  = STR_CONFIG_SETTING_ZOOM_MAX_HELPTEXT
strval   = STR_CONFIG_SETTING_ZOOM_LVL_OUT_2X
proc     = ZoomMinMaxChanged

[SDTC_BOOL]
var      = gui.population_in_label
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_POPULATION_IN_LABEL
strhelp  = STR_CONFIG_SETTING_POPULATION_IN_LABEL_HELPTEXT
proc     = PopulationInLabelActive

[SDTC_BOOL]
var      = gui.link_terraform_toolbar
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR
strhelp  = STR_CONFIG_SETTING_LINK_TERRAFORM_TOOLBAR_HELPTEXT

[SDTC_VAR]
var      = gui.smallmap_land_colour
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 0
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR
strhelp  = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_HELPTEXT
strval   = STR_CONFIG_SETTING_SMALLMAP_LAND_COLOUR_GREEN
proc     = RedrawSmallmap

[SDTC_VAR]
var      = gui.liveries
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_LIVERIES
strhelp  = STR_CONFIG_SETTING_LIVERIES_HELPTEXT
strval   = STR_CONFIG_SETTING_LIVERIES_NONE
proc     = InvalidateCompanyLiveryWindow

[SDTC_BOOL]
var      = gui.prefer_teamchat
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_PREFER_TEAMCHAT
strhelp  = STR_CONFIG_SETTING_PREFER_TEAMCHAT_HELPTEXT
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.scrollwheel_scrolling
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 0
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING
strhelp  = STR_CONFIG_SETTING_SCROLLWHEEL_SCROLLING_HELPTEXT
strval   = STR_CONFIG_SETTING_SCROLLWHEEL_ZOOM
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.scrollwheel_multiplier
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 5
min      = 1
max      = 15
interval = 1
str      = STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER
strhelp  = STR_CONFIG_SETTING_SCROLLWHEEL_MULTIPLIER_HELPTEXT
strval   = STR_JUST_COMMA
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.pause_on_newgame
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME
strhelp  = STR_CONFIG_SETTING_PAUSE_ON_NEW_GAME_HELPTEXT
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.advanced_vehicle_list
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS
strhelp  = STR_CONFIG_SETTING_ADVANCED_VEHICLE_LISTS_HELPTEXT
strval   = STR_CONFIG_SETTING_COMPANIES_OFF

[SDTC_BOOL]
var      = gui.timetable_in_ticks
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_TIMETABLE_IN_TICKS
strhelp  = STR_CONFIG_SETTING_TIMETABLE_IN_TICKS_HELPTEXT
proc     = InvalidateVehTimetableWindow
cat      = SC_EXPERT

[SDTC_BOOL]
var      = gui.timetable_arrival_departure
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE
strhelp  = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT
proc     = InvalidateVehTimetableWindow

[SDTC_BOOL]
var      = gui.quick_goto
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_QUICKGOTO
strhelp  = STR_CONFIG_SETTING_QUICKGOTO_HELPTEXT
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.loading_indicators
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_LOADING_INDICATORS
strhelp  = STR_CONFIG_SETTING_LOADING_INDICATORS_HELPTEXT
strval   = STR_CONFIG_SETTING_COMPANIES_OFF
proc     = RedrawScreen
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.default_rail_type
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 0
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE
strhelp  = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_HELPTEXT
strval   = STR_CONFIG_SETTING_DEFAULT_RAIL_TYPE_FIRST
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.enable_signal_gui
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI
strhelp  = STR_CONFIG_SETTING_ENABLE_SIGNAL_GUI_HELPTEXT
proc     = CloseSignalGUI
cat      = SC_EXPERT

[SDTC_VAR]
var      = gui.coloured_news_year
type     = SLE_INT32
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 2000
min      = MIN_YEAR
max      = MAX_YEAR
interval = 1
str      = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR
strhelp  = STR_CONFIG_SETTING_COLOURED_NEWS_YEAR_HELPTEXT
strval   = STR_JUST_INT
cat      = SC_EXPERT

[SDTC_VAR]
var      = gui.drag_signals_density
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 4
min      = 1
max      = 20
str      = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY
strhelp  = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_HELPTEXT
strval   = STR_CONFIG_SETTING_DRAG_SIGNALS_DENSITY_VALUE
proc     = DragSignalsDensityChanged
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.drag_signals_fixed_distance
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE
strhelp  = STR_CONFIG_SETTING_DRAG_SIGNALS_FIXED_DISTANCE_HELPTEXT
cat      = SC_EXPERT

[SDTC_VAR]
var      = gui.semaphore_build_before
type     = SLE_INT32
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 1950
min      = MIN_YEAR
max      = MAX_YEAR
interval = 1
str      = STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE
strhelp  = STR_CONFIG_SETTING_SEMAPHORE_BUILD_BEFORE_DATE_HELPTEXT
strval   = STR_JUST_INT
proc     = ResetSignalVariant

[SDTC_BOOL]
var      = gui.vehicle_income_warn
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_WARN_INCOME_LESS
strhelp  = STR_CONFIG_SETTING_WARN_INCOME_LESS_HELPTEXT
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.order_review_system
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_ORDER_REVIEW
strhelp  = STR_CONFIG_SETTING_ORDER_REVIEW_HELPTEXT
strval   = STR_CONFIG_SETTING_ORDER_REVIEW_OFF
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.lost_vehicle_warn
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_WARN_LOST_VEHICLE
strhelp  = STR_CONFIG_SETTING_WARN_LOST_VEHICLE_HELPTEXT

[SDTC_BOOL]
var      = gui.disable_unsuitable_building
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING
strhelp  = STR_CONFIG_SETTING_DISABLE_UNSUITABLE_BUILDING_HELPTEXT
proc     = RedrawScreen
cat      = SC_EXPERT

[SDTC_BOOL]
var      = gui.new_nonstop
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT
strhelp  = STR_CONFIG_SETTING_NONSTOP_BY_DEFAULT_HELPTEXT
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.stop_location
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
min      = 0
max      = 2
interval = 1
str      = STR_CONFIG_SETTING_STOP_LOCATION
strhelp  = STR_CONFIG_SETTING_STOP_LOCATION_HELPTEXT
strval   = STR_CONFIG_SETTING_STOP_LOCATION_NEAR_END
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.keep_all_autosave
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false

[SDTC_BOOL]
var      = gui.autosave_on_exit
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.max_num_autosaves
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 16
min      = 0
max      = 255

[SDTC_BOOL]
var      = gui.auto_euro
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true

[SDTC_VAR]
var      = gui.news_message_timeout
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 2
min      = 1
max      = 255

[SDTC_BOOL]
var      = gui.show_track_reservation
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION
strhelp  = STR_CONFIG_SETTING_SHOW_TRACK_RESERVATION_HELPTEXT
proc     = RedrawScreen
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.default_signal_type
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
min      = 0
max      = 2
interval = 1
str      = STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE
strhelp  = STR_CONFIG_SETTING_DEFAULT_SIGNAL_TYPE_HELPTEXT
strval   = STR_CONFIG_SETTING_DEFAULT_SIGNAL_NORMAL
cat      = SC_BASIC

[SDTC_VAR]
var      = gui.cycle_signal_types
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
min      = 0
max      = 2
interval = 1
str      = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES
strhelp  = STR_CONFIG_SETTING_CYCLE_SIGNAL_TYPES_HELPTEXT
strval   = STR_CONFIG_SETTING_CYCLE_SIGNAL_NORMAL

[SDTC_VAR]
var      = gui.station_numtracks
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 1
min      = 1
max      = 7

[SDTC_VAR]
var      = gui.station_platlength
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 5
min      = 1
max      = 7
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.station_dragdrop
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.station_show_coverage
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.persistent_buildingtools
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS
strhelp  = STR_CONFIG_SETTING_PERSISTENT_BUILDINGTOOLS_HELPTEXT
cat      = SC_BASIC

[SDTC_BOOL]
var      = gui.expenses_layout
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
str      = STR_CONFIG_SETTING_EXPENSES_LAYOUT
strhelp  = STR_CONFIG_SETTING_EXPENSES_LAYOUT_HELPTEXT
proc     = RedrawScreen

[SDTC_VAR]
var      = gui.station_gui_group_order
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 0
min      = 0
max      = 5
interval = 1

[SDTC_VAR]
var      = gui.station_gui_sort_by
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 0
min      = 0
max      = 3
interval = 1

[SDTC_VAR]
var      = gui.station_gui_sort_order
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 0
min      = 0
max      = 1
interval = 1

[SDTC_VAR]
var      = gui.missing_strings_threshold
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 25
min      = 1
max      = UINT8_MAX
cat      = SC_EXPERT

[SDTC_VAR]
var      = gui.graph_line_thickness
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 3
min      = 1
max      = 5
str      = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS
strhelp  = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT
strval   = STR_JUST_COMMA
proc     = RedrawScreen

; For the dedicated build we'll enable dates in logs by default.
[SDTC_BOOL]
ifdef    = DEDICATED
var      = gui.show_date_in_logs
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true

[SDTC_BOOL]
ifndef   = DEDICATED
var      = gui.show_date_in_logs
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false

[SDTC_VAR]
var      = gui.settings_restriction_mode
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 0
min      = 0
max      = 2

[SDTC_VAR]
var      = gui.developer
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 1
min      = 0
max      = 2
cat      = SC_EXPERT

[SDTC_BOOL]
var      = gui.newgrf_developer_tools
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
proc     = InvalidateNewGRFChangeWindows
cat      = SC_EXPERT

[SDTC_BOOL]
var      = gui.ai_developer_tools
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
proc     = InvalidateAISettingsWindow
cat      = SC_EXPERT

[SDTC_BOOL]
var      = gui.scenario_developer
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
proc     = InvalidateNewGRFChangeWindows

[SDTC_BOOL]
var      = gui.newgrf_show_old_versions
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
cat      = SC_EXPERT

[SDTC_VAR]
var      = gui.newgrf_default_palette
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
min      = 0
max      = 1
proc     = UpdateNewGRFConfigPalette
cat      = SC_EXPERT

[SDTC_VAR]
var      = gui.console_backlog_timeout
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 100
min      = 10
max      = 65500

[SDTC_VAR]
var      = gui.console_backlog_length
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 100
min      = 10
max      = 65500

[SDTC_BOOL]
var      = sound.news_ticker
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_SOUND_TICKER
strhelp  = STR_CONFIG_SETTING_SOUND_TICKER_HELPTEXT

[SDTC_BOOL]
var      = sound.news_full
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_SOUND_NEWS
strhelp  = STR_CONFIG_SETTING_SOUND_NEWS_HELPTEXT

[SDTC_BOOL]
var      = sound.new_year
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_SOUND_NEW_YEAR
strhelp  = STR_CONFIG_SETTING_SOUND_NEW_YEAR_HELPTEXT

[SDTC_BOOL]
var      = sound.confirm
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_SOUND_CONFIRM
strhelp  = STR_CONFIG_SETTING_SOUND_CONFIRM_HELPTEXT

[SDTC_BOOL]
var      = sound.click_beep
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_SOUND_CLICK
strhelp  = STR_CONFIG_SETTING_SOUND_CLICK_HELPTEXT

[SDTC_BOOL]
var      = sound.disaster
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_SOUND_DISASTER
strhelp  = STR_CONFIG_SETTING_SOUND_DISASTER_HELPTEXT

[SDTC_BOOL]
var      = sound.vehicle
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_SOUND_VEHICLE
strhelp  = STR_CONFIG_SETTING_SOUND_VEHICLE_HELPTEXT

[SDTC_BOOL]
var      = sound.ambient
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
str      = STR_CONFIG_SETTING_SOUND_AMBIENT
strhelp  = STR_CONFIG_SETTING_SOUND_AMBIENT_HELPTEXT

[SDTC_VAR]
var      = music.playlist
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 0
min      = 0
max      = 5
interval = 1
cat      = SC_BASIC

[SDTC_VAR]
var      = music.music_vol
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 127
min      = 0
max      = 127
interval = 1
cat      = SC_BASIC

[SDTC_VAR]
var      = music.effect_vol
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 127
min      = 0
max      = 127
interval = 1
cat      = SC_BASIC

[SDTC_LIST]
var      = music.custom_1
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = NULL
cat      = SC_BASIC

[SDTC_LIST]
var      = music.custom_2
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = NULL
cat      = SC_BASIC

[SDTC_BOOL]
var      = music.playing
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = true
cat      = SC_BASIC

[SDTC_BOOL]
var      = music.shuffle
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
cat      = SC_BASIC

[SDTC_OMANY]
var      = news_display.arrival_player
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN
strhelp  = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OWN_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.arrival_other
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER
strhelp  = STR_CONFIG_SETTING_NEWS_ARRIVAL_FIRST_VEHICLE_OTHER_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.accident
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS
strhelp  = STR_CONFIG_SETTING_NEWS_ACCIDENTS_DISASTERS_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.company_info
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION
strhelp  = STR_CONFIG_SETTING_NEWS_COMPANY_INFORMATION_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.open
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_OPEN_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.close
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CLOSE_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.economy
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES
strhelp  = STR_CONFIG_SETTING_NEWS_ECONOMY_CHANGES_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.production_player
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_COMPANY_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.production_other
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 0
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_OTHER_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.production_nobody
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 0
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED
strhelp  = STR_CONFIG_SETTING_NEWS_INDUSTRY_CHANGES_UNSERVED_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.advice
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_ADVICE
strhelp  = STR_CONFIG_SETTING_NEWS_ADVICE_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.new_vehicles
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_NEW_VEHICLES
strhelp  = STR_CONFIG_SETTING_NEWS_NEW_VEHICLES_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.acceptance
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE
strhelp  = STR_CONFIG_SETTING_NEWS_CHANGES_ACCEPTANCE_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.subsidies
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 1
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_SUBSIDIES
strhelp  = STR_CONFIG_SETTING_NEWS_SUBSIDIES_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_OMANY]
var      = news_display.general
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 2
max      = 2
full     = _news_display
str      = STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION
strhelp  = STR_CONFIG_SETTING_NEWS_GENERAL_INFORMATION_HELPTEXT
strval   = STR_CONFIG_SETTING_NEWS_MESSAGES_OFF

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = gui.network_chat_box_width_pct
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 40
min      = 10
max      = 100
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = gui.network_chat_box_height
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 25
min      = 5
max      = 255
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = gui.network_chat_timeout
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 20
min      = 1
max      = 65535
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.sync_freq
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NOT_IN_CONFIG | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 100
min      = 0
max      = 100
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.frame_freq
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NOT_IN_CONFIG | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 0
min      = 0
max      = 100
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.commands_per_frame
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 2
min      = 1
max      = 65535
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.max_commands_in_queue
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 16
min      = 1
max      = 65535
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.bytes_per_frame
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 8
min      = 1
max      = 65535
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.bytes_per_frame_burst
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 256
min      = 1
max      = 65535
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.max_init_time
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 100
min      = 0
max      = 32000
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.max_join_time
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 500
min      = 0
max      = 32000

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.max_download_time
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 1000
min      = 0
max      = 32000

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.max_password_time
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 2000
min      = 0
max      = 32000

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.max_lag_time
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 500
min      = 0
max      = 32000

[SDTC_BOOL]
ifdef    = ENABLE_NETWORK
var      = network.pause_on_join
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = true

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.server_port
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = NETWORK_DEFAULT_PORT
min      = 0
max      = 65535
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.server_admin_port
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = NETWORK_ADMIN_PORT
min      = 0
max      = 65535
cat      = SC_EXPERT

[SDTC_BOOL]
ifdef    = ENABLE_NETWORK
var      = network.server_admin_chat
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = true
cat      = SC_EXPERT

[SDTC_BOOL]
ifdef    = ENABLE_NETWORK
var      = network.server_advertise
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = false

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.lan_internet
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 0
min      = 0
max      = 1

[SDTC_STR]
ifdef    = ENABLE_NETWORK
var      = network.client_name
type     = SLE_STRB
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = NULL
proc     = UpdateClientName
cat      = SC_BASIC

[SDTC_STR]
ifdef    = ENABLE_NETWORK
var      = network.server_password
type     = SLE_STRB
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = NULL
proc     = UpdateServerPassword
cat      = SC_BASIC

[SDTC_STR]
ifdef    = ENABLE_NETWORK
var      = network.rcon_password
type     = SLE_STRB
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = NULL
proc     = UpdateRconPassword
cat      = SC_BASIC

[SDTC_STR]
ifdef    = ENABLE_NETWORK
var      = network.admin_password
type     = SLE_STRB
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = NULL
cat      = SC_BASIC

[SDTC_STR]
ifdef    = ENABLE_NETWORK
var      = network.default_company_pass
type     = SLE_STRB
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = NULL

[SDTC_STR]
ifdef    = ENABLE_NETWORK
var      = network.server_name
type     = SLE_STRB
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = NULL
cat      = SC_BASIC

[SDTC_STR]
ifdef    = ENABLE_NETWORK
var      = network.connect_to_ip
type     = SLE_STRB
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = NULL

[SDTC_STR]
ifdef    = ENABLE_NETWORK
var      = network.network_id
type     = SLE_STRB
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = NULL

[SDTC_BOOL]
ifdef    = ENABLE_NETWORK
var      = network.autoclean_companies
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = false

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.autoclean_unprotected
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_0ISDISABLED | SGF_NETWORK_ONLY
def      = 12
min      = 0
max      = 240

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.autoclean_protected
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_0ISDISABLED | SGF_NETWORK_ONLY
def      = 36
min      = 0
max      = 240

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.autoclean_novehicles
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_0ISDISABLED | SGF_NETWORK_ONLY
def      = 0
min      = 0
max      = 240

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.max_companies
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 15
min      = 1
max      = MAX_COMPANIES
proc     = UpdateClientConfigValues
cat      = SC_BASIC

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.max_clients
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 25
min      = 2
max      = MAX_CLIENTS
cat      = SC_BASIC

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.max_spectators
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 15
min      = 0
max      = MAX_CLIENTS
proc     = UpdateClientConfigValues
cat      = SC_BASIC

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.restart_game_year
type     = SLE_INT32
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_0ISDISABLED | SGF_NETWORK_ONLY
def      = 0
min      = MIN_YEAR
max      = MAX_YEAR
interval = 1

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.min_active_clients
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 0
min      = 0
max      = MAX_CLIENTS

[SDTC_OMANY]
ifdef    = ENABLE_NETWORK
var      = network.server_lang
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = 0
max      = 35
full     = _server_langs
cat      = SC_BASIC

[SDTC_BOOL]
ifdef    = ENABLE_NETWORK
var      = network.reload_cfg
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_NETWORK_ONLY
def      = false
cat      = SC_EXPERT

[SDTC_STR]
ifdef    = ENABLE_NETWORK
var      = network.last_host
type     = SLE_STRB
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = """"
cat      = SC_EXPERT

[SDTC_VAR]
ifdef    = ENABLE_NETWORK
var      = network.last_port
type     = SLE_UINT16
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = 0
min      = 0
max      = UINT16_MAX
cat      = SC_EXPERT

[SDTC_BOOL]
ifdef    = ENABLE_NETWORK
var      = network.no_http_content_downloads
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def      = false
cat      = SC_EXPERT

; Since the network code (CmdChangeSetting and friends) use the index in this array to decide
; which setting the server is talking about all conditional compilation of this array must be at the
; end. This isn't really the best solution, the settings the server can tell the client about should
; either use a seperate array or some other form of identifier.

;
; We might need to emulate a right mouse button on mac
[SDTC_VAR]
ifdef    = __APPLE__
var      = gui.right_mouse_btn_emulation
type     = SLE_UINT8
flags    = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
guiflags = SGF_MULTISTRING
def      = 0
min      = 0
max      = 2
str      = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU
strhelp  = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_HELPTEXT
strval   = STR_CONFIG_SETTING_RIGHT_MOUSE_BTN_EMU_COMMAND
cat      = SC_BASIC

[SDT_END]

