diff options
author | Paul Gilbert | 2018-01-11 21:31:48 -0500 |
---|---|---|
committer | Paul Gilbert | 2018-01-11 21:31:48 -0500 |
commit | 93935a779883131f7f9568153cf29ead2affd833 (patch) | |
tree | 7dedd346f3be671ad8b435bd72d5c1186f58f7f5 /engines/xeen/files.cpp | |
parent | ebc3d270969e832db2ee9f26d958e66d4e23ed10 (diff) | |
download | scummvm-rg350-93935a779883131f7f9568153cf29ead2affd833.tar.gz scummvm-rg350-93935a779883131f7f9568153cf29ead2affd833.tar.bz2 scummvm-rg350-93935a779883131f7f9568153cf29ead2affd833.zip |
XEEN: Implementing savegame code
Diffstat (limited to 'engines/xeen/files.cpp')
-rw-r--r-- | engines/xeen/files.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/engines/xeen/files.cpp b/engines/xeen/files.cpp index 375b9df65a..0ed6dbd8a2 100644 --- a/engines/xeen/files.cpp +++ b/engines/xeen/files.cpp @@ -23,6 +23,7 @@ #include "common/scummsys.h" #include "common/archive.h" #include "common/memstream.h" +#include "common/substream.h" #include "common/textconsole.h" #include "xeen/xeen.h" #include "xeen/files.h" @@ -393,9 +394,10 @@ void SaveArchive::load(Common::SeekableReadStream *stream) { loadIndex(stream); delete[] _data; - _data = new byte[stream->size()]; + _dataSize = stream->size(); + _data = new byte[_dataSize]; stream->seek(0); - stream->read(_data, stream->size()); + stream->read(_data, _dataSize); // Load in the character stats and active party Common::SeekableReadStream *chr = createReadStreamForMember("maze.chr"); @@ -435,6 +437,11 @@ void SaveArchive::reset(CCArchive *src) { load(&f); } +void SaveArchive::save(Common::WriteStream &s) { + s.writeUint32LE(_dataSize); + s.write(_data, _dataSize); +} + /*------------------------------------------------------------------------*/ OutFile::OutFile(const Common::String &filename) : |