(svn r12177) -Codechange: use 'side' parameter in GetTileTrackStatus so there can be less checks in pathfinders for depots/stations/tunnels/bridges

This commit is contained in:
smatz
2008-02-18 16:11:31 +00:00
parent a0a225ab02
commit 29125c0e68
13 changed files with 68 additions and 30 deletions

View File

@@ -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)