Commit Graph

155 Commits

Author SHA1 Message Date
Jonathan G Rennison
7ce06e22b8 Split date types into calendar and economy dates
See: 735abfe1
2024-02-13 21:34:09 +00:00
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
49eb40bc4f Change various _network_dedicated tests to use IsHeadless 2024-01-24 23:31:35 +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
c9422762c0 Tracerestrict: Add 0 enum value for TraceRestrictProgramActionsUsedFlags 2024-01-20 12:58:38 +00:00
Jonathan G Rennison
2fc631b15b Rename OT_RELEASE_SLOT to OT_SLOT, use a subtype field 2024-01-11 19:01:25 +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
8256bb8359 Tracerestrict: Fix share/unshare actions setting always reserve through bit incorrectly
See: #620
2023-12-30 14:53:17 +00:00
Jonathan G Rennison
ffff696b4e Merge branch 'master' into jgrpp
# Conflicts:
#	src/build_vehicle_gui.cpp
#	src/cheat_gui.cpp
#	src/console_cmds.cpp
#	src/crashlog.cpp
#	src/date_gui.cpp
#	src/engine.cpp
#	src/group_cmd.cpp
#	src/landscape.cpp
#	src/network/network_gui.cpp
#	src/newgrf.cpp
#	src/saveload/afterload.cpp
#	src/script/api/script_date.cpp
#	src/sl/oldloader_sl.cpp
#	src/station_cmd.cpp
#	src/station_cmd.h
#	src/strings.cpp
#	src/subsidy_gui.cpp
#	src/survey.cpp
#	src/timer/timer_game_calendar.cpp
#	src/timer/timer_game_calendar.h
2023-12-29 14:46:53 +00:00
Jonathan G Rennison
03e0ec8276 Strong typedef: Use strong typedefs for date, date tick, minutes types
Add delta types
Adjust/add type conversion functions
Add various utility methods on types
Remove the various minute macros
Fix some minute conversion inconsistencies
2023-12-19 02:39:54 +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
a18f3274b4 Rename close window functions to match upstream 2023-09-15 21:17:25 +01:00
Jonathan G Rennison
ead18b2af2 Merge branch 'master' into jgrpp
# Conflicts:
#	CMakeLists.txt
#	src/3rdparty/md5/md5.h
#	src/3rdparty/squirrel/squirrel/squtils.h
#	src/animated_tile.cpp
#	src/console_func.h
#	src/core/CMakeLists.txt
#	src/core/container_func.hpp
#	src/core/smallstack_type.hpp
#	src/crashlog.cpp
#	src/crashlog.h
#	src/debug.h
#	src/economy.cpp
#	src/gamelog.cpp
#	src/industry_gui.cpp
#	src/lang/catalan.txt
#	src/misc_gui.cpp
#	src/network/network_content.h
#	src/newgrf.cpp
#	src/newgrf.h
#	src/newgrf_config.cpp
#	src/newgrf_config.h
#	src/newgrf_gui.cpp
#	src/os/unix/font_unix.cpp
#	src/os/windows/crashlog_win.cpp
#	src/rail_cmd.cpp
#	src/saveload/animated_tile_sl.cpp
#	src/script/api/script_tilelist.cpp
#	src/settings.cpp
#	src/settingsgen/settingsgen.cpp
#	src/sl/oldloader_sl.cpp
#	src/station.cpp
#	src/station_cmd.cpp
#	src/stdafx.h
#	src/strgen/strgen.cpp
#	src/strgen/strgen_base.cpp
#	src/table/settings/gui_settings.ini
#	src/train_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehicle_cmd.cpp
#	src/vehicle_gui_base.h
#	src/viewport_sprite_sorter.h
2023-07-02 12:02:36 +01:00
Jonathan G Rennison
13183d3f13 Add command result flag for whether SetResultData was called
Use for tracerestrict validation result fail offset
2023-05-30 23:41:19 +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
f13f8cd740 Tracerestrict: Improve program validator
Check all instruction subtypes and valid enum values
Return failure instead of asserting for invalid instruction subtypes
Identify which instruction triggered validation failure
2023-03-09 03:01:20 +00:00
Jonathan G Rennison
119e24fe9d Tracerestrict: Reset dual instruction value when changing instruction type 2023-03-08 20:25:42 +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
07b7cc5652 Tracerestrict: Add condition whether reservation passes through tile 2023-02-06 19:54:14 +00:00
Jonathan G Rennison
3877bb31ef Changing day length or date no longer changes time in minutes
Add offset variables for scaled date ticks.
Adjust offset when changing day length or date, such that scaled
date ticks remain the same.
Store _scaled_tick_counter and scaled date ticks offset in the savagame.
2022-12-16 19:15:46 +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
b3a8dd44e4 Fix crash when removing routing restriction with reserve through from tunnel/bridge 2022-09-22 18:12:24 +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
bdd73a19a1 Add signal style flag for unconditional reserve through
Add map bits for unconditional reserve through
Adjust signal aspect/state handling
2022-06-19 04:15:27 +01:00
Jonathan G Rennison
4d04a757cc Debug: Add new signals support to GRF debug window 2022-06-15 21:36:55 +01:00
Jonathan G Rennison
cf5eef515e Signals: Add GRF restriction info bit for may reverse 2022-06-15 17:49:54 +01:00
Jonathan G Rennison
ba52fbeb91 Signals: Add variable for restriction info, add bit for reserve through 2022-06-12 09:00:31 +01:00
Jonathan G Rennison
28724d651d Tracerestrict: Add button to highlight all signals using program 2022-06-11 23:29:37 +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
c06acd3c47 Tracerestrict: Avoid double lookup when setting is restricted map bit 2022-06-11 22:12:43 +01:00
Jonathan G Rennison
ccfcc22c03 Tracerestrict: Return error instead of assert for unknown subcommands 2022-06-11 20:24:05 +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
e5a421b65a Merge branch 'master' into jgrpp
# Conflicts:
#	src/economy.cpp
#	src/linkgraph/refresh.cpp
#	src/order_cmd.cpp
#	src/saveload/vehicle_sl.cpp
#	src/station.cpp
#	src/station_base.h
#	src/timetable_cmd.cpp
#	src/timetable_gui.cpp
#	src/vehicle.cpp
#	src/vehicle_base.h
#	src/vehicle_cmd.cpp
2022-03-04 18:17:44 +00:00
Jonathan G Rennison
904ff6757d Add slot support to road vehicles, ships and aircraft 2022-01-19 00:10:49 +00:00