summaryrefslogtreecommitdiff
path: root/src/table
diff options
context:
space:
mode:
Diffstat (limited to 'src/table')
-rw-r--r--src/table/control_codes.h4
-rw-r--r--src/table/settings.ini623
-rw-r--r--src/table/sprites.h33
-rw-r--r--src/table/strgen_tables.h4
4 files changed, 663 insertions, 1 deletions
diff --git a/src/table/control_codes.h b/src/table/control_codes.h
index 50233d5f6..5ab5331f9 100644
--- a/src/table/control_codes.h
+++ b/src/table/control_codes.h
@@ -68,6 +68,10 @@ enum StringControlCode {
SCC_DATE_SHORT,
SCC_DATE_LONG,
SCC_DATE_ISO,
+ SCC_DATE_WALLCLOCK_TINY,
+ SCC_DATE_WALLCLOCK_SHORT,
+ SCC_DATE_WALLCLOCK_LONG,
+ SCC_DATE_WALLCLOCK_ISO,
/* Must be consecutive */
SCC_STRING1,
diff --git a/src/table/settings.ini b/src/table/settings.ini
index b39d29a54..897cb5a5d 100644
--- a/src/table/settings.ini
+++ b/src/table/settings.ini
@@ -40,6 +40,8 @@ static bool RedrawTownAuthority(int32 p1);
static bool InvalidateCompanyInfrastructureWindow(int32 p1);
static bool InvalidateCompanyWindow(int32 p1);
static bool ZoomMinMaxChanged(int32 p1);
+static bool TLSettingChanged(int32 p1);
+bool CargodestModeChanged(int32 p1);
#ifdef ENABLE_NETWORK
static bool UpdateClientName(int32 p1);
@@ -70,6 +72,7 @@ SDTC_OMANY = SDTC_OMANY( $var, $type, $flags, $guiflags, $def,
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_LIST = SDT_LIST($base, $var, $type, $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),
@@ -553,6 +556,18 @@ strhelp = STR_CONFIG_SETTING_ALLOW_TOWN_ROADS_HELPTEXT
[SDT_VAR]
base = GameSettings
+var = economy.random_road_construction
+type = SLE_UINT8
+from = TL_SV
+def = 7
+min = 0
+max = 100
+interval = 1
+str = STR_CONFIG_PATCHES_RANDOM_ROAD_CONSTRUCTION
+strval = STR_JUST_INT
+
+[SDT_VAR]
+base = GameSettings
var = economy.found_town
type = SLE_UINT8
from = 128
@@ -968,6 +983,13 @@ cat = SC_BASIC
length = 1
to = 158
+[SDT_BOOL]
+base = GameSettings
+var = order.automatic_timetable_separation
+from = SL_TTSEP_VER
+def = true
+str = STR_CONFIG_SETTING_TIMETABLE_ENABLE_SEPARATION
+
[SDTC_BOOL]
var = gui.sg_full_load_any
from = 22
@@ -1292,6 +1314,242 @@ str = STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD
strhelp = STR_CONFIG_SETTING_MODIFIED_ROAD_REBUILD_HELPTEXT
cat = SC_EXPERT
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.mode_pax_mail
+type = SLE_UINT8
+from = 180
+guiflags = SGF_MULTISTRING
+def = 0
+min = 0
+max = 1
+interval = 1
+str = STR_CONFIG_SETTING_CARGODEST_PAX
+strhelp = STR_CONFIG_SETTING_CARGODEST_PAX_HELPTEXT
+strval = STR_CONFIG_SETTING_CARGODEST_MODE_OFF
+proc = CargodestModeChanged
+cat = SC_BASIC
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.mode_town_cargo
+type = SLE_UINT8
+from = 180
+guiflags = SGF_MULTISTRING
+def = 0
+min = 0
+max = 1
+interval = 1
+str = STR_CONFIG_SETTING_CARGODEST_TOWN
+strhelp = STR_CONFIG_SETTING_CARGODEST_TOWN_HELPTEXT
+strval = STR_CONFIG_SETTING_CARGODEST_MODE_OFF
+proc = CargodestModeChanged
+cat = SC_BASIC
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.mode_others
+type = SLE_UINT8
+from = 180
+guiflags = SGF_MULTISTRING
+def = 0
+min = 0
+max = 1
+interval = 1
+str = STR_CONFIG_SETTING_CARGODEST_OTHER
+strhelp = STR_CONFIG_SETTING_CARGODEST_OTHER_HELPTEXT
+strval = STR_CONFIG_SETTING_CARGODEST_MODE_OFF
+proc = CargodestModeChanged
+cat = SC_BASIC
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.base_town_links
+type = SLE_UINT8
+from = 180
+def = 3,3
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.base_ind_links
+type = SLE_UINT8
+from = 180
+def = 2,4,1
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.city_town_links
+type = SLE_UINT8
+from = 180
+def = 8
+min = 0
+max = 255
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.town_chances_town
+type = SLE_UINT8
+from = 180
+def = 100,100,100,100
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.town_chances_city
+type = SLE_UINT8
+from = 180
+def = 70,100,100,100
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.ind_chances
+type = SLE_UINT8
+from = 180
+def = 90,95,100
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.random_dest_chance
+type = SLE_UINT8
+from = 180
+def = 5
+min = 0
+max = 99
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.big_town_pop
+type = SLE_UINT32
+from = 180
+def = 500,2000
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.pop_scale_town
+type = SLE_UINT16
+from = 180
+def = 100,180,200,1000
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.cargo_scale_ind
+type = SLE_UINT16
+from = 180
+def = 250,200
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.min_weight_town
+type = SLE_UINT16
+from = 180
+def = 5,5
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.min_weight_ind
+type = SLE_UINT16
+from = 180
+def = 10
+min = 0
+max = 1000
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.weight_scale_town
+type = SLE_UINT16
+from = 180
+def = 10,40,20,80
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = economy.cargodest.weight_scale_ind
+type = SLE_UINT16
+from = 180
+def = 20,50
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.town_nearby_dist
+type = SLE_UINT32
+from = 180
+def = 48*48
+min = 1
+max = UINT32_MAX
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.ind_nearby_dist
+type = SLE_UINT32
+from = 180
+def = 64*64
+min = 1
+max = UINT32_MAX
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.max_route_age
+type = SLE_UINT16
+from = 180
+def = 2*DAYS_IN_YEAR
+min = 0
+max = UINT16_MAX
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.route_recalc_delay
+type = SLE_UINT16
+from = 180
+def = 20
+min = 0
+max = UINT16_MAX
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.route_recalc_chunk
+type = SLE_UINT16
+from = 180
+def = 15
+min = 0
+max = UINT16_MAX
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.max_route_penalty[0]
+type = SLE_UINT16
+from = 180
+def = 200
+min = 0
+max = UINT16_MAX
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = economy.cargodest.max_route_penalty[1]
+type = SLE_UINT16
+from = 180
+def = 150
+min = 0
+max = UINT16_MAX
+cat = SC_EXPERT
+
; previously ai-new setting.
[SDT_NULL]
length = 1
@@ -1363,6 +1621,68 @@ strhelp = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT
strval = STR_JUST_COMMA
cat = SC_EXPERT
+[SDT_BOOL]
+base = GameSettings
+var = construction.traffic_lights
+from = TL_SV
+def = true
+str = STR_CONFIG_SETTING_TRAFFIC_LIGHTS
+strhelp = STR_CONFIG_SETTING_TRAFFIC_LIGHTS_HELPTEXT
+proc = TLSettingChanged
+
+[SDT_BOOL]
+base = GameSettings
+var = construction.towns_build_traffic_lights
+from = TL_SV
+def = true
+str = STR_CONFIG_SETTING_TOWNS_BUILD_TRAFFIC_LIGHTS
+strhelp = STR_CONFIG_SETTING_TOWNS_BUILD_TRAFFIC_LIGHTS_HELPTEXT
+
+[SDT_BOOL]
+base = GameSettings
+var = construction.allow_building_tls_in_towns
+from = TL_SV
+def = false
+str = STR_CONFIG_SETTING_ALLOW_BUILDING_TLS_ON_TOWN_ROADS
+strhelp = STR_CONFIG_SETTING_ALLOW_BUILDING_TLS_ON_TOWN_ROADS_HELPTEXT
+
+[SDT_VAR]
+base = GameSettings
+var = construction.traffic_lights_green_phase
+type = SLE_UINT8
+from = TL_SV
+def = 2
+min = 1
+max = 16
+str = STR_CONFIG_SETTING_TRAFFIC_LIGHTS_GREEN_PHASE
+strhelp = STR_CONFIG_SETTING_TRAFFIC_LIGHTS_GREEN_PHASE_HELPTEXT
+strval = STR_JUST_INT
+
+[SDT_VAR]
+base = GameSettings
+var = construction.max_tlc_size
+type = SLE_UINT8
+from = TL_SV
+guiflags = SGF_0ISDISABLED
+def = 4
+min = 1
+max = 32
+str = STR_CONFIG_SETTING_MAX_TRAFFIC_LIGHT_CONSIST_SIZE
+strhelp = STR_CONFIG_SETTING_MAX_TRAFFIC_LIGHT_CONSIST_SIZE_HELPTEXT
+strval = STR_JUST_INT
+
+[SDT_VAR]
+base = GameSettings
+var = construction.max_tlc_distance
+type = SLE_UINT8
+from = TL_SV
+def = 1
+min = 0
+max = 4
+str = STR_CONFIG_SETTING_MAX_TRAFFIC_LIGHT_CONSIST_DISTANCE
+strhelp = STR_CONFIG_SETTING_MAX_TRAFFIC_LIGHT_CONSIST_DISTANCE_HELPTEXT
+strval = STR_CONFIG_SETTING_TILE_LENGTH
+
##
[SDT_VAR]
base = GameSettings
@@ -1636,6 +1956,16 @@ cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
+var = pf.npf.npf_road_trafficlight_penalty
+type = SLE_UINT
+from = TL_SV
+def = 2 * NPF_TILE_LENGTH
+min = 0
+max = 100000
+str = STR_NULL
+
+[SDT_VAR]
+base = GameSettings
var = pf.npf.npf_road_dt_occupied_penalty
type = SLE_UINT
from = 130
@@ -1682,6 +2012,15 @@ min = 500
max = 1000000
cat = SC_EXPERT
+[SDT_VAR]
+base = GameSettings
+var = game_creation.layers
+type = SLE_UINT8
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = 1
+min = MIN_LAYER_COUNT_BITS
+max = MAX_LAYER_COUNT_BITS
+
[SDT_BOOL]
base = GameSettings
var = pf.yapf.rail_firstred_twoway_eol
@@ -1941,6 +2280,15 @@ cat = SC_EXPERT
[SDT_VAR]
base = GameSettings
+var = pf.yapf.road_trafficlight_penalty
+type = SLE_UINT
+from = TL_SV
+def = 2 * YAPF_TILE_LENGTH
+min = 0
+max = 1000000
+
+[SDT_VAR]
+base = GameSettings
var = pf.yapf.road_stop_penalty
type = SLE_UINT
from = 47
@@ -1979,6 +2327,74 @@ min = 0
max = 1000000
cat = SC_EXPERT
+[SDT_VAR]
+base = GameSettings
+var = pf.yapf.route_transfer_cost
+type = SLE_UINT
+from = 180
+def = 500
+min = 0
+max = 1000000
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = pf.yapf.route_max_transfers
+type = SLE_UINT16
+from = 180
+def = 5
+min = 0
+max = 100000
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = pf.yapf.route_distance_factor
+type = SLE_UINT16
+from = 180
+def = 8
+min = 0
+max = 1000
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = pf.yapf.route_travel_time_factor
+type = SLE_UINT16
+from = 180
+def = 32
+min = 0
+max = UINT16_MAX
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = pf.yapf.route_station_last_veh_factor
+type = SLE_UINT16
+from = 180
+def = 64
+min = 0
+max = UINT16_MAX
+cat = SC_EXPERT
+
+[SDT_VAR]
+base = GameSettings
+var = pf.yapf.route_station_waiting_factor
+type = SLE_UINT16
+from = 180
+def = 128
+min = 0
+max = UINT16_MAX
+cat = SC_EXPERT
+
+[SDT_LIST]
+base = GameSettings
+var = pf.yapf.route_mode_cost_factor
+type = SLE_UINT8
+from = 180
+def = 4,2,1,8
+cat = SC_EXPERT
+
##
[SDT_VAR]
base = GameSettings
@@ -2271,6 +2687,7 @@ str = STR_CONFIG_SETTING_SHOWFINANCES
strhelp = STR_CONFIG_SETTING_SHOWFINANCES_HELPTEXT
cat = SC_BASIC
+
[SDTC_VAR]
var = gui.auto_scrolling
type = SLE_UINT8
@@ -2538,6 +2955,59 @@ proc = InvalidateVehTimetableWindow
cat = SC_EXPERT
[SDTC_BOOL]
+var = gui.time_in_minutes
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_SETTING_TIME_IN_MINUTES
+strhelp = STR_CONFIG_SETTING_TIME_IN_MINUTES_HELPTEXT
+proc = InvalidateVehTimetableWindow
+
+[SDTC_BOOL]
+var = gui.timetable_start_text_entry
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_SETTING_TIMETABLE_START_TEXT_ENTRY
+strhelp = STR_CONFIG_SETTING_TIMETABLE_START_TEXT_ENTRY_HELPTEXT
+
+[SDTC_VAR]
+var = gui.ticks_per_minute
+type = SLE_UINT8
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+strval = STR_JUST_INT
+def = 74
+min = 1
+max = 255
+str = STR_CONFIG_SETTING_TICKS_PER_MINUTE
+strhelp = STR_CONFIG_SETTING_TICKS_PER_MINUTE_HELPTEXT
+proc = RedrawScreen
+
+[SDTC_VAR]
+var = gui.date_with_time
+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_DATE_WITH_TIME
+strval = STR_CONFIG_SETTING_DATE_WITH_TIME_NONE
+strhelp = STR_CONFIG_SETTING_DATE_WITH_TIME_HELPTEXT
+proc = RedrawScreen
+
+[SDTC_VAR]
+var = gui.clock_offset
+type = SLE_UINT16
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+strval = STR_JUST_INT
+def = 0
+min = 0
+max = 1439
+interval = 60
+str = STR_CONFIG_SETTING_CLOCK_OFFSET
+strhelp = STR_CONFIG_SETTING_CLOCK_OFFSET_HELPTEXT
+proc = RedrawScreen
+
+[SDTC_BOOL]
var = gui.timetable_arrival_departure
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
def = true
@@ -2545,6 +3015,139 @@ str = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE
strhelp = STR_CONFIG_SETTING_TIMETABLE_SHOW_ARRIVAL_DEPARTURE_HELPTEXT
proc = InvalidateVehTimetableWindow
+[SDTC_VAR]
+var = gui.max_departures
+type = SLE_UINT8
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+strval = STR_JUST_INT
+def = 10
+min = 1
+max = 30
+interval = 1
+str = STR_CONFIG_MAX_DEPARTURES
+strhelp = STR_CONFIG_MAX_DEPARTURES_HELPTEXT
+
+[SDTC_VAR]
+var = gui.max_departure_time
+type = SLE_UINT16
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+strval = STR_JUST_INT
+def = 120
+min = 30
+max = 240
+interval = 1
+str = STR_CONFIG_MAX_DEPARTURE_TIME
+strhelp = STR_CONFIG_MAX_DEPARTURE_TIME_HELPTEXT
+
+[SDTC_VAR]
+var = gui.departure_calc_frequency
+type = SLE_UINT16
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+strval = STR_JUST_INT
+def = 10
+min = 1
+max = 120
+interval = 1
+str = STR_CONFIG_DEPARTURE_CALC_FREQUENCY
+strhelp = STR_CONFIG_DEPARTURE_CALC_FREQUENCY_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_show_vehicle
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_VEHICLE_NAME
+strhelp = STR_CONFIG_DEPARTURE_VEHICLE_NAME_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_show_group
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_GROUP_NAME
+strhelp = STR_CONFIG_DEPARTURE_GROUP_NAME_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_show_company
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_COMPANY_NAME
+strhelp = STR_CONFIG_DEPARTURE_COMPANY_NAME_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_show_vehicle_type
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_VEHICLE_TYPE
+strhelp = STR_CONFIG_DEPARTURE_VEHICLE_TYPE_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_show_vehicle_color
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_VEHICLE_COLOR
+strhelp = STR_CONFIG_DEPARTURE_VEHICLE_COLOR_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_larger_font
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_LARGER_FONT
+strhelp = STR_CONFIG_DEPARTURE_LARGER_FONT_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_destination_type
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_DESTINATION_TYPE
+strhelp = STR_CONFIG_DEPARTURE_DESTINATION_TYPE_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_show_both
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_SHOW_BOTH
+strhelp = STR_CONFIG_DEPARTURE_SHOW_BOTH_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_only_passengers
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_ONLY_PASSENGERS
+strhelp = STR_CONFIG_DEPARTURE_ONLY_PASSENGERS_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_smart_terminus
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_SMART_TERMINUS
+strhelp = STR_CONFIG_DEPARTURE_SMART_TERMINUS_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_show_all_stops
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_SHOW_ALL_STOPS
+strhelp = STR_CONFIG_DEPARTURE_SHOW_ALL_STOPS_HELPTEXT
+
+[SDTC_BOOL]
+var = gui.departure_merge_identical
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = false
+str = STR_CONFIG_DEPARTURE_MERGE_IDENTICAL
+strhelp = STR_CONFIG_DEPARTURE_MERGE_IDENTICAL_HELPTEXT
+
+[SDTC_VAR]
+var = gui.departure_conditionals
+type = SLE_UINT8
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+guiflags = SGF_MULTISTRING
+def = 0
+min = 0
+max = 2
+str = STR_CONFIG_DEPARTURE_CONDITIONALS
+strval = STR_CONFIG_DEPARTURE_CONDITIONALS_1
+strhelp = STR_CONFIG_DEPARTURE_CONDITIONALS_HELPTEXT
+proc = RedrawScreen
+
[SDTC_BOOL]
var = gui.quick_goto
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
@@ -2603,6 +3206,17 @@ strval = STR_JUST_INT
cat = SC_EXPERT
[SDTC_VAR]
+var = gui.simulated_wormhole_signals
+type = SLE_UINT8
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = 2
+min = 1
+max = 16
+str = STR_CONFIG_SETTING_SIMULATE_SIGNALS
+strval = STR_CONFIG_SETTING_SIMULATE_SIGNALS_VALUE
+proc = RedrawScreen
+
+[SDTC_VAR]
var = gui.drag_signals_density
type = SLE_UINT8
flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
@@ -2829,6 +3443,15 @@ strhelp = STR_CONFIG_SETTING_GRAPH_LINE_THICKNESS_HELPTEXT
strval = STR_JUST_COMMA
proc = RedrawScreen
+[SDTC_VAR]
+var = gui.layer_view_type
+type = SLE_UINT32
+flags = SLF_NOT_IN_SAVE | SLF_NO_NETWORK_SYNC
+def = 0
+min = 0
+max = UINT32_MAX
+proc = RedrawScreen
+
; For the dedicated build we'll enable dates in logs by default.
[SDTC_BOOL]
ifdef = DEDICATED
diff --git a/src/table/sprites.h b/src/table/sprites.h
index 463716cb1..916bff3d2 100644
--- a/src/table/sprites.h
+++ b/src/table/sprites.h
@@ -200,7 +200,10 @@ static const uint16 AUTORAIL_SPRITE_COUNT = 55;
static const SpriteID SPR_ELRAIL_BASE = SPR_AUTORAIL_BASE + AUTORAIL_SPRITE_COUNT;
static const uint16 ELRAIL_SPRITE_COUNT = 48;
-static const SpriteID SPR_2CCMAP_BASE = SPR_ELRAIL_BASE + ELRAIL_SPRITE_COUNT;
+static const SpriteID SPR_TRAFFICLIGHTS_BASE = SPR_ELRAIL_BASE + ELRAIL_SPRITE_COUNT;
+static const uint16 TRAFFICLIGHTS_SPRITE_COUNT = 22;
+
+static const SpriteID SPR_2CCMAP_BASE = SPR_TRAFFICLIGHTS_BASE + TRAFFICLIGHTS_SPRITE_COUNT;
static const uint16 TWOCCMAP_SPRITE_COUNT = 256;
/** shore tiles - action 05-0D */
@@ -1087,6 +1090,34 @@ static const SpriteID SPR_IMG_QUERY = 723;
static const SpriteID SPR_IMG_SIGN = 4082;
static const SpriteID SPR_IMG_BUY_LAND = 4791;
+/* Traffic lights */
+static const SpriteID SPR_IMG_TRAFFIC_LIGHT = SPR_TRAFFICLIGHTS_BASE;
+static const SpriteID SPR_CURSOR_TRAFFIC_LIGHT = SPR_TRAFFICLIGHTS_BASE + 1;
+
+static const SpriteID SPR_TL_SW_RED = SPR_TRAFFICLIGHTS_BASE + 2;
+static const SpriteID SPR_TL_SW_RED_YELLOW = SPR_TRAFFICLIGHTS_BASE + 3;
+static const SpriteID SPR_TL_SW_GREEN = SPR_TRAFFICLIGHTS_BASE + 4;
+static const SpriteID SPR_TL_SW_YELLOW = SPR_TRAFFICLIGHTS_BASE + 5;
+static const SpriteID SPR_TL_SW_NONE = SPR_TRAFFICLIGHTS_BASE + 6;
+
+static const SpriteID SPR_TL_SE_RED = SPR_TRAFFICLIGHTS_BASE + 7;
+static const SpriteID SPR_TL_SE_RED_YELLOW = SPR_TRAFFICLIGHTS_BASE + 8;
+static const SpriteID SPR_TL_SE_GREEN = SPR_TRAFFICLIGHTS_BASE + 9;
+static const SpriteID SPR_TL_SE_YELLOW = SPR_TRAFFICLIGHTS_BASE + 10;
+static const SpriteID SPR_TL_SE_NONE = SPR_TRAFFICLIGHTS_BASE + 11;
+
+static const SpriteID SPR_TL_NW_RED = SPR_TRAFFICLIGHTS_BASE + 12;
+static const SpriteID SPR_TL_NW_RED_YELLOW = SPR_TRAFFICLIGHTS_BASE + 13;
+static const SpriteID SPR_TL_NW_GREEN = SPR_TRAFFICLIGHTS_BASE + 14;
+static const SpriteID SPR_TL_NW_YELLOW = SPR_TRAFFICLIGHTS_BASE + 15;
+static const SpriteID SPR_TL_NW_NONE = SPR_TRAFFICLIGHTS_BASE + 16;
+
+static const SpriteID SPR_TL_NE_RED = SPR_TRAFFICLIGHTS_BASE + 17;
+static const SpriteID SPR_TL_NE_RED_YELLOW = SPR_TRAFFICLIGHTS_BASE + 18;
+static const SpriteID SPR_TL_NE_GREEN = SPR_TRAFFICLIGHTS_BASE + 19;
+static const SpriteID SPR_TL_NE_YELLOW = SPR_TRAFFICLIGHTS_BASE + 20;
+static const SpriteID SPR_TL_NE_NONE = SPR_TRAFFICLIGHTS_BASE + 21;
+
/* OpenTTD in gamescreen */
static const SpriteID SPR_OTTD_O = 4842;
static const SpriteID SPR_OTTD_P = 4841;
diff --git a/src/table/strgen_tables.h b/src/table/strgen_tables.h
index ed405aa48..19f5beb45 100644
--- a/src/table/strgen_tables.h
+++ b/src/table/strgen_tables.h
@@ -90,6 +90,10 @@ static const CmdStruct _cmd_structs[] = {
{"DATE_SHORT", EmitSingleChar, SCC_DATE_SHORT, 1, C_CASE},
{"DATE_LONG", EmitSingleChar, SCC_DATE_LONG, 1, C_CASE},
{"DATE_ISO", EmitSingleChar, SCC_DATE_ISO, 1, C_NONE},
+ {"DATE_WALLCLOCK_TINY", EmitSingleChar, SCC_DATE_WALLCLOCK_TINY, 1, C_NONE},
+ {"DATE_WALLCLOCK_SHORT", EmitSingleChar, SCC_DATE_WALLCLOCK_SHORT, 1, C_NONE},
+ {"DATE_WALLCLOCK_LONG", EmitSingleChar, SCC_DATE_WALLCLOCK_LONG, 1, C_NONE},
+ {"DATE_WALLCLOCK_ISO", EmitSingleChar, SCC_DATE_WALLCLOCK_ISO, 1, C_NONE},
{"STRING", EmitSingleChar, SCC_STRING, 1, C_CASE | C_GENDER},
{"RAW_STRING", EmitSingleChar, SCC_RAW_STRING_POINTER, 1, C_NONE | C_GENDER},