diff options
author | hackykid <hackykid@openttd.org> | 2005-07-04 15:25:06 +0000 |
---|---|---|
committer | hackykid <hackykid@openttd.org> | 2005-07-04 15:25:06 +0000 |
commit | 6b3b784c85ee25a5a96fc8c4393484e1a4cbb088 (patch) | |
tree | 38d7c8f0c36336e323b4b6ee3472182a26f8b704 /npf.c | |
parent | ab9c6f126d54f6edd1464c57bf338cf68965e657 (diff) | |
download | openttd-6b3b784c85ee25a5a96fc8c4393484e1a4cbb088.tar.xz |
(svn r2517) - Fix: [pbs] Detect end-of-lines properly regarding depots.
Diffstat (limited to 'npf.c')
-rw-r--r-- | npf.c | 8 |
1 files changed, 4 insertions, 4 deletions
@@ -37,8 +37,8 @@ bool IsEndOfLine(TileIndex tile, Trackdir trackdir) return false; // depot - if (IsTileDepotType(tile, TRANSPORT_RAIL)) - return false; + if (IsTileDepotType(tile, TRANSPORT_RAIL) && (exitdir != GetDepotDirection(tile, TRANSPORT_RAIL))) + return true; /* Calculate next tile */ dst_tile = tile + TileOffsByDir(exitdir); @@ -51,14 +51,14 @@ bool IsEndOfLine(TileIndex tile, Trackdir trackdir) { byte src_type = GetTileRailType(tile, trackdir); - byte dst_type = GetTileRailType(dst_tile, TrackdirToExitdir(trackdir)); + byte dst_type = GetTileRailType(dst_tile, exitdir); if (src_type != dst_type) { return true; } if (GetTileOwner(tile) != GetTileOwner(dst_tile)) return true; - if (IsTileDepotType(dst_tile, TRANSPORT_RAIL) && (TrackdirToExitdir(trackdir) != ReverseDiagdir(GetDepotDirection(dst_tile, TRANSPORT_RAIL)))) + if (IsTileDepotType(dst_tile, TRANSPORT_RAIL) && (exitdir != ReverseDiagdir(GetDepotDirection(dst_tile, TRANSPORT_RAIL)))) return true; /* Check for oneway signal against us */ |