aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/riven_saveload.h
diff options
context:
space:
mode:
authorBastien Bouclet2016-07-10 20:43:34 +0200
committerBastien Bouclet2016-07-10 22:01:03 +0200
commitf78bb08b1850b349f28b3cb5f1357fdebd5b8e00 (patch)
tree96e71ba196dd3bc5e69f5a29476dc1dd5b7292bb /engines/mohawk/riven_saveload.h
parent792548f28fd0529077f01a56a026892dfcdcb7b0 (diff)
downloadscummvm-rg350-f78bb08b1850b349f28b3cb5f1357fdebd5b8e00.tar.gz
scummvm-rg350-f78bb08b1850b349f28b3cb5f1357fdebd5b8e00.tar.bz2
scummvm-rg350-f78bb08b1850b349f28b3cb5f1357fdebd5b8e00.zip
MOHAWK: Save ScummVM specific metadata in the Riven saves
- Thumbnail - Save date - Save description - Total play time
Diffstat (limited to 'engines/mohawk/riven_saveload.h')
-rw-r--r--engines/mohawk/riven_saveload.h26
1 files changed, 25 insertions, 1 deletions
diff --git a/engines/mohawk/riven_saveload.h b/engines/mohawk/riven_saveload.h
index a6ddce5713..2ef4326439 100644
--- a/engines/mohawk/riven_saveload.h
+++ b/engines/mohawk/riven_saveload.h
@@ -23,10 +23,13 @@
#ifndef MOHAWK_SAVELOAD_H
#define MOHAWK_SAVELOAD_H
+#include "common/serializer.h"
#include "common/savefile.h"
#include "common/str.h"
#include "common/memstream.h"
+#include "engines/savestate.h"
+
namespace Mohawk {
class MohawkEngine_Riven;
@@ -36,6 +39,22 @@ enum {
kDVDSaveGameVersion = 0x00010100
};
+struct RivenSaveMetadata {
+ uint8 saveDay;
+ uint8 saveMonth;
+ uint16 saveYear;
+
+ uint8 saveHour;
+ uint8 saveMinute;
+
+ uint32 totalPlayTime;
+
+ Common::String saveDescription;
+
+ RivenSaveMetadata();
+ bool sync(Common::Serializer &s);
+};
+
class RivenSaveLoad {
public:
RivenSaveLoad(MohawkEngine_Riven*, Common::SaveFileManager*);
@@ -46,13 +65,18 @@ public:
Common::Error saveGame(Common::String);
void deleteSave(Common::String);
+ static SaveStateDescriptor querySaveMetaInfos(const Common::String &filename);
+ static Common::String querySaveDescription(const Common::String &filename);
+
private:
MohawkEngine_Riven *_vm;
Common::SaveFileManager *_saveFileMan;
- Common::MemoryWriteStreamDynamic *genVERSSection();
Common::MemoryWriteStreamDynamic *genNAMESection();
+ Common::MemoryWriteStreamDynamic *genMETASection(const Common::String &desc) const;
+ Common::MemoryWriteStreamDynamic *genTHMBSection() const;
Common::MemoryWriteStreamDynamic *genVARSSection();
+ Common::MemoryWriteStreamDynamic *genVERSSection();
Common::MemoryWriteStreamDynamic *genZIPSSection();
};