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 | 9f619f91b382985891a234138d2efa79cfe9ec29 (patch) | |
tree | 931c3875fce3f210d8676944d6ea635dac295fc7 /src/landscape.cpp | |
parent | ada241e279539890447574c4386603dcaae1d3d6 (diff) | |
download | openttd-9f619f91b382985891a234138d2efa79cfe9ec29.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/landscape.cpp')
-rw-r--r-- | src/landscape.cpp | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/src/landscape.cpp b/src/landscape.cpp index 8745fa19f..5641c8924 100644 --- a/src/landscape.cpp +++ b/src/landscape.cpp @@ -437,9 +437,18 @@ void DoClearSquare(TileIndex tile) MarkTileDirtyByTile(tile); } -uint32 GetTileTrackStatus(TileIndex tile, TransportType mode, uint sub_mode) +/** Returns trackdirbits in lower two bytes and additional info about track status in upper two bytes + * If there is any trackbit at 'side', return all trackdirbits. + * For TRANSPORT_ROAD, return 0 if there is no roadbit (of given subtype) at given side. + * @param tile tile to get info about + * @param mode transport type + * @param sub_mode for TRANSPORT_ROAD, roadtypes to check + * @param side side we are entering from, INVALID_DIAGDIR to return all trackbits + * @return trackdirbits and other info depending on 'mode' + */ +uint32 GetTileTrackStatus(TileIndex tile, TransportType mode, uint sub_mode, DiagDirection side) { - return _tile_type_procs[GetTileType(tile)]->get_tile_track_status_proc(tile, mode, sub_mode); + return _tile_type_procs[GetTileType(tile)]->get_tile_track_status_proc(tile, mode, sub_mode, side); } void ChangeTileOwner(TileIndex tile, PlayerID old_player, PlayerID new_player) |