diff options
Diffstat (limited to 'engines/gob/save/savehandler.h')
-rw-r--r-- | engines/gob/save/savehandler.h | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/engines/gob/save/savehandler.h b/engines/gob/save/savehandler.h index a5ae1f5c21..d12d6bca0d 100644 --- a/engines/gob/save/savehandler.h +++ b/engines/gob/save/savehandler.h @@ -27,7 +27,9 @@ #define GOB_SAVE_SAVEHANDLER_H #include "common/savefile.h" -#include "engines/gob/video.h" // for SurfacePtr +#include "common/array.h" + +#include "engines/gob/video.h" // for SurfacePtr namespace Gob { @@ -180,6 +182,22 @@ private: SavePartVars *_notes; }; +/** A handler that behaves like a file but keeps the contents in memory. */ +class FakeFileHandler : public SaveHandler { +public: + FakeFileHandler(GobEngine *vm); + ~FakeFileHandler(); + + int32 getSize(); + bool load(int16 dataVar, int32 size, int32 offset); + bool save(int16 dataVar, int32 size, int32 offset); + + bool deleteFile(); + +private: + Common::Array<byte> _data; +}; + } // End of namespace Gob #endif // GOB_SAVE_SAVEHANDLER_H |