summaryrefslogtreecommitdiff
path: root/rail_cmd.c
diff options
context:
space:
mode:
authorDarkvater <darkvater@openttd.org>2005-05-15 16:30:02 +0000
committerDarkvater <darkvater@openttd.org>2005-05-15 16:30:02 +0000
commit3fd39ec6303c06b5ce965ceb69f7d8909547a99d (patch)
tree173b5acaea9f17b34433a924a789ced3a9a34c39 /rail_cmd.c
parent89587c1d5180617cec62342d585661481a364e68 (diff)
downloadopenttd-3fd39ec6303c06b5ce965ceb69f7d8909547a99d.tar.xz
(svn r2322) - CodeChange: doxygen commented the tunnel-crash fix. Also if (bla) {return;} else {return;} is not proper code. It's if (bla) {return;} return; ;)
Diffstat (limited to 'rail_cmd.c')
-rw-r--r--rail_cmd.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/rail_cmd.c b/rail_cmd.c
index 28c5e5a4d..42516594b 100644
--- a/rail_cmd.c
+++ b/rail_cmd.c
@@ -1619,6 +1619,10 @@ bool SignalVehicleCheck(TileIndex tile, uint track)
dest.tile = tile;
dest.track = track;
+ /** @todo "Hackish" fix for the tunnel problems. This is needed because a tunnel
+ * is some kind of invisible black hole, and there is some special magic going
+ * on in there. This 'workaround' can be removed once the maprewrite is done.
+ */
if (GetTileType(tile)==MP_TUNNELBRIDGE && ((_map5[tile] & 0xF0)==0)) {
// It is a tunnel we're checking, we need to do some special stuff
// because VehicleFromPos will not find the vihicle otherwise
@@ -1628,12 +1632,10 @@ bool SignalVehicleCheck(TileIndex tile, uint track)
dest.track = 1 << (direction & 1); // get the trackbit the vehicle would have if it has not entered the tunnel yet (ie is still visible)
// check for a vehicle with that trackdir on the start tile of the tunnel
- if (VehicleFromPos(tile, &dest, SignalVehicleCheckProc) != NULL)
- return true;
+ if (VehicleFromPos(tile, &dest, SignalVehicleCheckProc) != NULL) return true;
// check for a vehicle with that trackdir on the end tile of the tunnel
- if (VehicleFromPos(flotr.tile, &dest, SignalVehicleCheckProc) != NULL)
- return true;
+ if (VehicleFromPos(flotr.tile, &dest, SignalVehicleCheckProc) != NULL) return true;
// now check all tiles from start to end for a "hidden" vehicle
// NOTE: the hashes for tiles may overlap, so this could maybe be optimised a bit by not checking every tile?
@@ -1645,9 +1647,9 @@ bool SignalVehicleCheck(TileIndex tile, uint track)
// no vehicle found
return false;
- } else {
- return VehicleFromPos(tile, &dest, SignalVehicleCheckProc) != NULL;
- };
+ }
+
+ return VehicleFromPos(tile, &dest, SignalVehicleCheckProc) != NULL;
}
static void SetSignalsAfterProc(TrackPathFinder *tpf)