aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/saves.h
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/saves.h')
-rw-r--r--engines/xeen/saves.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/engines/xeen/saves.h b/engines/xeen/saves.h
index ed4b80b29d..6b73625c61 100644
--- a/engines/xeen/saves.h
+++ b/engines/xeen/saves.h
@@ -24,6 +24,7 @@
#define XEEN_SAVES_H
#include "common/scummsys.h"
+#include "common/memstream.h"
#include "common/savefile.h"
#include "graphics/surface.h"
#include "xeen/party.h"
@@ -40,12 +41,27 @@ struct XeenSavegameHeader {
int _totalFrames;
};
+class XeenEngine;
+class SavesManager;
+
+class OutFile : public Common::MemoryWriteStreamDynamic {
+private:
+ XeenEngine *_vm;
+ Common::String _filename;
+public:
+ OutFile(XeenEngine *vm, const Common::String filename);
+
+ void finalize();
+};
+
class SavesManager: public BaseCCArchive {
+ friend class OutFile;
private:
XeenEngine *_vm;
Party &_party;
Roster &_roster;
byte *_data;
+ Common::HashMap<uint16, Common::MemoryWriteStreamDynamic > _newData;
void load(Common::SeekableReadStream *stream);
public: