Commit Graph

60 Commits

Author SHA1 Message Date
Jonathan G Rennison
97fd250d21 Remove conditional order refs when removing tracerestrict slot
See #40
2018-04-22 15:03:16 +01:00
keldorkatarn
78588d8ce5 First implementation of conditional order checking slot occupancy
(cherry picked from commit 524e3e56cb4a357ba60335f91dce1e00cb8d22f2)

Some code adjustments: serialisation/storage, formatting

See: #40
2018-04-22 15:03:16 +01:00
Jonathan G Rennison
02328680a1 Merge branch 'tracerestrict-sx' into jgrpp 2018-04-17 16:35:38 +01:00
keldorkatarn
2f3e4044b7 FIX: TraceRestrictSlots: Fix crash when removing vehicle from slot. Invalid iterator got used. (it was no longer valid after calling erase with it)
(cherry picked from commit 3571f1bc898b9ffd8b124040882caa5357085f42)

Fixes: #37
2018-04-17 16:34:03 +01:00
Jonathan G Rennison
64d9cdd6f0 Merge branch 'tracerestrict-sx' into jgrpp 2017-06-20 19:19:39 +01:00
Jonathan G Rennison
b004c1998f Merge branch 'tracerestrict' into tracerestrict-sx 2017-06-20 19:19:21 +01:00
Jonathan G Rennison
7986367c1f Tracerestrict: Add program append management action. 2017-06-20 19:18:39 +01:00
Jonathan G Rennison
bfb8f6f32e Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/saveload/extended_ver_sl.cpp
#	src/tracerestrict.h
#	src/tracerestrict_gui.cpp
2017-04-11 23:42:14 +01:00
Jonathan G Rennison
c44141bad6 Add conditional to test slot occupancy state.
Bump tracerestrict version.
2017-04-10 19:00:52 +01:00
Jonathan G Rennison
c94b7a6240 Add safeguard includes to tracerestrict files. 2017-04-10 18:57:46 +01:00
Jonathan G Rennison
b8328ad21f Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/command.cpp
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/saveload/extended_ver_sl.cpp
#	src/settings_gui.cpp
#	src/tracerestrict.cpp
#	src/tracerestrict.h
#	src/tracerestrict_gui.cpp
#	src/vehicle_gui.cpp
#	src/vehicle_gui_base.h
#	src/vehiclelist.cpp
#	src/window_type.h
2017-04-05 19:00:24 +01:00
Jonathan G Rennison
0772236986 Add a release slot at front of train slot action.
Distinguish from release slot at back.
Fix slot release and acquire at front when passing PBS from back.
2017-03-31 01:10:26 +01:00
Jonathan G Rennison
927323dcb1 Add trace restrict slot membership conditional. 2017-03-30 21:53:30 +01:00
Jonathan G Rennison
6417fb16c3 Initial implementation of trace restrict slots 2017-03-30 21:14:14 +01:00
Jonathan G Rennison
5a2d482c28 Tracerestrict: Add wait at PBS signal action. 2017-03-27 23:30:15 +01:00
Jonathan G Rennison
8cf0f354d9 Merge branch 'tracerestrict-sx' into jgrpp 2017-02-27 18:51:37 +00:00
Jonathan G Rennison
13f8de58c3 Add instruction move up/down buttons to GUI.
Has block and individual instruction move modes, depending on ctrl.
2017-02-26 23:52:15 +00:00
Jonathan G Rennison
f10c32de53 Fix removal of double-length conditional instructions (PBS entry signal). 2017-02-26 22:51:18 +00:00
Jonathan G Rennison
f192865c27 Allow shallow-removing conditional blocks by use of ctrl+click. 2017-02-26 21:39:04 +00:00
Jonathan G Rennison
80e3af6bf5 Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/lang/english.txt
#	src/saveload/extended_ver_sl.cpp
#	src/tracerestrict.cpp
#	src/tracerestrict.h
#	src/tracerestrict_gui.cpp
2016-06-30 20:25:22 +01:00
Jonathan G Rennison
f942de699c Add power/weight and max TE/weight ratio tracerestrict conditionals.
Minor refactorings.
2016-06-30 19:31:45 +01:00
Jonathan G Rennison
91ba866852 Fix comment typo. 2016-06-30 18:55:26 +01:00
Jonathan G Rennison
b5531975da Add train weight, power, and max TE tracerestrict conditionals.
Minor refactorings.
2016-06-29 22:08:05 +01:00
Jonathan G Rennison
0d26da998b Merge branch 'tracerestrict-sx' into jgrpp
# Conflicts:
#	src/group_cmd.cpp
#	src/group_gui.cpp
#	src/lang/english.txt
#	src/saveload/extended_ver_sl.cpp
#	src/tracerestrict.cpp
#	src/tracerestrict.h
#	src/tracerestrict_gui.cpp
2016-04-05 20:12:09 +01:00
Jonathan G Rennison
213b0e7e3a Tracerestrict: Add a group membership conditional. 2016-04-05 18:40:16 +01:00
Jonathan G Rennison
49988b37b8 Merge branches 'tracerestrict-sx' and 'template_train_replacement-sx' into jgrpp 2016-03-08 19:33:00 +00:00
Jonathan G Rennison
4d94470d08 Update all tracerestrict windows when a restricted signal is removed.
This fixes share counts in any open windows sharing the same program
not being updated.
2016-03-08 19:20:55 +00:00
Jonathan G Rennison
8dc76b0044 Be more strict checking for space in program pool in mgmt actions. 2016-03-03 19:14:10 +00:00
Jonathan G Rennison
5d42d07988 Merge branch 'tracerestrict-sx' into jgrpp 2016-03-01 20:55:19 +00:00
Jonathan G Rennison
83369d5e71 Remove unused constant _tracerestrict_penalty_item_default_value. 2016-02-05 18:52:24 +00:00
Jonathan G Rennison
73e8c32a5d Merge branch 'tracerestrict-sx' into jgrpp
Conflicts:
	src/saveload/extended_ver_sl.cpp
	src/tracerestrict.h
	src/tracerestrict_gui.cpp
	src/train_cmd.cpp
2016-01-20 22:19:15 +00:00
patch-import
82cab7f31c Tracerestrict: Import "Long Reserve" feature.
https://github.com/KeldorKatarn/OpenTTD_PatchPack

Minor code de-duplications.
2016-01-20 21:49:53 +00:00
Jonathan G Rennison
0c29f9f9a0 Merge branch 'tracerestrict-sx' into jgrpp 2016-01-15 19:06:23 +00:00
Jonathan G Rennison
d2e8d205b9 Tracerestrict: Fix copying an unrestricted signal making an empty program. 2016-01-14 19:09:34 +00:00
Jonathan G Rennison
c3948ef5e9 Merge branch 'tracerestrict-sx' into jgrpp 2016-01-04 18:40:26 +00:00
Jonathan G Rennison
20a015e9d3 Fix actions_used_flags not being set when cloning tracerestrict programs.
This resulted in newly copied or unshared programs not being evaluated.
2016-01-04 18:40:06 +00:00
Jonathan G Rennison
7673436d3a Trace restrict: add train ownership conditional.
Infra sharing whitespace fix.
2015-12-15 20:30:20 +00:00
Jonathan G Rennison
95c532b134 Merge branch 'tracerestrict-sx' into jgrpp 2015-12-15 18:43:11 +00:00
Jonathan G Rennison
9c5189b212 Handle double instructions correctly when deleting stations/depots/etc.
Fix some whitespace and comment typos.
2015-12-15 18:36:02 +00:00
Jonathan G Rennison
3dec3242cc Merge branch 'tracerestrict-sx' into jgrpp
Conflicts:
	src/saveload/extended_ver_sl.cpp
2015-09-02 21:09:25 +01:00
Jonathan G Rennison
73b69c5594 Validate type of all instructions, log validation failures at load.
The validator now checks that the type of conditional instructions
is known.
On a validation failure, the load code now outputs a corrupt savegame
message, with the validation error message and a program dump,
instead of using an assertion.
2015-09-02 20:51:30 +01:00
Jonathan G Rennison
d9acfc4599 Fix validation of dual item instructions. 2015-09-02 19:13:30 +01:00
Jonathan G Rennison
e2435c7169 Only run trace restrict programs if they contain relevant actions.
Only run in pathfinder case if deny or penalty are present.
Only run in is safe waiting tile case is reserve through is present.
Presence is determined at program validation time and cached in the
program structure.
Validator now checks for unknown non-conditional instructions.
2015-09-02 18:35:56 +01:00
Jonathan G Rennison
06a1d7c5c9 Add reserve through action to trace restrict programs.
This only changes the behaviour of PBS reservations which
would otherwise terminate at a PBS signal.
If the signal restriction sets the reserve through state,
the reservation continues through the signal, and the signal
is set to green.
2015-09-02 02:12:02 +01:00
Jonathan G Rennison
06cc930e47 Improve insertion and removal of 'or if' conditionals.
Allow inserting an 'or if' immediately after 'if', 'else if', 'or if'.
Removing an 'or if' no longer removes the associated block.
2015-09-02 02:12:02 +01:00
Jonathan G Rennison
64a6f5c0d4 Merge branch 'jgrpp' into save_ext_spp 2015-08-21 23:00:57 +01:00
Jonathan G Rennison
96ccd9333a Clear PAX stations/signals and traffic lights on load.
This clears the tracerestrict bit if there are no mappings on a tile.
2015-08-19 18:55:02 +01:00
Jonathan G Rennison
614b3d8ab5 Trace restrict: Handle removing mapping from refcount 2 empty program.
Instead of leaving the other mapping pointing to an empty unshared
program, find and delete it.
2015-08-19 18:52:49 +01:00
Jonathan G Rennison
76707fb72a Change pf penalty restriction value button to preset values and a custom option.
Preset values are 'small', 'medium' and 'large'.
Change default to 'small' preset.
2015-08-04 19:09:40 +01:00
Jonathan G Rennison
a0520b8937 Initial implementation of PBS entry signal condition variable.
TODO: see how the efficiency of this can be improved.
2015-08-03 20:28:42 +01:00