aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/queen/queen.cpp13
-rw-r--r--engines/queen/queen.h2
2 files changed, 15 insertions, 0 deletions
diff --git a/engines/queen/queen.cpp b/engines/queen/queen.cpp
index 99587fd6cf..1b07d3c01a 100644
--- a/engines/queen/queen.cpp
+++ b/engines/queen/queen.cpp
@@ -73,6 +73,7 @@ public:
virtual GameDescriptor findGame(const char *gameid) const;
virtual GameList detectGames(const Common::FSList &fslist) const;
virtual SaveStateList listSaves(const char *target) const;
+ virtual int getMaximumSaveSlot() const;
virtual void removeSaveState(const char *target, int slot) const;
virtual Common::Error createInstance(OSystem *syst, Engine **engine) const;
@@ -96,6 +97,8 @@ bool QueenMetaEngine::hasFeature(MetaEngineFeature f) const {
bool Queen::QueenEngine::hasFeature(EngineFeature f) const {
return
(f == kSupportsRTL) ||
+ (f == kSupportsLoadingDuringRuntime) ||
+ (f == kSupportsSavingDuringRuntime) ||
(f == kSupportsSubtitleOptions);
}
@@ -105,6 +108,8 @@ GameList QueenMetaEngine::getSupportedGames() const {
return games;
}
+int QueenMetaEngine::getMaximumSaveSlot() const { return 99; }
+
const ExtraGuiOptions QueenMetaEngine::getExtraGuiOptions(const Common::String &target) const {
Common::String guiOptions;
if (ConfMan.hasKey("guioptions", target)) {
@@ -338,6 +343,14 @@ bool QueenEngine::canLoadOrSave() const {
return !_input->cutawayRunning() && !(_resource->isDemo() || _resource->isInterview());
}
+bool QueenEngine::canLoadGameStateCurrently() {
+ return canLoadOrSave();
+}
+
+bool QueenEngine::canSaveGameStateCurrently() {
+ return canLoadOrSave();
+}
+
Common::Error QueenEngine::saveGameState(int slot, const Common::String &desc) {
debug(3, "Saving game to slot %d", slot);
char name[20];
diff --git a/engines/queen/queen.h b/engines/queen/queen.h
index bb299e2a80..a8b0e9f6ed 100644
--- a/engines/queen/queen.h
+++ b/engines/queen/queen.h
@@ -112,6 +112,8 @@ public:
void update(bool checkPlayerInput = false);
bool canLoadOrSave() const;
+ bool canLoadGameStateCurrently();
+ bool canSaveGameStateCurrently();
Common::Error saveGameState(int slot, const Common::String &desc);
Common::Error loadGameState(int slot);
void makeGameStateName(int slot, char *buf) const;