(svn r18860) -Codechange: introduce a wrapper to get an hangar tile from a station

This commit is contained in:
yexo
2010-01-18 14:32:47 +00:00
parent 565ad802b1
commit a1f28ec88b
6 changed files with 15 additions and 11 deletions

View File

@@ -109,7 +109,7 @@
if (st->owner != _current_company) return INVALID_TILE;
if ((st->facilities & FACIL_AIRPORT) == 0) return INVALID_TILE;
return ::ToTileIndexDiff(st->GetAirportSpec()->depot_table[0]) + st->airport_tile;
return st->GetHangarTile(0);
}
/* static */ AIAirport::AirportType AIAirport::GetAirportType(TileIndex tile)

View File

@@ -31,7 +31,7 @@ AIDepotList::AIDepotList(AITile::TransportType transport_type)
if (st->owner == ::_current_company) {
const AirportSpec *as = st->GetAirportSpec();
for (uint i = 0; i < as->nof_depots; i++) {
this->AddItem(st->airport_tile + ToTileIndexDiff(as->depot_table[i]));
this->AddItem(st->GetHangarTile(i));
}
}
}

View File

@@ -181,9 +181,8 @@ static const Order *ResolveOrder(VehicleID vehicle_id, AIOrder::OrderPosition or
if (v->type != VEH_AIRCRAFT) return ::Depot::Get(order->GetDestination())->xy;
/* Aircraft's hangars are referenced by StationID, not DepotID */
const Station *st = ::Station::Get(order->GetDestination());
const AirportSpec *as = st->GetAirportSpec();
if (as == NULL || as->nof_depots == 0) return INVALID_TILE;
return st->airport_tile + ::ToTileIndexDiff(as->depot_table[0]);
if (st->GetAirportSpec()->nof_depots == 0) return INVALID_TILE;
return st->GetHangarTile(0);
}
case OT_GOTO_STATION: {