diff options
-rw-r--r-- | engines/lure/lure.cpp | 2 | ||||
-rw-r--r-- | engines/lure/luredefs.h | 3 | ||||
-rw-r--r-- | engines/lure/res_struct.cpp | 6 |
3 files changed, 9 insertions, 2 deletions
diff --git a/engines/lure/lure.cpp b/engines/lure/lure.cpp index 85c2479375..5ea6ed63dc 100644 --- a/engines/lure/lure.cpp +++ b/engines/lure/lure.cpp @@ -169,7 +169,7 @@ bool LureEngine::saveGame(uint8 slotNumber, Common::String &caption) { f->write("lure", 5); f->writeByte(getLanguage()); - f->writeByte(LURE_DAT_MINOR); + f->writeByte(LURE_SAVEGAME_MINOR); f->writeString(caption); f->writeByte(0); // End of string terminator diff --git a/engines/lure/luredefs.h b/engines/lure/luredefs.h index 0c1db09664..b47ec75cf5 100644 --- a/engines/lure/luredefs.h +++ b/engines/lure/luredefs.h @@ -35,7 +35,8 @@ namespace Lure { #define SUPPORT_FILENAME "lure.dat" #define LURE_DAT_MAJOR 1 #define LURE_DAT_MINOR 28 -#define LURE_MIN_SAVEGAME_MINOR 25 +#define LURE_MIN_SAVEGAME_MINOR 25 +#define LURE_SAVEGAME_MINOR 29 #define LURE_DEBUG 1 diff --git a/engines/lure/res_struct.cpp b/engines/lure/res_struct.cpp index e084e8a52c..ffcb6fa8be 100644 --- a/engines/lure/res_struct.cpp +++ b/engines/lure/res_struct.cpp @@ -25,6 +25,7 @@ #include "lure/res.h" #include "lure/disk.h" +#include "lure/lure.h" #include "lure/scripts.h" #include "common/endian.h" @@ -446,6 +447,7 @@ void HotspotData::saveToStream(WriteStream *stream) { stream->writeSint16LE(startX); stream->writeSint16LE(startY); stream->writeUint16LE(roomNumber); + stream->writeByte(layer); stream->writeUint16LE(width); stream->writeUint16LE(height); @@ -490,6 +492,10 @@ void HotspotData::loadFromStream(ReadStream *stream) { startY = stream->readSint16LE(); roomNumber = stream->readUint16LE(); + uint8 saveVersion = LureEngine::getReference().saveVersion(); + if (saveVersion >= 29) + layer = stream->readByte(); + width = stream->readUint16LE(); height = stream->readUint16LE(); widthCopy = stream->readUint16LE(); |