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 /src/vehicle.cpp | |
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.
Diffstat (limited to 'src/vehicle.cpp')
-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); |