diff options
author | rubidium <rubidium@openttd.org> | 2008-09-14 16:49:21 +0000 |
---|---|---|
committer | rubidium <rubidium@openttd.org> | 2008-09-14 16:49:21 +0000 |
commit | 7c8a50d7d899c6e5694825ecc8dad950adbc4079 (patch) | |
tree | 6599ac9d18b051b738f2d51222213f17d5bf3bfc | |
parent | 5df524ecc0dfb016fa561cdb48451467288c814f (diff) | |
download | openttd-7c8a50d7d899c6e5694825ecc8dad950adbc4079.tar.xz |
(svn r14324) -Fix [FS#2241]: free any blocks that a helicopter may have on an oilrig when the helicopter gets forcefully removed (bankruptcy). For other airports this isn't needed as they can't be used by multiple companies.
-rw-r--r-- | src/vehicle.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/vehicle.cpp b/src/vehicle.cpp index ce757c470..943fc7076 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -651,6 +651,11 @@ void Vehicle::PreDestructor() } if (this->type == VEH_ROAD) ClearSlot(this); + if (this->type == VEH_AIRCRAFT && this->IsPrimaryVehicle()) { + Station *st = GetStation(this->u.air.targetairport); + const AirportFTA *layout = st->Airport()->layout; + CLRBITS(st->airport_flags, layout[this->u.air.previous_pos].block | layout[this->u.air.pos].block); + } if (this->type != VEH_TRAIN || (this->type == VEH_TRAIN && (IsFrontEngine(this) || IsFreeWagon(this)))) { InvalidateWindowData(WC_VEHICLE_DEPOT, this->tile); |