diff options
Diffstat (limited to 'engines/lab/lab.h')
-rw-r--r-- | engines/lab/lab.h | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/engines/lab/lab.h b/engines/lab/lab.h index d968c18013..756f6e1a36 100644 --- a/engines/lab/lab.h +++ b/engines/lab/lab.h @@ -34,8 +34,9 @@ #include "common/system.h" #include "common/random.h" #include "common/rect.h" - +#include "common/savefile.h" #include "engines/engine.h" +#include "engines/savestate.h" #include "lab/image.h" @@ -64,6 +65,13 @@ class Resource; class TilePuzzle; class Utils; +struct SaveGameHeader { + byte _version; + SaveStateDescriptor _descr; + uint16 _roomNumber; + uint16 _direction; +}; + enum GameFeatures { GF_LOWRES = 1 << 0, GF_WINDOWS_TRIAL = 1 << 1 @@ -244,9 +252,14 @@ private: void setCurrentClose(Common::Point pos, CloseDataPtr *closePtrList, bool useAbsoluteCoords); bool takeItem(uint16 x, uint16 y, CloseDataPtr *closePtrList); void turnPage(bool fromLeft); + +private: + bool saveGame(int slot, Common::String desc); + bool loadGame(int slot); + void writeSaveGameHeader(Common::OutSaveFile *out, const Common::String &saveName); }; -extern LabEngine *g_lab; +bool readSaveGameHeader(Common::InSaveFile *in, SaveGameHeader &header); } // End of namespace Lab |