Changeset - r7320:d06a53381dd1
[Not reviewed]
master
0 2 0
rubidium - 17 years ago 2007-07-24 21:48:50
rubidium@openttd.org
(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.
2 files changed with 21 insertions and 20 deletions:
0 comments (0 inline, 0 general)
src/station_cmd.cpp
Show inline comments
 
@@ -78,6 +78,26 @@ DEFINE_OLD_POOL(Station, Station, Statio
 
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);
src/station_map.h
Show inline comments
 
@@ -42,15 +42,6 @@ enum {
 
	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)
 
{
 
	return (StationType)GB(_m[t].m6, 3, 3);
 
@@ -89,17 +80,7 @@ static inline bool IsAirport(TileIndex t
 
	return GetStationType(t) == STATION_AIRPORT;
 
}
 

	
 
static inline 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);
 
}
 
bool IsHangar(TileIndex t);
 

	
 
static inline bool IsTruckStop(TileIndex t)
 
{
0 comments (0 inline, 0 general)