Mercurial > hg > openttd
changeset 4284:2f410312f6e9 draft
(svn r5914) -Fix [FS#235]: Bugfix for errors in FindNearestHangar function in aircraft_cmd.c (mart3p).
author | Darkvater <Darkvater@openttd.org> |
---|---|
date | Tue, 15 Aug 2006 14:38:43 +0000 |
parents | 5179ebca02ec |
children | 8b7fca8ace98 |
files | aircraft_cmd.c |
diffstat | 1 files changed, 5 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/aircraft_cmd.c +++ b/aircraft_cmd.c @@ -63,6 +63,7 @@ const Station *st; uint best = 0; StationID index = INVALID_STATION; + TileIndex vtile = TileVirtXY(v->x_pos, v->y_pos); FOR_ALL_STATIONS(st) { if (st->owner == v->owner && st->facilities & FACIL_AIRPORT && @@ -70,11 +71,13 @@ uint distance; // don't crash the plane if we know it can't land at the airport - if (HASBIT(v->subtype, 1) && st->airport_type == AT_SMALL && + if ((AircraftVehInfo(v->engine_type)->subtype & AIR_FAST) && + (st->airport_type == AT_SMALL || st->airport_type == AT_COMMUTER) && !_cheats.no_jetcrash.value) continue; - distance = DistanceSquare(v->tile, st->airport_tile); + // v->tile can't be used here, when aircraft is flying v->tile is set to 0 + distance = DistanceSquare(vtile, st->airport_tile); if (distance < best || index == INVALID_STATION) { best = distance; index = st->index;