diff options
author | Paul Gilbert | 2011-07-16 21:12:19 +1000 |
---|---|---|
committer | Paul Gilbert | 2011-07-16 21:12:19 +1000 |
commit | 00061bc5dd6492fcb3be9781b134f1928f69205b (patch) | |
tree | a653973344d39be8659ad4940b3687be04260104 /engines/cge/cge.h | |
parent | ce070cdd3c664bc5fca80770a40e669fd07a83a0 (diff) | |
download | scummvm-rg350-00061bc5dd6492fcb3be9781b134f1928f69205b.tar.gz scummvm-rg350-00061bc5dd6492fcb3be9781b134f1928f69205b.tar.bz2 scummvm-rg350-00061bc5dd6492fcb3be9781b134f1928f69205b.zip |
CGE: Added support for GMM save/load and launcher loading
Diffstat (limited to 'engines/cge/cge.h')
-rw-r--r-- | engines/cge/cge.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/engines/cge/cge.h b/engines/cge/cge.h index 2d67b2218a..851a1166ab 100644 --- a/engines/cge/cge.h +++ b/engines/cge/cge.h @@ -69,19 +69,26 @@ struct SavegameHeader { int totalFrames; }; +extern const char *SAVEGAME_STR; +#define SAVEGAME_STR_SIZE 11 + class CGEEngine : public Engine { private: uint32 _lastFrame; void tick(); void syncHeader(Common::Serializer &s); - bool readSavegameHeader(Common::InSaveFile *in, SavegameHeader &header); - void writeSavegameHeader(Common::OutSaveFile *out, SavegameHeader &header); + static void writeSavegameHeader(Common::OutSaveFile *out, SavegameHeader &header); void syncGame(Common::SeekableReadStream *readStream, Common::WriteStream *writeStream, bool tiny = false); bool savegameExists(int slotNumber); Common::String generateSaveName(int slot); public: CGEEngine(OSystem *syst, const ADGameDescription *gameDescription); ~CGEEngine(); + virtual bool hasFeature(EngineFeature f) const; + virtual bool canLoadGameStateCurrently(); + virtual bool canSaveGameStateCurrently(); + virtual Common::Error loadGameState(int slot); + virtual Common::Error saveGameState(int slot, const Common::String &desc); const ADGameDescription *_gameDescription; bool _isDemo; @@ -107,6 +114,7 @@ public: byte * _mini; BMP_PTR * _miniShp; BMP_PTR * _miniShpList; + int _startGameSlot; virtual Common::Error run(); GUI::Debugger *getDebugger() { @@ -149,6 +157,7 @@ public: void setDMA(); void mainLoop(); void saveGame(int slotNumber, const Common::String &desc); + static bool readSavegameHeader(Common::InSaveFile *in, SavegameHeader &header); void switchMusic(); void selectPocket(int n); void expandSprite(Sprite *spr); |