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/pathfinding_settings.ini

654 lines
14 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/>.
;
; Pathfinding settings as stored in the main configuration file ("openttd.cfg")
; and in the savegame PATS chunk.
[pre-amble]
static void InvalidateShipPathCache(int32_t new_value);
static void CheckYapfRailSignalPenalties(int32_t new_value);
static bool TrainPathfinderSettingGUI(SettingOnGuiCtrlData &data);
static const SettingTable _pathfinding_settings{
[post-amble]
};
[templates]
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_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),
[validation]
SDT_VAR = static_assert($max <= MAX_$type, "Maximum value for GameSettings.$var exceeds storage size");
[defaults]
flags = SF_NONE
interval = 0
str = STR_NULL
strhelp = STR_CONFIG_SETTING_NO_EXPLANATION_AVAILABLE_HELPTEXT
strval = STR_NULL
pre_cb = nullptr
post_cb = nullptr
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 = pf.forbid_90_deg
def = true
str = STR_CONFIG_SETTING_FORBID_90_DEG
strhelp = STR_CONFIG_SETTING_FORBID_90_DEG_HELPTEXT
cat = SC_EXPERT
[SDT_BOOL]
var = pf.back_of_one_way_pbs_waiting_point
flags = SF_PATCH
def = true
str = STR_CONFIG_SETTING_BACK_ONE_WAY_PBS_SAFE_WAITING
str = STR_CONFIG_SETTING_BACK_ONE_WAY_PBS_SAFE_WAITING_HELPTEXT
cat = SC_EXPERT
patxname = ""pf.back_of_one_way_pbs_waiting_point""
[SDT_BOOL]
var = pf.roadveh_queue
def = true
cat = SC_EXPERT
[SDT_VAR]
var = pf.reroute_rv_on_layout_change
type = SLE_UINT8
flags = SF_GUI_DROPDOWN | SF_PATCH
def = 1
min = 0
max = 2
interval = 1
str = STR_CONFIG_SETTING_REROUTE_RV_ON_LAYOUT_CHANGE
strhelp = STR_CONFIG_SETTING_REROUTE_RV_ON_LAYOUT_CHANGE_HELPTEXT
strval = STR_CONFIG_SETTING_REROUTE_RV_ON_LAYOUT_CHANGE_NO
cat = SC_ADVANCED
patxname = ""pf.reroute_rv_on_layout_change""
[SDT_BOOL]
var = pf.new_pathfinding_all
to = SLV_87
def = false
cat = SC_EXPERT
[SDT_BOOL]
var = pf.yapf.ship_use_yapf
from = SLV_28
to = SLV_87
def = false
cat = SC_EXPERT
[SDT_BOOL]
var = pf.yapf.road_use_yapf
from = SLV_28
to = SLV_87
def = true
cat = SC_EXPERT
[SDT_BOOL]
var = pf.yapf.rail_use_yapf
from = SLV_28
to = SLV_87
def = true
cat = SC_EXPERT
[SDT_VAR]
var = pf.pathfinder_for_trains
type = SLE_UINT8
from = SLV_87
flags = SF_GUI_DROPDOWN
def = 2
min = 1
max = 2
interval = 1
str = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS
strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_TRAINS_HELPTEXT
strval = STR_CONFIG_SETTING_PATHFINDER_NPF
cat = SC_EXPERT
guiproc = TrainPathfinderSettingGUI
[SDT_VAR]
var = pf.pathfinder_for_roadvehs
type = SLE_UINT8
from = SLV_87
flags = SF_GUI_DROPDOWN
def = 2
min = 1
max = 2
interval = 1
str = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES
strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_ROAD_VEHICLES_HELPTEXT
strval = STR_CONFIG_SETTING_PATHFINDER_NPF
cat = SC_EXPERT
[SDT_VAR]
var = pf.pathfinder_for_ships
type = SLE_UINT8
from = SLV_87
flags = SF_GUI_DROPDOWN
def = 2
min = 1
max = 2
interval = 1
str = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS
strhelp = STR_CONFIG_SETTING_PATHFINDER_FOR_SHIPS_HELPTEXT
strval = STR_CONFIG_SETTING_PATHFINDER_NPF
post_cb = InvalidateShipPathCache
cat = SC_EXPERT
[SDT_BOOL]
var = pf.reverse_at_signals
from = SLV_159
def = false
str = STR_CONFIG_SETTING_REVERSE_AT_SIGNALS
strhelp = STR_CONFIG_SETTING_REVERSE_AT_SIGNALS_HELPTEXT
[SDT_VAR]
var = pf.wait_oneway_signal
type = SLE_UINT8
def = 15
min = 2
max = 255
cat = SC_EXPERT
[SDT_VAR]
var = pf.wait_twoway_signal
type = SLE_UINT8
def = 41
min = 2
max = 255
cat = SC_EXPERT
[SDT_VAR]
var = pf.wait_for_pbs_path
type = SLE_UINT8
from = SLV_100
def = 30
min = 2
max = 255
cat = SC_EXPERT
[SDT_BOOL]
var = pf.reserve_paths
from = SLV_100
def = false
cat = SC_EXPERT
[SDT_VAR]
var = pf.path_backoff_interval
type = SLE_UINT8
from = SLV_100
def = 20
min = 1
max = 255
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_max_search_nodes
type = SLE_UINT
def = AYSTAR_DEF_MAX_SEARCH_NODES
min = 500
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_rail_firstred_penalty
type = SLE_UINT
def = 10 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_rail_firstred_exit_penalty
type = SLE_UINT
def = 100 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_rail_lastred_penalty
type = SLE_UINT
def = 10 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_rail_station_penalty
type = SLE_UINT
def = 1 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_rail_slope_penalty
type = SLE_UINT
def = 1 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_rail_curve_penalty
type = SLE_UINT
def = 1 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_rail_depot_reverse_penalty
type = SLE_UINT
def = 50 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_rail_pbs_cross_penalty
type = SLE_UINT
from = SLV_100
def = 3 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_rail_pbs_signal_back_penalty
type = SLE_UINT
from = SLV_100
def = 15 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_buoy_penalty
type = SLE_UINT
def = 2 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_water_curve_penalty
type = SLE_UINT
def = 1 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_road_curve_penalty
type = SLE_UINT
def = 1 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_crossing_penalty
type = SLE_UINT
def = 3 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_road_drive_through_penalty
type = SLE_UINT
from = SLV_47
def = 8 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_road_dt_occupied_penalty
type = SLE_UINT
from = SLV_130
def = 8 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.npf_road_bay_occupied_penalty
type = SLE_UINT
from = SLV_130
def = 15 * NPF_TILE_LENGTH
min = 0
max = 100000
cat = SC_EXPERT
[SDT_VAR]
var = pf.npf.maximum_go_to_depot_penalty
type = SLE_UINT
from = SLV_131
def = 20 * NPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_BOOL]
var = pf.yapf.disable_node_optimization
from = SLV_28
def = false
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.max_search_nodes
type = SLE_UINT
from = SLV_28
def = AYSTAR_DEF_MAX_SEARCH_NODES
min = 500
max = 1000000
cat = SC_EXPERT
[SDT_BOOL]
var = pf.yapf.rail_firstred_twoway_eol
from = SLV_28
def = true
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_firstred_penalty
type = SLE_UINT
from = SLV_28
def = 10 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_firstred_exit_penalty
type = SLE_UINT
from = SLV_28
def = 100 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_lastred_penalty
type = SLE_UINT
from = SLV_28
def = 10 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_lastred_exit_penalty
type = SLE_UINT
from = SLV_28
def = 100 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_station_penalty
type = SLE_UINT
from = SLV_28
def = 10 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_slope_penalty
type = SLE_UINT
from = SLV_28
def = 2 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_curve45_penalty
type = SLE_UINT
from = SLV_28
def = 1 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_curve90_penalty
type = SLE_UINT
from = SLV_28
def = 6 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_depot_reverse_penalty
type = SLE_UINT
from = SLV_28
def = 50 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_crossing_penalty
type = SLE_UINT
from = SLV_28
def = 3 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_look_ahead_max_signals
type = SLE_UINT
from = SLV_28
def = 10
min = 1
max = 100
cat = SC_EXPERT
post_cb = CheckYapfRailSignalPenalties
[SDT_VAR]
var = pf.yapf.rail_look_ahead_signal_p0
type = SLE_INT
from = SLV_28
def = 500
min = -1000000
max = 1000000
cat = SC_EXPERT
post_cb = CheckYapfRailSignalPenalties
[SDT_VAR]
var = pf.yapf.rail_look_ahead_signal_p1
type = SLE_INT
from = SLV_28
def = -100
min = -1000000
max = 1000000
cat = SC_EXPERT
post_cb = CheckYapfRailSignalPenalties
[SDT_VAR]
var = pf.yapf.rail_look_ahead_signal_p2
type = SLE_INT
from = SLV_28
def = 5
min = -1000000
max = 1000000
cat = SC_EXPERT
post_cb = CheckYapfRailSignalPenalties
[SDT_VAR]
var = pf.yapf.rail_pbs_cross_penalty
type = SLE_UINT
from = SLV_100
def = 3 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_pbs_station_penalty
type = SLE_UINT
from = SLV_100
def = 8 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_pbs_signal_back_penalty
type = SLE_UINT
from = SLV_100
def = 15 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_doubleslip_penalty
type = SLE_UINT
from = SLV_100
def = 1 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_longer_platform_penalty
type = SLE_UINT
from = SLV_33
def = 8 * YAPF_TILE_LENGTH
min = 0
max = 20000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_longer_platform_per_tile_penalty
type = SLE_UINT
from = SLV_33
def = 0 * YAPF_TILE_LENGTH
min = 0
max = 20000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_shorter_platform_penalty
type = SLE_UINT
from = SLV_33
def = 40 * YAPF_TILE_LENGTH
min = 0
max = 20000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.rail_shorter_platform_per_tile_penalty
type = SLE_UINT
from = SLV_33
def = 0 * YAPF_TILE_LENGTH
min = 0
max = 20000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.road_slope_penalty
type = SLE_UINT
from = SLV_33
def = 2 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.road_curve_penalty
type = SLE_UINT
from = SLV_33
def = 1 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.road_crossing_penalty
type = SLE_UINT
from = SLV_33
def = 3 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.road_stop_penalty
type = SLE_UINT
from = SLV_47
def = 8 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.road_stop_occupied_penalty
type = SLE_UINT
from = SLV_130
def = 8 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.road_stop_bay_occupied_penalty
type = SLE_UINT
from = SLV_130
def = 15 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.maximum_go_to_depot_penalty
type = SLE_UINT
from = SLV_131
def = 20 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.ship_curve45_penalty
type = SLE_UINT
from = SLV_SHIP_CURVE_PENALTY
def = 1 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT
[SDT_VAR]
var = pf.yapf.ship_curve90_penalty
type = SLE_UINT
from = SLV_SHIP_CURVE_PENALTY
def = 6 * YAPF_TILE_LENGTH
min = 0
max = 1000000
cat = SC_EXPERT