Changeset - r10138:5b63d0853f23
[Not reviewed]
master
0 1 0
rubidium - 16 years ago 2008-09-14 16:49:21
rubidium@openttd.org
(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.
1 file changed with 5 insertions and 0 deletions:
0 comments (0 inline, 0 general)
src/vehicle.cpp
Show inline comments
 
@@ -648,12 +648,17 @@ void Vehicle::PreDestructor()
 

	
 
		if (IsValidGroupID(this->group_id)) GetGroup(this->group_id)->num_engines[this->engine_type]--;
 
		if (this->IsPrimaryVehicle()) DecreaseGroupNumVehicle(this->group_id);
 
	}
 

	
 
	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);
 
	}
 

	
 
	this->cargo.Truncate(0);
0 comments (0 inline, 0 general)