mirror of https://github.com/OpenTTD/OpenTTD.git
433 lines
12 KiB
INI
433 lines
12 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 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 bool CheckDynamicEngines(int32_t &new_value);
|
|
static void StationCatchmentChanged(int32_t new_value);
|
|
static void MaxVehiclesChanged(int32_t new_value);
|
|
|
|
static const SettingVariant _game_settings_table[] = {
|
|
[post-amble]
|
|
};
|
|
[templates]
|
|
SDTG_BOOL = SDTG_BOOL($name, $flags, $var, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $from, $to, $cat, $extra, $startup),
|
|
SDTG_VAR = SDTG_VAR($name, $type, $flags, $var, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $from, $to, $cat, $extra, $startup),
|
|
SDTC_BOOL = SDTC_BOOL( $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $from, $to, $cat, $extra, $startup),
|
|
SDT_BOOL = SDT_BOOL(GameSettings, $var, $flags, $def, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $from, $to, $cat, $extra, $startup),
|
|
SDT_OMANY = SDT_OMANY(GameSettings, $var, $type, $flags, $def, $max, $full, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $from, $to, $load, $cat, $extra, $startup),
|
|
SDT_VAR = SDT_VAR(GameSettings, $var, $type, $flags, $def, $min, $max, $interval, $str, $strhelp, $strval, $pre_cb, $post_cb, $str_cb, $help_cb, $val_cb, $def_cb, $from, $to, $cat, $extra, $startup),
|
|
|
|
[validation]
|
|
SDTG_VAR = static_assert($max <= MAX_$type, "Maximum value for $var exceeds storage size");
|
|
SDT_OMANY = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size");
|
|
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size");
|
|
|
|
[defaults]
|
|
flags = SF_NONE
|
|
interval = 0
|
|
str = STR_NULL
|
|
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
|
|
strval = STR_NULL
|
|
pre_cb = nullptr
|
|
post_cb = nullptr
|
|
str_cb = nullptr
|
|
help_cb = nullptr
|
|
val_cb = nullptr
|
|
def_cb = nullptr
|
|
load = nullptr
|
|
from = SL_MIN_VERSION
|
|
to = SL_MAX_VERSION
|
|
cat = SC_ADVANCED
|
|
extra = 0
|
|
startup = false
|
|
|
|
|
|
[SDT_BOOL]
|
|
var = order.no_servicing_if_no_breakdowns
|
|
def = true
|
|
str = STR_CONFIG_SETTING_NOSERVICE
|
|
strhelp = STR_CONFIG_SETTING_NOSERVICE_HELPTEXT
|
|
|
|
[SDT_BOOL]
|
|
var = order.improved_load
|
|
flags = SF_NO_NETWORK
|
|
def = true
|
|
cat = SC_EXPERT
|
|
|
|
[SDT_BOOL]
|
|
var = order.selectgoods
|
|
def = true
|
|
cat = SC_EXPERT
|
|
|
|
[SDT_BOOL]
|
|
var = order.serviceathelipad
|
|
def = true
|
|
str = STR_CONFIG_SETTING_SERVICEATHELIPAD
|
|
strhelp = STR_CONFIG_SETTING_SERVICEATHELIPAD_HELPTEXT
|
|
cat = SC_EXPERT
|
|
|
|
[SDT_BOOL]
|
|
var = order.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.gradual_loading
|
|
from = SLV_40
|
|
flags = SF_NO_NETWORK
|
|
def = true
|
|
cat = SC_EXPERT
|
|
|
|
[SDT_BOOL]
|
|
var = station.never_expire_airports
|
|
flags = SF_NO_NETWORK
|
|
def = false
|
|
str = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS
|
|
strhelp = STR_CONFIG_SETTING_NEVER_EXPIRE_AIRPORTS_HELPTEXT
|
|
|
|
[SDT_VAR]
|
|
var = station.station_spread
|
|
type = SLE_UINT8
|
|
def = 12
|
|
min = 4
|
|
max = 64
|
|
str = STR_CONFIG_SETTING_STATION_SPREAD
|
|
strhelp = STR_CONFIG_SETTING_STATION_SPREAD_HELPTEXT
|
|
strval = STR_CONFIG_SETTING_TILE_LENGTH
|
|
post_cb = StationSpreadChanged
|
|
cat = SC_BASIC
|
|
|
|
[SDT_BOOL]
|
|
var = station.modified_catchment
|
|
def = true
|
|
str = STR_CONFIG_SETTING_CATCHMENT
|
|
strhelp = STR_CONFIG_SETTING_CATCHMENT_HELPTEXT
|
|
post_cb = StationCatchmentChanged
|
|
cat = SC_EXPERT
|
|
|
|
[SDT_BOOL]
|
|
var = station.serve_neutral_industries
|
|
def = true
|
|
from = SLV_SERVE_NEUTRAL_INDUSTRIES
|
|
str = STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES
|
|
strhelp = STR_CONFIG_SETTING_SERVE_NEUTRAL_INDUSTRIES_HELPTEXT
|
|
post_cb = StationCatchmentChanged
|
|
|
|
[SDT_BOOL]
|
|
var = station.adjacent_stations
|
|
from = SLV_62
|
|
def = true
|
|
cat = SC_EXPERT
|
|
|
|
[SDT_BOOL]
|
|
var = station.distant_join_stations
|
|
from = SLV_106
|
|
def = true
|
|
str = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS
|
|
strhelp = STR_CONFIG_SETTING_DISTANT_JOIN_STATIONS_HELPTEXT
|
|
post_cb = [](auto) { CloseWindowById(WC_SELECT_STATION, 0); }
|
|
|
|
[SDT_OMANY]
|
|
var = vehicle.road_side
|
|
type = SLE_UINT8
|
|
from = SLV_97
|
|
flags = SF_GUI_DROPDOWN | SF_NO_NETWORK
|
|
def = 1
|
|
max = 1
|
|
full = _roadsides
|
|
str = STR_CONFIG_SETTING_ROAD_SIDE
|
|
strhelp = STR_CONFIG_SETTING_ROAD_SIDE_HELPTEXT
|
|
strval = STR_CONFIG_SETTING_ROAD_SIDE_LEFT
|
|
pre_cb = CheckRoadSide
|
|
cat = SC_BASIC
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.train_acceleration_model
|
|
type = SLE_UINT8
|
|
flags = SF_GUI_DROPDOWN
|
|
def = 1
|
|
min = 0
|
|
max = 1
|
|
interval = 1
|
|
str = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL
|
|
strhelp = STR_CONFIG_SETTING_TRAIN_ACCELERATION_MODEL_HELPTEXT
|
|
strval = STR_CONFIG_SETTING_ORIGINAL
|
|
post_cb = TrainAccelerationModelChanged
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.roadveh_acceleration_model
|
|
type = SLE_UINT8
|
|
from = SLV_139
|
|
flags = SF_GUI_DROPDOWN
|
|
def = 1
|
|
min = 0
|
|
max = 1
|
|
interval = 1
|
|
str = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL
|
|
strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_ACCELERATION_MODEL_HELPTEXT
|
|
strval = STR_CONFIG_SETTING_ORIGINAL
|
|
post_cb = RoadVehAccelerationModelChanged
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.train_slope_steepness
|
|
type = SLE_UINT8
|
|
from = SLV_133
|
|
def = 3
|
|
min = 0
|
|
max = 10
|
|
interval = 1
|
|
str = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS
|
|
strhelp = STR_CONFIG_SETTING_TRAIN_SLOPE_STEEPNESS_HELPTEXT
|
|
strval = STR_CONFIG_SETTING_PERCENTAGE
|
|
post_cb = TrainSlopeSteepnessChanged
|
|
cat = SC_EXPERT
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.roadveh_slope_steepness
|
|
type = SLE_UINT8
|
|
from = SLV_139
|
|
def = 7
|
|
min = 0
|
|
max = 10
|
|
interval = 1
|
|
str = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS
|
|
strhelp = STR_CONFIG_SETTING_ROAD_VEHICLE_SLOPE_STEEPNESS_HELPTEXT
|
|
strval = STR_CONFIG_SETTING_PERCENTAGE
|
|
post_cb = RoadVehSlopeSteepnessChanged
|
|
cat = SC_EXPERT
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.max_train_length
|
|
type = SLE_UINT8
|
|
from = SLV_159
|
|
def = 7
|
|
min = 1
|
|
max = 64
|
|
interval = 1
|
|
str = STR_CONFIG_SETTING_TRAIN_LENGTH
|
|
strhelp = STR_CONFIG_SETTING_TRAIN_LENGTH_HELPTEXT
|
|
strval = STR_CONFIG_SETTING_TILE_LENGTH
|
|
cat = SC_BASIC
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.smoke_amount
|
|
type = SLE_UINT8
|
|
from = SLV_145
|
|
flags = SF_GUI_DROPDOWN
|
|
def = 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.max_trains
|
|
type = SLE_UINT16
|
|
def = 500
|
|
min = 0
|
|
max = 5000
|
|
str = STR_CONFIG_SETTING_MAX_TRAINS
|
|
strhelp = STR_CONFIG_SETTING_MAX_TRAINS_HELPTEXT
|
|
strval = STR_JUST_COMMA
|
|
post_cb = MaxVehiclesChanged
|
|
cat = SC_BASIC
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.max_roadveh
|
|
type = SLE_UINT16
|
|
def = 500
|
|
min = 0
|
|
max = 5000
|
|
str = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES
|
|
strhelp = STR_CONFIG_SETTING_MAX_ROAD_VEHICLES_HELPTEXT
|
|
strval = STR_JUST_COMMA
|
|
post_cb = MaxVehiclesChanged
|
|
cat = SC_BASIC
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.max_aircraft
|
|
type = SLE_UINT16
|
|
def = 200
|
|
min = 0
|
|
max = 5000
|
|
str = STR_CONFIG_SETTING_MAX_AIRCRAFT
|
|
strhelp = STR_CONFIG_SETTING_MAX_AIRCRAFT_HELPTEXT
|
|
strval = STR_JUST_COMMA
|
|
post_cb = MaxVehiclesChanged
|
|
cat = SC_BASIC
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.max_ships
|
|
type = SLE_UINT16
|
|
def = 300
|
|
min = 0
|
|
max = 5000
|
|
str = STR_CONFIG_SETTING_MAX_SHIPS
|
|
strhelp = STR_CONFIG_SETTING_MAX_SHIPS_HELPTEXT
|
|
strval = STR_JUST_COMMA
|
|
post_cb = MaxVehiclesChanged
|
|
cat = SC_BASIC
|
|
|
|
[SDT_BOOL]
|
|
var = vehicle.wagon_speed_limits
|
|
flags = SF_NO_NETWORK
|
|
def = true
|
|
str = STR_CONFIG_SETTING_WAGONSPEEDLIMITS
|
|
strhelp = STR_CONFIG_SETTING_WAGONSPEEDLIMITS_HELPTEXT
|
|
post_cb = UpdateConsists
|
|
|
|
[SDT_BOOL]
|
|
var = vehicle.disable_elrails
|
|
from = SLV_38
|
|
flags = SF_NO_NETWORK
|
|
def = false
|
|
str = STR_CONFIG_SETTING_DISABLE_ELRAILS
|
|
strhelp = STR_CONFIG_SETTING_DISABLE_ELRAILS_HELPTEXT
|
|
post_cb = SettingsDisableElrail
|
|
cat = SC_EXPERT
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.freight_trains
|
|
type = SLE_UINT8
|
|
from = SLV_39
|
|
flags = SF_NO_NETWORK
|
|
def = 1
|
|
min = 1
|
|
max = 255
|
|
interval = 1
|
|
str = STR_CONFIG_SETTING_FREIGHT_TRAINS
|
|
strhelp = STR_CONFIG_SETTING_FREIGHT_TRAINS_HELPTEXT
|
|
strval = STR_JUST_COMMA
|
|
post_cb = UpdateConsists
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.plane_speed
|
|
type = SLE_UINT8
|
|
from = SLV_90
|
|
flags = SF_NO_NETWORK
|
|
def = 4
|
|
min = 1
|
|
max = 4
|
|
str = STR_CONFIG_SETTING_PLANE_SPEED
|
|
strhelp = STR_CONFIG_SETTING_PLANE_SPEED_HELPTEXT
|
|
strval = STR_CONFIG_SETTING_PLANE_SPEED_VALUE
|
|
|
|
[SDT_BOOL]
|
|
var = vehicle.dynamic_engines
|
|
from = SLV_95
|
|
flags = SF_NO_NETWORK
|
|
def = true
|
|
pre_cb = CheckDynamicEngines
|
|
cat = SC_EXPERT
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.plane_crashes
|
|
type = SLE_UINT8
|
|
from = SLV_138
|
|
flags = SF_GUI_DROPDOWN
|
|
def = 2
|
|
min = 0
|
|
max = 2
|
|
interval = 1
|
|
str = STR_CONFIG_SETTING_PLANE_CRASHES
|
|
strhelp = STR_CONFIG_SETTING_PLANE_CRASHES_HELPTEXT
|
|
strval = STR_CONFIG_SETTING_PLANE_CRASHES_NONE
|
|
cat = SC_BASIC
|
|
|
|
[SDT_VAR]
|
|
var = vehicle.extend_vehicle_life
|
|
type = SLE_UINT8
|
|
def = 0
|
|
min = 0
|
|
max = 100
|
|
cat = SC_EXPERT
|
|
|
|
## Old vehicle settings.
|
|
|
|
[SDTG_BOOL]
|
|
name = ""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
|