diff --git a/src/engine.cpp b/src/engine.cpp --- a/src/engine.cpp +++ b/src/engine.cpp @@ -477,6 +477,7 @@ void SetCachedEngineCounts() /* Recalculate */ Group *g; FOR_ALL_GROUPS(g) { + g->num_vehicle = 0; free(g->num_engines); g->num_engines = CallocT(engines); } @@ -496,6 +497,7 @@ void SetCachedEngineCounts() assert(v->owner == g->owner); g->num_engines[v->engine_type]++; + if (v->IsPrimaryVehicle()) g->num_vehicle++; } } diff --git a/src/saveload/group_sl.cpp b/src/saveload/group_sl.cpp --- 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),