From 62bdc381e7dffac0e4898ba733bbfc434fdd00b4 Mon Sep 17 00:00:00 2001 From: rubidium Date: Fri, 11 Apr 2008 08:14:43 +0000 Subject: (svn r12657) -Codechange: add 'FindClosestDepot' to the vehicle class. --- src/aircraft_cmd.cpp | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/aircraft_cmd.cpp') diff --git a/src/aircraft_cmd.cpp b/src/aircraft_cmd.cpp index 83d452b12..0fc9b3a3a 100644 --- a/src/aircraft_cmd.cpp +++ b/src/aircraft_cmd.cpp @@ -546,6 +546,25 @@ CommandCost CmdStartStopAircraft(TileIndex tile, uint32 flags, uint32 p1, uint32 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 -- cgit v1.2.3-54-g00ecf