Commit Graph

55 Commits

Author SHA1 Message Date
Jonathan G Rennison
e9f5d80440 Trace restrict slots: Add support for slot operations at PBS end signal 2018-06-17 21:13:53 +01:00
Jonathan G Rennison
1b4db7d86c Trace restrict: Add wait at entrance PBS for reservation ending here 2018-06-17 18:55:33 +01:00
Jonathan G Rennison
a9596b45aa Fix incorrect tile and trackdir in reserve through program execution 2018-03-03 18:07:57 +00:00
Jonathan G Rennison
3d6cbb76b4 Allow value of "PBS entry signal" conditional to be a rail depot. 2016-07-18 00:47:52 +01:00
Jonathan G Rennison
1bb3024534 Fix unreserving through a green PBS signal not setting the state to red.
This also had the side effect of failed reservation attempts through
a reserve-through signal leaving the signal erroneously set to green.
2016-03-01 20:54:03 +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
776c93ca55 Fix use of nullptr, which broke compilation on legacy compilers. 2015-09-05 23:15:19 +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
frosch
bba85a6e01 (svn r27209) -Add: Draw path reservation on the whole bridge, not only on the bridge heads. 2015-03-28 14:04:06 +00:00
rubidium
2be4215f43 (svn r26482) -Codechange: add an include that allows us to undefine/redefine "unsafe" functions to prevent them from being used, and thus having to care about certain aspects of their return values 2014-04-23 20:13:33 +00:00
peter1138
d0811746e3 (svn r24906) -Fix (24905): Don't trigger on path reservation for waypoints. 2013-01-11 11:54:12 +00:00
peter1138
1e10e91fde (svn r24905) -Feature(ish): Implement station randomisation triggers. 2013-01-11 07:39:25 +00:00
planetmaker
f00d9976f9 (svn r24900) -Fix [FS#5389]: Comments with typos (most fixes supplied by Eagle_rainbow) 2013-01-08 22:46:42 +00:00
michi_cc
72f1a84a6c (svn r24078) -Fix [FS#5093,FS#5130] (r24071): A fix that breaks all other cases isn't really a fix. Redo it to make sure that reservations of trains entering or exiting depots are properly made and freed. 2012-03-29 12:27:34 +00:00
michi_cc
d65352ed6f (svn r24071) -Fix [FS#5093]: Reversing trains while they were entering or leaving a depot could lead to stuck trains. 2012-03-25 23:42:49 +00:00
michi_cc
0e96bd02c8 (svn r23564) -Fix [FS#4888]: Extending a path reservation starting at a partially reserved rail station could fail. 2011-12-17 02:02:28 +00:00
rubidium
701bd8848a (svn r22017) -Codechange: move MarkTileDirtyByTile to viewport_func.h 2011-02-07 22:29:47 +00:00
michi_cc
8ac286f229 (svn r20156) -Fix [FS#3937]: [YAPP] Converting a one-way block to a path signal with trains on both sides could lead to a train crash. 2010-07-15 19:15:21 +00:00
michi_cc
72b15f0c73 (svn r19425) -Fix: [YAPP] A train on a bridge/tunnel was not always found when checking for trains on a reserved path. 2010-03-14 20:57:23 +00:00
alberth
01562e2dfc (svn r19272) -Doc: successfull -> successful. 2010-02-27 12:29:44 +00:00
rubidium
9467b7c6d6 (svn r18809) -Codechange/Cleanup: remove unneeded headers from some files, if a header require a header make it include that header 2010-01-15 16:41:15 +00:00
michi_cc
6c737cf108 (svn r18648) -Fix/Feature [FS#3430-ish]: [YAPP] Treat the backside of an one-way path signals as a safe waiting point. 2009-12-27 14:37:54 +00:00
michi_cc
3ecd08be01 (svn r18647) -Fix: [YAPP] A train inside a station was not always found when checking for trains on a reserved path. 2009-12-27 14:37:50 +00:00
rubidium
5e2a1a46ed (svn r18420) -Codechange: split YAPF's track follower from the actual YAPF code 2009-12-07 08:41:18 +00:00
frosch
5a775cb93f (svn r18392) -Fix (r13956)[FS#3345]: [YAPP] Trains on bridges were not found, when searching for the origin of a reservation. (Hirundo) 2009-12-03 18:44:33 +00:00
rubidium
2f3053508d (svn r18364) -Codechange: move the pathfinders and their related files into a separate directory 2009-12-01 22:45:39 +00:00
smatz
fa937901cb (svn r17701) -Codechange: don't start line with a space if it's not inside comment 2009-10-04 20:51:50 +00:00
rubidium
982b8ee5fc (svn r17693) -Cleanup: remove some unneeded includes 2009-10-04 17:16:41 +00:00
rubidium
310465da07 (svn r17570) -Fix: a number of Doxygen warnings about missing parameters, which were sometimes missing and sometimes just typos 2009-09-19 09:51:14 +00:00
rubidium
99d46e0ad7 (svn r17248) -Fix: add GPL license notice where appropriate 2009-08-21 20:21:05 +00:00
rubidium
196856f54e (svn r16939) -Codechange: s/RailwayStation/RailStation/ to unify the way it's written. 2009-07-24 11:47:12 +00:00
rubidium
00a9b2fd3d (svn r16938) -Codechange: introduce helper function to tell whether a tile is either a rail station or rail waypoint tile 2009-07-24 11:15:11 +00:00
rubidium
100cb17fa8 (svn r16909) -Fix [FS#2996]: NewGRF stations would be triggering assertions all over the place when using the more advanced station types.
-Change: make (rail) waypoints sub classes of 'base stations', make buoys waypoints and unify code between them where possible.
2009-07-22 08:59:57 +00:00
rubidium
9eaee690bc (svn r16908) -Codechange: s/DepotWaypointReservation/DepotReservation/ 2009-07-22 08:52:41 +00:00
rubidium
f1d6561cc4 (svn r16907) -Codechange: make a more clear distinction between reservation functions that return a bool and that return TrackBits; GetRailStationReservation vs GetRailwayStationReservation, which one returns the bool and which one the TrackBits? 2009-07-21 22:37:10 +00:00
smatz
af85994f7f (svn r16527) -Codechange: use static member functions instead of simple casts when converting Vehicle to specialised vehicle types. Includes safety check 2009-06-06 16:54:22 +00:00
rubidium
6350648a6c (svn r16392) -Codechange: move some variables (the ones that aren't caches) from VehicleRail to Train 2009-05-22 22:33:05 +00:00
rubidium
1324100d69 (svn r16391) -Codechange: use Train instead of Vehicle where appropriate. 2009-05-22 22:22:46 +00:00
rubidium
86fc432293 (svn r16382) -Codechange: make GetVehicleTrackdir a member function of Vehicle. 2009-05-22 18:17:20 +00:00
smatz
05db91dc65 (svn r16349) -Codechange: rename IsPlainRailTile() to IsPlainRail(), introduce shiny new IsPlainRailTile() 2009-05-18 01:26:23 +00:00
smatz
9021c20b5e (svn r15299) -Cleanup: remove many redundant includes 2009-01-31 20:16:06 +00:00
michi_cc
8f5354f2df (svn r14876) -Fix [FS#2509] (r14849): Reserved path loop detection was broken for stations.
Don't set the test tile to the tile the very first iteration handles. Update the test tile instead in the loop.
2009-01-06 17:11:37 +00:00
michi_cc
cca22794d1 (svn r14849) -Fix [FS#2478]: A train meeting its end could lead to an endless loop. 2009-01-05 20:28:51 +00:00
michi_cc
166793bd93 (svn r14428) -Fix [FS#2306]: A 90-degree curve can be a safe waiting position if they are forbidden for trains. 2008-10-01 15:48:44 +00:00
rubidium
6e67ea1f9d (svn r14258) -Codechange: rework the way to query the vehicle hash to make sure it always results in the same irregardless of the order of the hash-linked-list.
-Fix: desync in PBS reservation following, vehicle flooding and road vehicle overtake/follow code.
2008-09-07 11:23:10 +00:00
smatz
c45a143e27 (svn r14109) -Fix (r14107): marking reserved tile dirty is needed for waypoints and stations even when patch option is disabled 2008-08-20 16:06:27 +00:00
smatz
506a6ffe57 (svn r14107) -Codechange: marking reserved tile dirty twice (and even when patch option is off) is not needed 2008-08-20 15:21:03 +00:00
frosch
ba1b3c7f11 (svn r13974) -Fix [YAPP]: A train crash could lead to stale reservations. (michi_cc) 2008-08-03 14:16:57 +00:00
rubidium
1e549a0fcc (svn r13966) -Codechange [YAPP]: Bar level crossings upon path reservation. (michi_cc) 2008-08-02 22:57:18 +00:00