; 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 . ; ; 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 _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, $from, $to, $extver, $cat, $guiproc, $startup, $patxname), SDTG_VAR = SDTG_VAR($name, $type, $flags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname), SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname), SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname), SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $load, $cat, $guiproc, $startup, $patxname), SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname), SDT_ENUM = SDT_ENUM(GameSettings, $var, $type, $flags, $def, $str, $strhelp, $pre_cb, $post_cb, $from, $to, $extver, $cat, $guiproc, $startup, $patxname, $enumlist), [validation] SDTG_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size"); SDT_OMANY = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size"); SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size"); [defaults] flags = SF_NONE interval = 0 str = STR_NULL strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT strval = STR_NULL pre_cb = nullptr post_cb = nullptr guiproc = nullptr load = nullptr from = SL_MIN_VERSION to = SL_MAX_VERSION cat = SC_ADVANCED startup = false extver = SlXvFeatureTest() patxname = nullptr enumlist = [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 = MIN_YEAR max = MAX_YEAR interval = 1 str = STR_CONFIG_SETTING_NO_EXPIRE_VEHICLES_AFTER strhelp = STR_CONFIG_SETTING_NO_EXPIRE_VEHICLES_AFTER_HELPTEXT strval = STR_CONFIG_SETTING_NO_EXPIRE_VEHICLES_AFTER_VALUE cat = SC_EXPERT patxname = ""vehicle.no_expire_vehicles_after"" [SDT_VAR] var = vehicle.no_introduce_vehicles_after type = SLE_INT32 flags = SF_NO_NETWORK | SF_GUI_0_IS_SPECIAL | SF_PATCH def = 0 min = MIN_YEAR max = MAX_YEAR interval = 1 str = STR_CONFIG_SETTING_NO_INTRODUCE_VEHICLES_AFTER strhelp = STR_CONFIG_SETTING_NO_INTRODUCE_VEHICLES_AFTER_HELPTEXT strval = STR_CONFIG_SETTING_NO_INTRODUCE_VEHICLES_AFTER_VALUE cat = SC_EXPERT patxname = ""vehicle.no_introduce_vehicles_after"" [SDT_VAR] var = vehicle.max_trains type = SLE_UINT16 def = 500 min = 0 max = 10000 str = STR_CONFIG_SETTING_MAX_TRAINS strhelp = STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT strval = STR_JUST_COMMA post_cb = MaxVehiclesChanged cat = SC_BASIC [SDT_VAR] var = vehicle.max_roadveh type = SLE_UINT16 def = 500 min = 0 max = 10000 str = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES strhelp = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT strval = STR_JUST_COMMA post_cb = MaxVehiclesChanged cat = SC_BASIC [SDT_VAR] var = vehicle.max_aircraft type = SLE_UINT16 def = 200 min = 0 max = 10000 str = STR_CONFIG_SETTING_MAX_AIRCRAFT strhelp = STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT strval = STR_JUST_COMMA post_cb = MaxVehiclesChanged cat = SC_BASIC [SDT_VAR] var = vehicle.max_ships type = SLE_UINT16 def = 300 min = 0 max = 10000 str = STR_CONFIG_SETTING_MAX_SHIPS strhelp = STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT strval = STR_JUST_COMMA post_cb = MaxVehiclesChanged cat = SC_BASIC [SDT_BOOL] var = vehicle.wagon_speed_limits def = true str = STR_CONFIG_SETTING_WAGONSPEEDLIMITS strhelp = STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT pre_cb = [](int32_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