diff options
author | smatz <smatz@openttd.org> | 2008-02-18 16:11:31 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2008-02-18 16:11:31 +0000 |
commit | 29125c0e68ffc3d4627212f33bce39ba108cd341 (patch) | |
tree | 931c3875fce3f210d8676944d6ea635dac295fc7 /src/tunnelbridge_cmd.cpp | |
parent | a0a225ab021f4cbb65679c04898d6f3eb8eb3662 (diff) | |
download | openttd-29125c0e68ffc3d4627212f33bce39ba108cd341.tar.xz |
(svn r12177) -Codechange: use 'side' parameter in GetTileTrackStatus so there can be less checks in pathfinders for depots/stations/tunnels/bridges
Diffstat (limited to 'src/tunnelbridge_cmd.cpp')
-rw-r--r-- | src/tunnelbridge_cmd.cpp | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/src/tunnelbridge_cmd.cpp b/src/tunnelbridge_cmd.cpp index 92ec6b851..4025a7869 100644 --- a/src/tunnelbridge_cmd.cpp +++ b/src/tunnelbridge_cmd.cpp @@ -1193,11 +1193,14 @@ static void ClickTile_TunnelBridge(TileIndex tile) } -static uint32 GetTileTrackStatus_TunnelBridge(TileIndex tile, TransportType mode, uint sub_mode) +static uint32 GetTileTrackStatus_TunnelBridge(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side) { TransportType transport_type = GetTunnelBridgeTransportType(tile); if (transport_type != mode || (transport_type == TRANSPORT_ROAD && (GetRoadTypes(tile) & sub_mode) == 0)) return 0; - return AxisToTrackBits(DiagDirToAxis(GetTunnelBridgeDirection(tile))) * 0x101; + + DiagDirection dir = GetTunnelBridgeDirection(tile); + if (side != INVALID_DIAGDIR && side != ReverseDiagDir(dir)) return 0; + return AxisToTrackBits(DiagDirToAxis(dir)) * 0x101; } static void ChangeTileOwner_TunnelBridge(TileIndex tile, PlayerID old_player, PlayerID new_player) |