changeset 18150:3900e58346da draft

(svn r22975) -Codechange: Do not store Group::num_vehicle in the savegame, but compute it like num_engines on load.
author frosch <frosch@openttd.org>
date Mon, 03 Oct 2011 17:19:54 +0000
parents cc35a0c0be5a
children 98b63013cba3
files src/engine.cpp src/saveload/group_sl.cpp
diffstat 2 files changed, 3 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/engine.cpp
+++ b/src/engine.cpp
@@ -477,6 +477,7 @@
 	/* Recalculate */
 	Group *g;
 	FOR_ALL_GROUPS(g) {
+		g->num_vehicle = 0;
 		free(g->num_engines);
 		g->num_engines = CallocT<EngineID>(engines);
 	}
@@ -496,6 +497,7 @@
 		assert(v->owner == g->owner);
 
 		g->num_engines[v->engine_type]++;
+		if (v->IsPrimaryVehicle()) g->num_vehicle++;
 	}
 }
 
--- a/src/saveload/group_sl.cpp
+++ b/src/saveload/group_sl.cpp
@@ -17,7 +17,7 @@
 static const SaveLoad _group_desc[] = {
   SLE_CONDVAR(Group, name,           SLE_NAME,    0, 83),
   SLE_CONDSTR(Group, name,           SLE_STR, 0, 84, SL_MAX_VERSION),
-  SLE_VAR(Group, num_vehicle,        SLE_UINT16),
+  SLE_CONDNULL(2,                                 0, 163), // num_vehicle
   SLE_VAR(Group, owner,              SLE_UINT8),
   SLE_VAR(Group, vehicle_type,       SLE_UINT8),
   SLE_VAR(Group, replace_protection, SLE_BOOL),