From 7da224d29d4af6333d187ccbf5104e6a1bf805f9 Mon Sep 17 00:00:00 2001 From: Michael Lutz Date: Mon, 18 Jan 2021 21:11:38 +0100 Subject: Fix #8589, 653e7fa548: Motion counter is NewGRF-visible but not saved, leading to desyncs. (#8591) --- src/saveload/saveload.h | 1 + src/saveload/vehicle_sl.cpp | 1 + 2 files changed, 2 insertions(+) diff --git a/src/saveload/saveload.h b/src/saveload/saveload.h index f5ec936a2..fb7761128 100644 --- a/src/saveload/saveload.h +++ b/src/saveload/saveload.h @@ -322,6 +322,7 @@ enum SaveLoadVersion : uint16 { SLV_END_PATCHPACKS = 286, ///< 286 Last known patchpack to use a version just above ours. SLV_GS_INDUSTRY_CONTROL, ///< 287 PR#7912 and PR#8115 GS industry control. + SLV_VEH_MOTION_COUNTER, ///< 288 PR#8591 Desync safe motion counter SL_MAX_VERSION, ///< Highest possible saveload version }; diff --git a/src/saveload/vehicle_sl.cpp b/src/saveload/vehicle_sl.cpp index 94bc37fb8..131d31519 100644 --- a/src/saveload/vehicle_sl.cpp +++ b/src/saveload/vehicle_sl.cpp @@ -612,6 +612,7 @@ const SaveLoad *GetVehicleDescription(VehicleType vt) SLE_VAR(Vehicle, cur_speed, SLE_UINT16), SLE_VAR(Vehicle, subspeed, SLE_UINT8), SLE_VAR(Vehicle, acceleration, SLE_UINT8), + SLE_CONDVAR(Vehicle, motion_counter, SLE_UINT32, SLV_VEH_MOTION_COUNTER, SL_MAX_VERSION), SLE_VAR(Vehicle, progress, SLE_UINT8), SLE_VAR(Vehicle, vehstatus, SLE_UINT8), -- cgit v1.2.3-70-g09d2