diff options
-rw-r--r-- | src/openttd.cpp | 4 | ||||
-rw-r--r-- | src/vehicle.cpp | 4 | ||||
-rw-r--r-- | src/vehicle_base.h | 4 |
3 files changed, 6 insertions, 6 deletions
diff --git a/src/openttd.cpp b/src/openttd.cpp index b2c42ccf2..8fbdd0b11 100644 --- a/src/openttd.cpp +++ b/src/openttd.cpp @@ -1371,7 +1371,7 @@ bool AfterLoadGame() InitializeLandscapeVariables(true); /* Update all vehicles */ - AfterLoadVehicles(); + AfterLoadVehicles(true); /* Update all waypoints */ if (CheckSavegameVersion(12)) FixOldWaypoints(); @@ -2284,7 +2284,7 @@ void ReloadNewGRFData() LoadStringWidthTable(); /* reload vehicles */ ResetVehiclePosHash(); - AfterLoadVehicles(); + AfterLoadVehicles(false); StartupEngines(); /* update station and waypoint graphics */ AfterLoadWaypoints(); diff --git a/src/vehicle.cpp b/src/vehicle.cpp index 81b384011..ee81b929b 100644 --- a/src/vehicle.cpp +++ b/src/vehicle.cpp @@ -212,7 +212,7 @@ void VehiclePositionChanged(Vehicle *v) } /** Called after load to update coordinates */ -void AfterLoadVehicles() +void AfterLoadVehicles(bool clear_te_id) { Vehicle *v; @@ -222,7 +222,7 @@ void AfterLoadVehicles() v->UpdateDeltaXY(v->direction); - v->fill_percent_te_id = INVALID_TE_ID; + if (clear_te_id) v->fill_percent_te_id = INVALID_TE_ID; v->first = NULL; if (v->type == VEH_TRAIN) v->u.rail.first_engine = INVALID_ENGINE; if (v->type == VEH_ROAD) v->u.road.first_engine = INVALID_ENGINE; diff --git a/src/vehicle_base.h b/src/vehicle_base.h index 751c320f1..2f28bc4fe 100644 --- a/src/vehicle_base.h +++ b/src/vehicle_base.h @@ -181,7 +181,7 @@ DECLARE_OLD_POOL(Vehicle, Vehicle, 9, 125) /* Some declarations of functions, so we can make them friendly */ struct SaveLoad; extern const SaveLoad *GetVehicleDescription(VehicleType vt); -extern void AfterLoadVehicles(); +extern void AfterLoadVehicles(bool clear_te_id); struct LoadgameState; extern bool LoadOldVehicle(LoadgameState *ls, int num); @@ -194,7 +194,7 @@ private: Vehicle *first; // NOSAVE: pointer to the first vehicle in the chain public: friend const SaveLoad *GetVehicleDescription(VehicleType vt); // So we can use private/protected variables in the saveload code - friend void AfterLoadVehicles(); // So we can set the previous and first pointers while loading + friend void AfterLoadVehicles(bool clear_te_id); // So we can set the previous and first pointers while loading friend bool LoadOldVehicle(LoadgameState *ls, int num); // So we can set the proper next pointer while loading Vehicle *depot_list; // NOSAVE: linked list to tell what vehicles entered a depot during the last tick. Used by autoreplace |