diff options
Diffstat (limited to 'engines/prince/prince.h')
-rw-r--r-- | engines/prince/prince.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/engines/prince/prince.h b/engines/prince/prince.h index fab49889bb..64f981cdb6 100644 --- a/engines/prince/prince.h +++ b/engines/prince/prince.h @@ -31,6 +31,8 @@ #include "common/rect.h" #include "common/events.h" #include "common/endian.h" +#include "common/savefile.h" +#include "common/serializer.h" #include "image/bmp.h" @@ -51,6 +53,7 @@ namespace Prince { struct PrinceGameDescription; +struct SavegameHeader; class PrinceEngine; class GraphicsMan; @@ -252,6 +255,17 @@ public: virtual ~PrinceEngine(); virtual bool hasFeature(EngineFeature f) const; + virtual bool canSaveGameStateCurrently(); + virtual bool canLoadGameStateCurrently(); + virtual Common::Error saveGameState(int slot, const Common::String &desc); + virtual Common::Error loadGameState(int slot); + + static bool readSavegameHeader(Common::InSaveFile *in, SavegameHeader &header); + Common::String generateSaveName(int slot); + void writeSavegameHeader(Common::OutSaveFile *out, SavegameHeader &header); + void syncGame(Common::SeekableReadStream *readStream, Common::WriteStream *writeStream); + bool loadGame(int slotNumber); + void resetGame(); int getGameType() const; const char *getGameId() const; @@ -313,6 +327,7 @@ public: static const int kMaxNormAnims = 64; static const int kMaxBackAnims = 64; static const int kMaxObjects = 64; + static const int kMaxMobs = 64; Common::Array<AnimListItem> _animList; Common::Array<BackgroundAnim> _backAnimList; |