summaryrefslogtreecommitdiff
path: root/rail_cmd.c
diff options
context:
space:
mode:
authorhackykid <hackykid@openttd.org>2005-07-17 18:48:45 +0000
committerhackykid <hackykid@openttd.org>2005-07-17 18:48:45 +0000
commitedbe969d239c45909ce557e1a81ce9be9ed89664 (patch)
tree1ff7c0adfa5f0d4570301b249ad35e767f57d1b7 /rail_cmd.c
parentdf08e10cfabaf817af22433742627e244ebe1442 (diff)
downloadopenttd-edbe969d239c45909ce557e1a81ce9be9ed89664.tar.xz
(svn r2621) - Fix: [pbs] When removing tracks, clear their reserved status.
Diffstat (limited to 'rail_cmd.c')
-rw-r--r--rail_cmd.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/rail_cmd.c b/rail_cmd.c
index 825a357e8..f665dbdc0 100644
--- a/rail_cmd.c
+++ b/rail_cmd.c
@@ -486,6 +486,10 @@ int32 CmdRemoveSingleRail(int x, int y, uint32 flags, uint32 p1, uint32 p2)
/* We remove the trackbit here. */
_m[tile].m5 &= ~trackbit;
+ /* Unreserve track for PBS */
+ if (PBSTileReserved(tile) & trackbit)
+ PBSClearTrack(tile, track);
+
if (GetTrackBits(tile) == 0) {
/* The tile has no tracks left, it is no longer a rail tile */
DoClearSquare(tile);