aboutsummaryrefslogtreecommitdiff
path: root/engines/glk/quest/quest.h
diff options
context:
space:
mode:
authorPaul Gilbert2019-09-30 18:19:59 -0700
committerPaul Gilbert2019-09-30 18:20:07 -0700
commit13de2f177135b8f243d373c1aaa5367aaa9b1845 (patch)
treef2ae96b10e57c9a69a13c8f2a204211cc6d1689f /engines/glk/quest/quest.h
parentda01e839063eac02471b5d734512bbf6e3a53f09 (diff)
downloadscummvm-rg350-13de2f177135b8f243d373c1aaa5367aaa9b1845.tar.gz
scummvm-rg350-13de2f177135b8f243d373c1aaa5367aaa9b1845.tar.bz2
scummvm-rg350-13de2f177135b8f243d373c1aaa5367aaa9b1845.zip
GLK: QUEST: Fleshing out savegame code, hooking to GMM
Diffstat (limited to 'engines/glk/quest/quest.h')
-rw-r--r--engines/glk/quest/quest.h18
1 files changed, 12 insertions, 6 deletions
diff --git a/engines/glk/quest/quest.h b/engines/glk/quest/quest.h
index cb0994db5e..ed8d60eb5f 100644
--- a/engines/glk/quest/quest.h
+++ b/engines/glk/quest/quest.h
@@ -25,6 +25,7 @@
#include "glk/glk_api.h"
#include "glk/quest/string.h"
+#include "glk/quest/geas_runner.h"
namespace Glk {
namespace Quest {
@@ -35,6 +36,7 @@ namespace Quest {
class Quest : public GlkAPI {
private:
int _saveSlot;
+ GeasRunner *_runner;
public:
String banner;
private:
@@ -71,24 +73,28 @@ public:
}
/**
- * Savegames aren't supported for Quest games
+ * Returns true if a savegame can be loaded
*/
- virtual bool canLoadGameStateCurrently() override { return false; }
+ virtual bool canLoadGameStateCurrently() override {
+ return _runner != nullptr;
+ }
/**
- * Savegames aren't supported for Quest games
+ * Returns true if the game can be saved
*/
- virtual bool canSaveGameStateCurrently() override { return false; }
+ virtual bool canSaveGameStateCurrently() override {
+ return _runner != nullptr;
+ }
/**
* Savegames aren't supported for Quest games
*/
- virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override { return Common::kUnknownError; }
+ virtual Common::Error readSaveData(Common::SeekableReadStream *rs) override;
/**
* Savegames aren't supported for Quest games
*/
- virtual Common::Error writeGameData(Common::WriteStream *ws) override { return Common::kUnknownError; }
+ virtual Common::Error writeGameData(Common::WriteStream *ws) override;
};
extern Quest *g_vm;