summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpeter1138 <peter1138@openttd.org>2008-01-01 15:06:37 +0000
committerpeter1138 <peter1138@openttd.org>2008-01-01 15:06:37 +0000
commitaab495604a62979f5e880cfe19d6be560f3bd51e (patch)
treeb3924d36a4852bb03fa1ac648b54e9a2732d84b3
parent3dd61f423ad6c79f319388625f2223d0e46a2f16 (diff)
downloadopenttd-aab495604a62979f5e880cfe19d6be560f3bd51e.tar.xz
(svn r11735) -Fix [FS#1574]: Don't reset loading indicator IDs when only reloading NewGRFs.
-rw-r--r--src/openttd.cpp4
-rw-r--r--src/vehicle.cpp4
-rw-r--r--src/vehicle_base.h4
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