From e640900e8ac5e35dad2242bda391903a04906852 Mon Sep 17 00:00:00 2001 From: rubidium Date: Tue, 24 Jul 2007 21:48:50 +0000 Subject: (svn r10681) -Codechange: do not determine whether a tile is a hangar based on the graphics index to be drawn on the given tile, but do it based on the specification of the location of hangars of the airport. --- src/station_cmd.cpp | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) (limited to 'src/station_cmd.cpp') diff --git a/src/station_cmd.cpp b/src/station_cmd.cpp index df788d997..1c858c91a 100644 --- a/src/station_cmd.cpp +++ b/src/station_cmd.cpp @@ -78,6 +78,26 @@ DEFINE_OLD_POOL(Station, Station, StationPoolNewBlock, StationPoolCleanBlock) DEFINE_OLD_POOL(RoadStop, RoadStop, RoadStopPoolNewBlock, NULL) +/** + * Check whether the given tile is a hangar. + * @param t the tile to of whether it is a hangar. + * @pre IsTileType(t, MP_STATION) + * @return true if and only if the tile is a hangar. + */ +bool IsHangar(TileIndex t) +{ + assert(IsTileType(t, MP_STATION)); + + const Station *st = GetStationByTile(t); + const AirportFTAClass *apc = st->Airport(); + + for (uint i = 0; i < apc->nof_depots; i++) { + if (st->airport_tile + ToTileIndexDiff(apc->airport_depots[i]) == t) return true; + } + + return false; +} + RoadStop* GetRoadStopByTile(TileIndex tile, RoadStop::Type type) { const Station* st = GetStationByTile(tile); -- cgit v1.2.3-54-g00ecf