Commit Graph

113 Commits

Author SHA1 Message Date
Jonathan G Rennison
0ea57528c9 Rename DateTicksScaled to StateTicks
Rename various other related/derived types and variables
2024-02-07 18:36:47 +00:00
Jonathan G Rennison
5e29901d02 Tracerestrict: Allow nesting temporary slot states
Use a temporary state stack instead of passing the state directly
in TraceRestrictProgramInput

No longer exit early from ExtendTrainReservation to handle slots, this
fixes reservation failures when starting from a signal with a slot acquire

More thorough fix for 9e8a4314
2024-01-29 22:16:29 +00:00
Jonathan G Rennison
b01fd1607a Re-order various structs to reduce holes/padding 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
b64a51876a Set sizes for various enum types 2024-01-24 23:17:53 +00:00
Jonathan G Rennison
461fe116f2 Tracerestrict: Pass vehicle ptr instead of index to Occupy/Vacate
And related functions, to avoid unnecessary vehicle pool lookup
2024-01-20 23:28:03 +00:00
Jonathan G Rennison
876bce431f Tracerestrict: Add release slot on reserve slot op subtype 2024-01-20 23:06:13 +00:00
Jonathan G Rennison
d62ae41e03 Tracerestrict: Remove TRSCOF_ACQUIRE_TRY_ON_RESERVE, same as TRSCOF_ACQUIRE_TRY 2024-01-20 22:49:55 +00:00
Jonathan G Rennison
fc51491361 Tracerestrict: Use combined aux and cond op fields for TRIT_SLOT subtype 2024-01-20 22:43:53 +00:00
Jonathan G Rennison
24fc4e3e3f Tracerestrict: Remove TRPISP_PBS_RES_END_RELEASE 2024-01-20 22:24:19 +00:00
Jonathan G Rennison
a21a69c957 Tracerestrict: Add a flag for whether slot conditionals are present 2024-01-20 20:31:56 +00:00
Jonathan G Rennison
d502b6469d Tracerestrict: Add a slot acquire using temporary state mode 2024-01-20 20:31:25 +00:00
Jonathan G Rennison
ffbb30996a Tracerestrict: Move slot temporary state to a separate struct 2024-01-20 20:28:11 +00:00
Jonathan G Rennison
293b5c9435 Tracerestrict: Remove slot acquire on reservation flags 2024-01-20 20:23:55 +00:00
Jonathan G Rennison
c9422762c0 Tracerestrict: Add 0 enum value for TraceRestrictProgramActionsUsedFlags 2024-01-20 12:58:38 +00:00
Jonathan G Rennison
fa1c4f2be5 Tracerestrict: Add bit allocation diagram for TraceRestrictItem 2024-01-19 21:09:25 +00:00
Jonathan G Rennison
1408b12249 Tracerestrict: Add get/set to use auxiliary and cond op as a single field 2024-01-19 21:09:08 +00:00
Jonathan G Rennison
2d56c4d2e3 Tracerestrict: Update comment for TraceRestrictItem enum 2024-01-19 20:43:56 +00:00
Jonathan G Rennison
97e6f3062e Adding of _t to (u)int types, and WChar to char32_t
See: eaae0bb5e
2024-01-07 17:20:41 +00:00
Jonathan G Rennison
55d78a23be Merge branch 'master' into jgrpp
# Conflicts:
#	src/3rdparty/squirrel/include/squirrel.h
#	src/blitter/32bpp_sse_func.hpp
#	src/bridge_map.h
#	src/clear_map.h
#	src/company_manager_face.h
#	src/console_func.h
#	src/core/bitmath_func.hpp
#	src/core/endian_func.hpp
#	src/core/random_func.hpp
#	src/depot_map.h
#	src/elrail_func.h
#	src/fontcache.h
#	src/industry_map.h
#	src/map_func.h
#	src/newgrf_spritegroup.h
#	src/object_map.h
#	src/rail.h
#	src/rail_map.h
#	src/road_func.h
#	src/road_map.h
#	src/saveload/saveload.h
#	src/saveload/saveload_error.hpp
#	src/settings_gui.cpp
#	src/sl/oldloader.h
#	src/sprite.h
#	src/spritecache.h
#	src/station_func.h
#	src/station_map.h
#	src/story_base.h
#	src/strings_func.h
#	src/tile_cmd.h
#	src/tile_map.h
#	src/tile_type.h
#	src/town.h
#	src/town_map.h
#	src/tree_map.h
#	src/tunnel_map.h
#	src/tunnelbridge_map.h
#	src/vehicle_func.h
#	src/viewport_func.h
#	src/void_map.h
#	src/water.h
#	src/water_map.h
#	src/widget_type.h
2024-01-07 15:00:16 +00:00
Jonathan G Rennison
0620026d56 Tracerestrict: Add long reserve (unless stopping) mode
Requires realistic braking
2023-10-03 20:59:28 +01:00
Jonathan G Rennison
b299c4dce8 Tracerestrict: Add enum type for TRIT_LONG_RESERVE values 2023-10-03 18:11:41 +01:00
Jonathan G Rennison
731f2fb46e Tracerestrict: Add button to share program onto other signals 2023-05-16 21:10:54 +01:00
Jonathan G Rennison
65cc6623dd Tracerestrict: Add button to duplicate instruction/block 2023-05-05 23:34:48 +01:00
Jonathan G Rennison
55f11129c8 Tracerestrict: Add status test for if train is stopping at order destination
Station/waypoint of current order
2023-04-11 22:01:51 +01:00
Jonathan G Rennison
5b788dcb97 Tracerestrict: Use switch for actions in GetTraceRestrictTypeProperties 2023-03-09 01:42:13 +00:00
Jonathan G Rennison
6a0139354a Tracerestrict: Fix various comments 2023-03-09 01:36:04 +00:00
Jonathan G Rennison
70311c0843 Tracerestrict: Use btree_multimap for slot vehicle index 2023-03-07 00:31:14 +00:00
Jonathan G Rennison
88d7a8ea13 Formatting: Fix indentation of public/private specifiers 2023-02-28 01:44:28 +00:00
Jonathan G Rennison
07b7cc5652 Tracerestrict: Add condition whether reservation passes through tile 2023-02-06 19:54:14 +00:00
Jonathan G Rennison
38c2fa3b66 Add a change counter value special order type 2022-10-13 20:09:20 +01:00
Jonathan G Rennison
7c4c75d181 Add tracerestrict conditional on direction of order target from signal 2022-09-07 22:53:03 +01:00
Jonathan G Rennison
12566f05ca Add tracerestrict actions used flags for order conditionals present 2022-07-01 00:16:26 +01:00
Jonathan G Rennison
6a69a5495f Add tracerestrict action to set combined normal/shunt signal mode
Add associated conditional to get reservation end tile
2022-06-28 01:16:57 +01:00
Jonathan G Rennison
b37209c3af Tracerestrict: Programs maintain a list of signals referencing them 2022-06-11 22:15:19 +01:00
Jonathan G Rennison
02dabad81e Tracerestrict: Add flag for whether reserve through is always set 2022-06-11 16:40:32 +01:00
Jonathan G Rennison
c4ea3e0335 Fully simulate slot occupancy changes in PBS res end dry-run mode 2022-03-14 02:26:03 +00:00
Jonathan G Rennison
221120090e Fix wrong prefix in trace restrict enum
TRSACF_REMOVE_SPEED_ADAPT_EXEMPT in
TraceRestrictSpeedAdaptationControlField
2022-03-07 00:40:22 +00:00
Jonathan G Rennison
92142e5684 Add routing restriction action to make exempt from speed adaptation 2022-03-06 22:39:53 +00:00
Jonathan G Rennison
904ff6757d Add slot support to road vehicles, ships and aircraft 2022-01-19 00:10:49 +00:00
Jonathan G Rennison
b23d394f0b Handle predictable conditional orders in timetable window 2022-01-15 15:57:09 +00:00
Jonathan G Rennison
b259d04339 Add tunnel/bridge entrance/exit values to entry direction conditional 2021-11-13 22:52:27 +00:00
Jonathan G Rennison
74bfe4e6d2 Allow placing routing restrictions on tunnel/bridge entrance/exit signals
No reserve through support
2021-11-13 22:28:14 +00:00
Jonathan G Rennison
dad007e16a Fix spelling of TRPRF_SPEED_RESTRICTION_SET 2021-11-13 02:00:37 +00:00
Jonathan G Rennison
53139c2405 Add current day/month to tracerestrict and conditional order conditionals 2021-10-26 23:39:40 +01:00
Jonathan G Rennison
b8d5113c5a Tracerestrict: Add slot action mode, try to acquire (only on reserve) 2021-08-15 22:39:52 +01:00
Jonathan G Rennison
0579c8755c Add tracerestrict action: No PBS signal back PF penalty 2021-05-25 18:50:36 +01:00
Jonathan G Rennison
112b235b71 Fix name prefix of TraceRestrictNewsControlField enum values 2021-05-25 18:21:24 +01:00
Jonathan G Rennison
2e28bc8e6a Tracerestrict: Add engine class conditional 2021-05-13 23:49:03 +01:00
Jonathan G Rennison
aff89b61f5 Add tracerestrict reserved tiles ahead conditional 2021-02-13 03:29:35 +00:00
Jonathan G Rennison
35d720b0ad Add tracerestrict PBS end signal conditional
This is for realistic braking long reserve
2021-02-13 02:12:16 +00:00