--- a/src/aircraft_cmd.cpp Thu Apr 10 22:18:33 2008 +0000
+++ b/src/aircraft_cmd.cpp Fri Apr 11 08:14:43 2008 +0000
@@ -546,6 +546,25 @@
return CommandCost();
}
+bool Aircraft::FindClosestDepot(TileIndex *location, DestinationID *destination, bool *reverse)
+{
+ const Station *st = GetStation(this->u.air.targetairport);
+ /* If the station is not a valid airport or if it has no hangars */
+ if (!st->IsValid() || st->airport_tile == 0 || st->Airport()->nof_depots == 0) {
+ /* the aircraft has to search for a hangar on its own */
+ StationID station = FindNearestHangar(this);
+
+ if (station == INVALID_STATION) return false;
+
+ st = GetStation(station);
+ }
+
+ if (location != NULL) *location = st->xy;
+ if (destination != NULL) *destination = st->index;
+
+ return true;
+}
+
/** Send an aircraft to the hangar.
* @param tile unused
* @param flags for command type