mirror of https://github.com/OpenTTD/OpenTTD
(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.
parent
fe8e297995
commit
e640900e8a
|
@ -78,6 +78,26 @@ DEFINE_OLD_POOL(Station, Station, StationPoolNewBlock, StationPoolCleanBlock)
|
||||||
DEFINE_OLD_POOL(RoadStop, RoadStop, RoadStopPoolNewBlock, NULL)
|
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)
|
RoadStop* GetRoadStopByTile(TileIndex tile, RoadStop::Type type)
|
||||||
{
|
{
|
||||||
const Station* st = GetStationByTile(tile);
|
const Station* st = GetStationByTile(tile);
|
||||||
|
|
|
@ -42,15 +42,6 @@ enum {
|
||||||
GFX_WINDSACK_INTERCON_LAST = 143,
|
GFX_WINDSACK_INTERCON_LAST = 143,
|
||||||
};
|
};
|
||||||
|
|
||||||
enum HangarTile {
|
|
||||||
HANGAR_TILE_0 = 24,
|
|
||||||
HANGAR_TILE_1 = 57,
|
|
||||||
HANGAR_TILE_2 = 62,
|
|
||||||
HANGAR_TILE_3 = 105, // added for west facing hangar
|
|
||||||
HANGAR_TILE_4 = 106, // added for north facing hangar
|
|
||||||
HANGAR_TILE_5 = 107 // added for east facing hangar
|
|
||||||
};
|
|
||||||
|
|
||||||
static inline StationType GetStationType(TileIndex t)
|
static inline StationType GetStationType(TileIndex t)
|
||||||
{
|
{
|
||||||
return (StationType)GB(_m[t].m6, 3, 3);
|
return (StationType)GB(_m[t].m6, 3, 3);
|
||||||
|
@ -89,17 +80,7 @@ static inline bool IsAirport(TileIndex t)
|
||||||
return GetStationType(t) == STATION_AIRPORT;
|
return GetStationType(t) == STATION_AIRPORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline bool IsHangar(TileIndex t)
|
bool IsHangar(TileIndex t);
|
||||||
{
|
|
||||||
StationGfx gfx = GetStationGfx(t);
|
|
||||||
return IsAirport(t) && (
|
|
||||||
gfx == HANGAR_TILE_0 ||
|
|
||||||
gfx == HANGAR_TILE_1 ||
|
|
||||||
gfx == HANGAR_TILE_2 ||
|
|
||||||
gfx == HANGAR_TILE_3 ||
|
|
||||||
gfx == HANGAR_TILE_4 ||
|
|
||||||
gfx == HANGAR_TILE_5);
|
|
||||||
}
|
|
||||||
|
|
||||||
static inline bool IsTruckStop(TileIndex t)
|
static inline bool IsTruckStop(TileIndex t)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue