diff options
author | smatz <smatz@openttd.org> | 2009-01-23 15:37:44 +0000 |
---|---|---|
committer | smatz <smatz@openttd.org> | 2009-01-23 15:37:44 +0000 |
commit | e3cc807c7a84a174f25cfe16e565edd9f4912e5e (patch) | |
tree | 83f9fb3c64abd1ff85aeb97cd4ac57afbe645a9a /src | |
parent | ceb60b426e2af1866d98431b9d86a9659b0d766f (diff) | |
download | openttd-e3cc807c7a84a174f25cfe16e565edd9f4912e5e.tar.xz |
(svn r15227) -Fix [FS#2571](r1): aircraft could be 'loading in the air' after converting old savegames
Diffstat (limited to 'src')
-rw-r--r-- | src/saveload/vehicle_sl.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 33f043b45..1afd2b4f4 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -181,6 +181,10 @@ void UpdateOldAircraft() AircraftLeaveHangar(v_oldstyle); // make airplane visible if it was in a depot for example v_oldstyle->vehstatus &= ~VS_STOPPED; // make airplane moving + if (!v_oldstyle->current_order.IsType(OT_GOTO_STATION) && !v_oldstyle->current_order.IsType(OT_GOTO_DEPOT)) { + /* reset current order so aircraft doesn't have invalid "station-only" order */ + v_oldstyle->current_order.MakeDummy(); + } v_oldstyle->u.air.state = FLYING; AircraftNextAirportPos_and_Order(v_oldstyle); // move it to the entry point of the airport GetNewVehiclePosResult gp = GetNewVehiclePos(v_oldstyle); |