aboutsummaryrefslogtreecommitdiff
path: root/engines/made/database.h
diff options
context:
space:
mode:
authorBenjamin Haisch2008-12-15 09:01:43 +0000
committerBenjamin Haisch2008-12-15 09:01:43 +0000
commit2ce4a32fb61567522e0a7afb76337aca12357dcb (patch)
tree40ab7795411cd63f20b9ad6ec6a05a9f555f2e89 /engines/made/database.h
parentc76f0bdb10344f1a35e43a098a3dcec4f09aa76c (diff)
downloadscummvm-rg350-2ce4a32fb61567522e0a7afb76337aca12357dcb.tar.gz
scummvm-rg350-2ce4a32fb61567522e0a7afb76337aca12357dcb.tar.bz2
scummvm-rg350-2ce4a32fb61567522e0a7afb76337aca12357dcb.zip
- Implemented cmd_restart (for the restart functionality in Return to Zork)
svn-id: r35378
Diffstat (limited to 'engines/made/database.h')
-rw-r--r--engines/made/database.h8
1 files changed, 8 insertions, 0 deletions
diff --git a/engines/made/database.h b/engines/made/database.h
index 466d1a8f69..3a6a0d6268 100644
--- a/engines/made/database.h
+++ b/engines/made/database.h
@@ -116,6 +116,8 @@ public:
void open(const char *filename);
void openFromRed(const char *redFilename, const char *filename);
+ void reload();
+
Object *getObject(int16 index) const {
if (index >= 1)
return _objects[index - 1];
@@ -150,7 +152,10 @@ protected:
byte *_gameState;
uint32 _gameStateSize;
int16 _mainCodeObjectIndex;
+ bool _isRedSource;
+ Common::String _filename, _redFilename;
virtual void load(Common::SeekableReadStream &sourceS) = 0;
+ virtual void reloadFromStream(Common::SeekableReadStream &sourceS) = 0;
};
class GameDatabaseV2 : public GameDatabase {
@@ -165,6 +170,7 @@ public:
protected:
char *_gameText;
void load(Common::SeekableReadStream &sourceS);
+ void reloadFromStream(Common::SeekableReadStream &sourceS);
};
class GameDatabaseV3 : public GameDatabase {
@@ -177,7 +183,9 @@ public:
int16 loadgame(const char *filename, int16 version);
protected:
char *_gameText;
+ uint32 _gameStateOffs;
void load(Common::SeekableReadStream &sourceS);
+ void reloadFromStream(Common::SeekableReadStream &sourceS);
};
} // End of namespace Made