You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
OpenTTD-patches/src/table/settings/game_settings.ini

759 lines
23 KiB
INI

; This file is part of OpenTTD.
; OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
; OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
; See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.
;
; Game settings as stored in the main configuration file ("openttd.cfg")
; and in the savegame PATS chunk.
; Game settings are everything related to vehicles, stations, orders, etc.
[pre-amble]
static constexpr std::initializer_list<const char*> _roadsides{"left", "right"};
static void StationSpreadChanged(int32_t new_value);
static void UpdateConsists(int32_t new_value);
static void TrainAccelerationModelChanged(int32_t new_value);
static bool CheckTrainBrakingModelChange(int32_t &new_value);
static void TrainBrakingModelChanged(int32_t new_value);
static void RoadVehAccelerationModelChanged(int32_t new_value);
static void TrainSlopeSteepnessChanged(int32_t new_value);
static void RoadVehSlopeSteepnessChanged(int32_t new_value);
static bool CheckRoadSide(int32_t &new_value);
static void RoadSideChanged(int32_t new_value);
static bool CheckDynamicEngines(int32_t &new_value);
static void StationCatchmentChanged(int32_t new_value);
static void MaxVehiclesChanged(int32_t new_value);
static void ImprovedBreakdownsSettingChanged(int32_t new_value);
static void TrainSpeedAdaptationChanged(int32_t new_value);
static const SettingDescEnumEntry _train_braking_model[] = {
{ TBM_ORIGINAL, STR_CONFIG_SETTING_ORIGINAL },
{ TBM_REALISTIC, STR_CONFIG_SETTING_TRAIN_BRAKING_REALISTIC },
{ 0, STR_NULL }
};
static const SettingDescEnumEntry _realistic_braking_aspect_limited[] = {
{ TRBALM_OFF, STR_CONFIG_SETTING_OFF },
{ TRBALM_ON, STR_CONFIG_SETTING_TRAIN_BRAKING_ASPECT_LIMITED_ON },
{ 0, STR_NULL }
};
static const SettingDescEnumEntry _station_delivery_mode[] = {
{ SD_NEAREST_FIRST, STR_CONFIG_SETTING_ORIGINAL},
{ SD_BALANCED, STR_CONFIG_SETTING_DELIVERY_BALANCED},
{ 0, STR_NULL }
};
static const SettingTable _game_settings{
[post-amble]
};
[templates]
SDTG_BOOL = SDTG_BOOL($name, $flags, $var, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDTG_VAR = SDTG_VAR($name, $type, $flags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $extver, $load, $cat, $guiproc, $startup, $patxname),
SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname),
SDT_ENUM = SDT_ENUM(GameSettings, $var, $type, $flags, $def, $str, $strhelp, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname, $enumlist),
[validation]
SDTG_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
SDT_OMANY = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size");
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size");
[defaults]
flags = SF_NONE
interval = 0
str = STR_NULL
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
strval = STR_NULL
pre_cb = nullptr
post_cb = nullptr
str_cb = nullptr
help_cb = nullptr
val_cb = nullptr
guiproc = nullptr
load = nullptr
from = SL_MIN_VERSION
to = SL_MAX_VERSION
cat = SC_ADVANCED
startup = false
extver = SlXvFeatureTest()
patxname = nullptr
enumlist = <this parameter must be set>
[SDT_BOOL]
var = order.old_timetable_separation
flags = SF_PATCH
def = true
cat = SC_EXPERT
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_AUTO_TIMETABLE, 1, 3)
patxname = ""auto_timetables.order.timetable_separation""
[SDT_VAR]
var = order.old_timetable_separation_rate
flags = SF_PATCH
type = SLE_UINT8
def = 100
min = 0
max = 100
interval = 10
str = STR_CONFIG_SETTING_TIMETABLE_SEPARATION_RATE
strhelp = STR_CONFIG_SETTING_TIMETABLE_SEPARATION_RATE_HELPTEXT
strval = STR_CONFIG_SETTING_PERCENTAGE
cat = SC_EXPERT
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_AUTO_TIMETABLE, 1, 2)
patxname = ""auto_timetables.order.timetable_separation_rate""
[SDT_BOOL]
var = order.no_servicing_if_no_breakdowns
def = true
str = STR_CONFIG_SETTING_NOSERVICE
strhelp = STR_CONFIG_SETTING_NOSERVICE_HELPTEXT
[SDT_BOOL]
var = order.improved_load
flags = SF_NO_NETWORK
def = true
cat = SC_EXPERT
[SDT_BOOL]
var = order.selectgoods
def = true
cat = SC_EXPERT
[SDT_BOOL]
var = order.serviceathelipad
def = true
str = STR_CONFIG_SETTING_SERVICEATHELIPAD
strhelp = STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT
cat = SC_EXPERT
[SDT_BOOL]
var = order.station_length_loading_penalty
def = true
str = STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY
strhelp = STR_CONFIG_SETTING_STATION_LENGTH_LOADING_PENALTY_HELPTEXT
cat = SC_EXPERT
[SDT_BOOL]
var = order.nonstop_only
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_NONSTOP_ORDER_ONLY
strhelp = STR_CONFIG_SETTING_NONSTOP_ORDER_ONLY_HELPTEXT
cat = SC_EXPERT
patxname = ""nonstop_only.order.nonstop_only""
[SDT_BOOL]
var = order.gradual_loading
from = SLV_40
flags = SF_NO_NETWORK
def = true
cat = SC_EXPERT
[SDT_VAR]
var = order.old_occupancy_smoothness
type = SLE_UINT8
flags = SF_PATCH
def = 75
min = 0
max = 100
interval = 10
str = STR_CONFIG_OCCUPANCY_SMOOTHNESS
strhelp = STR_CONFIG_OCCUPANCY_SMOOTHNESS_HELPTEXT
strval = STR_CONFIG_SETTING_PERCENTAGE
cat = SC_EXPERT
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_ORDER_OCCUPANCY, 1, 1)
patxname = ""order_occupancy.order.occupancy_smoothness""
[SDT_BOOL]
var = station.never_expire_airports
def = false
str = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS
strhelp = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT
pre_cb = [](int32_t &new_value) -> bool { return CheckTTDPatchSettingFlag(0x0C); }
[SDT_VAR]
var = station.station_spread
type = SLE_UINT8
def = 12
min = 4
max = 64
str = STR_CONFIG_SETTING_STATION_SPREAD
strhelp = STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT
strval = STR_CONFIG_SETTING_TILE_LENGTH
post_cb = StationSpreadChanged
cat = SC_BASIC
[SDT_BOOL]
var = station.modified_catchment
def = true
str = STR_CONFIG_SETTING_CATCHMENT
strhelp = STR_CONFIG_SETTING_CATCHMENT_HELPTEXT
post_cb = StationCatchmentChanged
cat = SC_EXPERT
[SDT_VAR]
var = station.catchment_increase
type = SLE_UINT8
flags = SF_PATCH
def = 0
min = 0
max = 5
str = STR_CONFIG_SETTING_CATCHMENT_INCREASE
strhelp = STR_CONFIG_SETTING_CATCHMENT_INCREASE_HELPTEXT
strval = STR_JUST_COMMA
post_cb = StationCatchmentChanged
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_STATION_CATCHMENT_INC)
patxname = ""station_catchment_inc.station.catchment_increase""
[SDT_BOOL]
var = station.cargo_class_rating_wait_time
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_STATION_RATING_CARGO_CLASS_WAIT_TIME
strhelp = STR_CONFIG_SETTING_STATION_RATING_CARGO_CLASS_WAIT_TIME_HELPTEXT
patxname = ""station_rating.station.cargo_class_rating_wait_time""
[SDT_BOOL]
var = station.station_size_rating_cargo_amount
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_STATION_RATING_SIZE_CARGO_AMOUNT
strhelp = STR_CONFIG_SETTING_STATION_RATING_SIZE_CARGO_AMOUNT_HELPTEXT
patxname = ""station_rating.station.station_size_rating_cargo_amount""
[SDT_BOOL]
var = station.serve_neutral_industries
def = true
from = SLV_SERVE_NEUTRAL_INDUSTRIES
str = STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES
strhelp = STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT
post_cb = StationCatchmentChanged
[SDT_ENUM]
var = station.station_delivery_mode
type = SLE_UINT8
flags = SF_PATCH
def = SD_NEAREST_FIRST
enumlist = _station_delivery_mode
str = STR_CONFIG_SETTING_CARGO_DELIVERY_MODE
strhelp = STR_CONFIG_SETTING_CARGO_DELIVERY_MODE_HELPTEXT
patxname = ""station.station_delivery_mode""
[SDT_BOOL]
var = station.adjacent_stations
from = SLV_62
def = true
cat = SC_EXPERT
[SDT_BOOL]
var = station.distant_join_stations
from = SLV_106
def = true
str = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS
strhelp = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT
post_cb = [](auto) { CloseWindowById(WC_SELECT_STATION, 0); }
[SDT_OMANY]
var = vehicle.road_side
type = SLE_UINT8
from = SLV_97
flags = SF_GUI_DROPDOWN | SF_NO_NETWORK
def = 1
max = 1
full = _roadsides
str = STR_CONFIG_SETTING_ROAD_SIDE
strhelp = STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT
strval = STR_CONFIG_SETTING_ROAD_SIDE_LEFT
pre_cb = CheckRoadSide
post_cb = RoadSideChanged
cat = SC_BASIC
[SDT_VAR]
var = vehicle.train_acceleration_model
type = SLE_UINT8
flags = SF_GUI_DROPDOWN
def = 1
min = 0
max = 1
interval = 1
str = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL
strhelp = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT
strval = STR_CONFIG_SETTING_ORIGINAL
post_cb = TrainAccelerationModelChanged
[SDT_ENUM]
var = vehicle.train_braking_model
type = SLE_UINT8
flags = SF_PATCH
def = TBM_ORIGINAL
enumlist = _train_braking_model
str = STR_CONFIG_SETTING_TRAIN_BRAKING_MODEL
strhelp = STR_CONFIG_SETTING_TRAIN_BRAKING_MODEL_HELPTEXT
pre_cb = CheckTrainBrakingModelChange
post_cb = TrainBrakingModelChanged
cat = SC_EXPERT
patxname = ""realistic_braking.vehicle.train_braking_model""
[SDT_ENUM]
var = vehicle.realistic_braking_aspect_limited
type = SLE_UINT8
flags = SF_PATCH
def = TRBALM_OFF
enumlist = _realistic_braking_aspect_limited
str = STR_CONFIG_SETTING_REALISTIC_BRAKING_ASPECT_LIMITED
strhelp = STR_CONFIG_SETTING_REALISTIC_BRAKING_ASPECT_LIMITED_HELPTEXT
cat = SC_EXPERT
patxname = ""realistic_braking.vehicle.realistic_braking_aspect_limited""
[SDT_BOOL]
var = vehicle.limit_train_acceleration
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_LIMIT_TRAIN_ACCELERATION
strhelp = STR_CONFIG_SETTING_LIMIT_TRAIN_ACCELERATION_HELPTEXT
cat = SC_EXPERT
patxname = ""realistic_braking.vehicle.limit_train_acceleration""
[SDT_VAR]
var = vehicle.roadveh_acceleration_model
type = SLE_UINT8
from = SLV_139
flags = SF_GUI_DROPDOWN
def = 1
min = 0
max = 1
interval = 1
str = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL
strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT
strval = STR_CONFIG_SETTING_ORIGINAL
post_cb = RoadVehAccelerationModelChanged
[SDT_VAR]
var = vehicle.train_slope_steepness
type = SLE_UINT8
from = SLV_133
def = 3
min = 0
max = 10
interval = 1
str = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS
strhelp = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT
strval = STR_CONFIG_SETTING_PERCENTAGE
post_cb = TrainSlopeSteepnessChanged
cat = SC_EXPERT
[SDT_VAR]
var = vehicle.roadveh_slope_steepness
type = SLE_UINT8
from = SLV_139
def = 7
min = 0
max = 10
interval = 1
str = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS
strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT
strval = STR_CONFIG_SETTING_PERCENTAGE
post_cb = RoadVehSlopeSteepnessChanged
cat = SC_EXPERT
[SDT_VAR]
var = vehicle.through_load_speed_limit
type = SLE_UINT16
flags = SF_GUI_VELOCITY | SF_PATCH
def = 15
min = 5
max = 500
interval = 5
str = STR_CONFIG_SETTING_THROUGH_LOAD_SPEED_LIMIT
strhelp = STR_CONFIG_SETTING_THROUGH_LOAD_SPEED_LIMIT_HELPTEXT
strval = STR_JUST_VELOCITY
cat = SC_EXPERT
patxname = ""vehicle.through_load_speed_limit""
[SDT_VAR]
var = vehicle.rail_depot_speed_limit
type = SLE_UINT16
flags = SF_GUI_VELOCITY | SF_PATCH
def = 61
min = 5
max = 100
interval = 5
str = STR_CONFIG_SETTING_RAIL_DEPOT_SPEED_LIMIT
strhelp = STR_CONFIG_SETTING_RAIL_DEPOT_SPEED_LIMIT_HELPTEXT
strval = STR_JUST_VELOCITY
cat = SC_EXPERT
patxname = ""vehicle.rail_depot_speed_limit""
[SDT_BOOL]
var = vehicle.non_leading_engines_keep_name
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_NON_LEADING_ENGINES_KEEP_NAME
strhelp = STR_CONFIG_SETTING_NON_LEADING_ENGINES_KEEP_NAME_HELPTEXT
cat = SC_ADVANCED
patxname = ""vehicle.non_leading_engines_keep_name""
[SDT_VAR]
var = vehicle.max_train_length
type = SLE_UINT8
from = SLV_159
def = 7
min = 1
max = 64
interval = 1
str = STR_CONFIG_SETTING_TRAIN_LENGTH
strhelp = STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT
strval = STR_CONFIG_SETTING_TILE_LENGTH
cat = SC_BASIC
[SDT_VAR]
var = vehicle.smoke_amount
type = SLE_UINT8
from = SLV_145
flags = SF_GUI_DROPDOWN
def = 2
min = 0
max = 2
str = STR_CONFIG_SETTING_SMOKE_AMOUNT
strhelp = STR_CONFIG_SETTING_SMOKE_AMOUNT_HELPTEXT
strval = STR_CONFIG_SETTING_NONE
[SDT_BOOL]
var = vehicle.never_expire_vehicles
flags = SF_NO_NETWORK
def = false
str = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES
strhelp = STR_CONFIG_SETTING_NEVER_EXPIRE_VEHICLES_HELPTEXT
[SDT_VAR]
var = vehicle.no_expire_vehicles_after
type = SLE_INT32
flags = SF_NO_NETWORK | SF_GUI_0_IS_SPECIAL | SF_PATCH
def = 0
min = CalTime::MIN_YEAR
max = CalTime::MAX_YEAR
interval = 1
str = STR_CONFIG_SETTING_NO_EXPIRE_VEHICLES_AFTER
strhelp = STR_CONFIG_SETTING_NO_EXPIRE_VEHICLES_AFTER_HELPTEXT
strval = STR_CONFIG_SETTING_NO_EXPIRE_VEHICLES_AFTER_VALUE
cat = SC_EXPERT
patxname = ""vehicle.no_expire_vehicles_after""
[SDT_VAR]
var = vehicle.no_introduce_vehicles_after
type = SLE_INT32
flags = SF_NO_NETWORK | SF_GUI_0_IS_SPECIAL | SF_PATCH
def = 0
min = CalTime::MIN_YEAR
max = CalTime::MAX_YEAR
interval = 1
str = STR_CONFIG_SETTING_NO_INTRODUCE_VEHICLES_AFTER
strhelp = STR_CONFIG_SETTING_NO_INTRODUCE_VEHICLES_AFTER_HELPTEXT
strval = STR_CONFIG_SETTING_NO_INTRODUCE_VEHICLES_AFTER_VALUE
cat = SC_EXPERT
patxname = ""vehicle.no_introduce_vehicles_after""
[SDT_VAR]
var = vehicle.max_trains
type = SLE_UINT16
def = 500
min = 0
max = 10000
str = STR_CONFIG_SETTING_MAX_TRAINS
strhelp = STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT
strval = STR_JUST_COMMA
post_cb = MaxVehiclesChanged
cat = SC_BASIC
[SDT_VAR]
var = vehicle.max_roadveh
type = SLE_UINT16
def = 500
min = 0
max = 10000
str = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES
strhelp = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT
strval = STR_JUST_COMMA
post_cb = MaxVehiclesChanged
cat = SC_BASIC
[SDT_VAR]
var = vehicle.max_aircraft
type = SLE_UINT16
def = 200
min = 0
max = 10000
str = STR_CONFIG_SETTING_MAX_AIRCRAFT
strhelp = STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT
strval = STR_JUST_COMMA
post_cb = MaxVehiclesChanged
cat = SC_BASIC
[SDT_VAR]
var = vehicle.max_ships
type = SLE_UINT16
def = 300
min = 0
max = 10000
str = STR_CONFIG_SETTING_MAX_SHIPS
strhelp = STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT
strval = STR_JUST_COMMA
post_cb = MaxVehiclesChanged
cat = SC_BASIC
[SDT_BOOL]
var = vehicle.wagon_speed_limits
def = true
str = STR_CONFIG_SETTING_WAGONSPEEDLIMITS
strhelp = STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT
pre_cb = [](int32_t &new_value) -> bool { return CheckTTDPatchSettingFlag(0x5D); }
post_cb = UpdateConsists
[SDT_BOOL]
var = vehicle.slow_road_vehicles_in_curves
flags = SF_PATCH
def = true
str = STR_CONFIG_SETTING_SLOW_ROAD_VEHICLES_IN_CURVES
strhelp = STR_CONFIG_SETTING_SLOW_ROAD_VEHICLES_IN_CURVES_HELPTEXT
cat = SC_BASIC
patxname = ""slow_road_vehicles_in_curves.vehicle.slow_road_vehicles_in_curves""
[SDT_BOOL]
var = vehicle.train_speed_adaptation
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_TRAIN_SPEED_ADAPTATION
strhelp = STR_CONFIG_SETTING_TRAIN_SPEED_ADAPTATION_HELPTEXT
cat = SC_EXPERT
post_cb = TrainSpeedAdaptationChanged
patxname = ""train_speed_adaptation.vehicle.train_speed_adaptation""
[SDT_BOOL]
var = vehicle.disable_elrails
from = SLV_38
flags = SF_NO_NETWORK
def = false
str = STR_CONFIG_SETTING_DISABLE_ELRAILS
strhelp = STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT
post_cb = SettingsDisableElrail
cat = SC_EXPERT
[SDT_VAR]
var = vehicle.freight_trains
type = SLE_UINT8
from = SLV_39
def = 1
min = 1
max = 255
interval = 1
str = STR_CONFIG_SETTING_FREIGHT_TRAINS
strhelp = STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT
strval = STR_JUST_COMMA
pre_cb = [](int32_t &new_value) -> bool { return CheckTTDPatchSettingFlag(0x58); }
post_cb = UpdateConsists
[SDT_VAR]
var = vehicle.plane_speed
type = SLE_UINT8
from = SLV_90
flags = SF_NO_NETWORK
def = 4
min = 1
max = 4
str = STR_CONFIG_SETTING_PLANE_SPEED
strhelp = STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT
strval = STR_CONFIG_SETTING_PLANE_SPEED_VALUE
[SDT_BOOL]
var = vehicle.dynamic_engines
from = SLV_95
flags = SF_NO_NETWORK
def = true
pre_cb = CheckDynamicEngines
cat = SC_EXPERT
[SDT_VAR]
var = vehicle.plane_crashes
type = SLE_UINT8
from = SLV_138
flags = SF_GUI_DROPDOWN
def = 2
min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_PLANE_CRASHES
strhelp = STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT
strval = STR_CONFIG_SETTING_PLANE_CRASHES_NONE
cat = SC_BASIC
[SDT_BOOL]
var = vehicle.improved_breakdowns
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_IMPROVED_BREAKDOWNS
post_cb = ImprovedBreakdownsSettingChanged
patxname = ""improved_breakdowns.vehicle.improved_breakdowns""
[SDT_BOOL]
var = vehicle.ship_collision_avoidance
flags = SF_PATCH
def = true
str = STR_CONFIG_SETTING_SHIP_COLLISION_AVOIDANCE
strhelp = STR_CONFIG_SETTING_SHIP_COLLISION_AVOIDANCE_HELPTEXT
patxname = ""ship_collision_avoidance.vehicle.ship_collision_avoidance""
cat = SC_BASIC
[SDT_BOOL]
var = vehicle.no_train_crash_other_company
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_NO_TRAIN_CRASH_OTHER_COMPANY
strhelp = STR_CONFIG_SETTING_NO_TRAIN_CRASH_OTHER_COMPANY_HELPTEXT
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_INFRA_SHARING)
patxname = ""infra_sharing.vehicle.no_train_crash_other_company""
[SDT_BOOL]
var = vehicle.roadveh_articulated_overtaking
flags = SF_PATCH
def = true
str = STR_CONFIG_SETTING_ROADVEH_ARTICULATED_OVERTAKING
strhelp = STR_CONFIG_SETTING_ROADVEH_ARTICULATED_OVERTAKING_HELPTEXT
patxname = ""roadveh_articulated_overtaking.vehicle.roadveh_articulated_overtaking""
cat = SC_BASIC
[SDT_BOOL]
var = vehicle.roadveh_cant_quantum_tunnel
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_ROADVEH_CANT_QUANTUM_TUNNEL
strhelp = STR_CONFIG_SETTING_ROADVEH_CANT_QUANTUM_TUNNEL_HELPTEXT
patxname = ""roadveh_cant_quantum_tunnel.vehicle.roadveh_cant_quantum_tunnel""
cat = SC_BASIC
[SDT_BOOL]
var = vehicle.drive_through_train_depot
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_DRIVE_THROUGH_TRAIN_DEPOT
strhelp = STR_CONFIG_SETTING_DRIVE_THROUGH_TRAIN_DEPOT_HELPTEXT
patxname = ""drive_through_train_depot.vehicle.drive_through_train_depot""
[SDT_VAR]
var = vehicle.extend_vehicle_life
type = SLE_UINT8
def = 0
min = 0
max = 100
cat = SC_EXPERT
[SDT_BOOL]
var = vehicle.adjacent_crossings
flags = SF_PATCH
def = true
str = STR_CONFIG_SETTING_ADJACENT_CROSSINGS
strhelp = STR_CONFIG_SETTING_ADJACENT_CROSSINGS_HELPTEXT
cat = SC_BASIC
patxname = ""adjacent_crossings.vehicle.adjacent_crossings""
[SDT_BOOL]
var = vehicle.safer_crossings
flags = SF_PATCH
def = false
str = STR_CONFIG_SETTING_SAFER_CROSSINGS
strhelp = STR_CONFIG_SETTING_SAFER_CROSSINGS_HELPTEXT
cat = SC_BASIC
patxname = ""safer_crossings.vehicle.safer_crossings""
[SDT_BOOL]
var = vehicle.pay_for_repair
def = true
flags = SF_PATCH
str = STR_CONFIG_SETTING_PAY_FOR_REPAIR_VEHICLE
strhelp = STR_CONFIG_SETTING_PAY_FOR_REPAIR_VEHICLE_HELPTEXT
cat = SC_EXPERT
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_VEHICLE_REPAIR_COST)
patxname = ""vehicle_repair_cost.vehicle.pay_for_repair""
[SDT_VAR]
var = vehicle.repair_cost
type = SLE_UINT8
flags = SF_PATCH
def = 100
min = 1
max = 255
interval = 1
str = STR_CONFIG_SETTING_REPAIR_COST
strhelp = STR_CONFIG_SETTING_REPAIR_COST_HELPTEXT
strval = STR_JUST_INT
cat = SC_EXPERT
extver = SlXvFeatureTest(XSLFTO_AND, XSLFI_VEHICLE_REPAIR_COST)
patxname = ""vehicle_repair_cost.vehicle.repair_cost""
## Old vehicle settings.
[SDTG_BOOL]
name = ""vehicle.servint_ispercent""
flags = SF_NO_NETWORK
var = _old_vds.servint_ispercent
def = false
to = SLV_120
[SDTG_VAR]
name = ""vehicle.servint_trains""
type = SLE_UINT16
flags = SF_GUI_0_IS_SPECIAL
var = _old_vds.servint_trains
def = 150
min = 5
max = 800
to = SLV_120
[SDTG_VAR]
name = ""vehicle.servint_roadveh""
type = SLE_UINT16
flags = SF_GUI_0_IS_SPECIAL
var = _old_vds.servint_roadveh
def = 150
min = 5
max = 800
to = SLV_120
[SDTG_VAR]
name = ""vehicle.servint_ships""
type = SLE_UINT16
flags = SF_GUI_0_IS_SPECIAL
var = _old_vds.servint_ships
def = 360
min = 5
max = 800
to = SLV_120
[SDTG_VAR]
name = ""vehicle.servint_aircraft""
type = SLE_UINT16
flags = SF_GUI_0_IS_SPECIAL
var = _old_vds.servint_aircraft
def = 150
min = 5
max = 800
to = SLV_120
## These were once in the "gui" section, but they really are related to orders.
[SDTC_BOOL]
var = gui.sg_full_load_any
from = SLV_22
to = SLV_93
def = true
[SDTC_BOOL]
var = gui.sg_new_nonstop
from = SLV_22
to = SLV_93
def = false