summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorwithmorten <morten.with@gmail.com>2021-07-19 23:39:19 +0200
committerwithmorten <morten.with@gmail.com>2021-07-19 23:43:51 +0200
commita437d2bc2611166b9dbbe3072cea9f9307b98838 (patch)
treed4e53c02a4bb4109a1572fd848aae8f46bc61e14 /src
parentd0404cbdb77bd82abf578ce28093990db94743f2 (diff)
fix garbage data written in garage save block
Diffstat (limited to 'src')
-rw-r--r--src/control/Garages.cpp3
-rw-r--r--src/core/config.h2
2 files changed, 4 insertions, 1 deletions
diff --git a/src/control/Garages.cpp b/src/control/Garages.cpp
index 91971ae7..245e961d 100644
--- a/src/control/Garages.cpp
+++ b/src/control/Garages.cpp
@@ -2306,6 +2306,9 @@ void CGarages::Save(uint8 * buf, uint32 * size)
#else
* size = 5484;
#endif
+#if !defined THIS_IS_STUPID && !defined FIX_GARAGE_SIZE && defined COMPATIBLE_SAVES
+ memset(buf + 5240, 0, *size - 5240); // garbage data is written otherwise
+#endif
CloseHideOutGaragesBeforeSave();
WriteSaveBuf(buf, NumGarages);
WriteSaveBuf(buf, (uint32)BombsAreFree);
diff --git a/src/core/config.h b/src/core/config.h
index 8f5cfb3d..f0960e44 100644
--- a/src/core/config.h
+++ b/src/core/config.h
@@ -259,7 +259,7 @@ enum Config {
#define FIX_BUGS // fixes bugs that we've came across during reversing. You can undefine this only on release builds.
#define MORE_LANGUAGES // Add more translations to the game
-#define COMPATIBLE_SAVES // this allows changing structs while keeping saves compatible, and keeps saves compatible between platforms
+#define COMPATIBLE_SAVES // this allows changing structs while keeping saves compatible, and keeps saves compatible between platforms, needs to be enabled on 64bit builds!
#define FIX_INCOMPATIBLE_SAVES // try to fix incompatible saves, requires COMPATIBLE_SAVES
#define LOAD_INI_SETTINGS // as the name suggests. fundamental for CUSTOM_FRONTEND_OPTIONS