aboutsummaryrefslogtreecommitdiff
path: root/engines/cge/cge.h
diff options
context:
space:
mode:
authorPaul Gilbert2011-07-16 21:12:19 +1000
committerPaul Gilbert2011-07-16 21:12:19 +1000
commit00061bc5dd6492fcb3be9781b134f1928f69205b (patch)
treea653973344d39be8659ad4940b3687be04260104 /engines/cge/cge.h
parentce070cdd3c664bc5fca80770a40e669fd07a83a0 (diff)
downloadscummvm-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.h13
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);