aboutsummaryrefslogtreecommitdiff
path: root/engines/mohawk/myst.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/mohawk/myst.cpp')
-rw-r--r--engines/mohawk/myst.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/engines/mohawk/myst.cpp b/engines/mohawk/myst.cpp
index ed92f6081e..e9661f54df 100644
--- a/engines/mohawk/myst.cpp
+++ b/engines/mohawk/myst.cpp
@@ -1079,4 +1079,24 @@ Common::Error MohawkEngine_Myst::saveGameState(int slot, const char *desc) {
return _saveLoad->saveGame(Common::String(desc)) ? Common::kNoError : Common::kUnknownError;
}
+bool MohawkEngine_Myst::canLoadGameStateCurrently() {
+ // No loading in the demo/makingof
+ return !(getFeatures() & GF_DEMO) && getGameType() != GType_MAKINGOF;
+}
+
+bool MohawkEngine_Myst::canSaveGameStateCurrently() {
+ // There's a limited number of stacks the game can save in
+ switch (_curStack) {
+ case kChannelwoodStack:
+ case kDniStack:
+ case kMechanicalStack:
+ case kMystStack:
+ case kSeleniticStack:
+ case kStoneshipStack:
+ return true;
+ }
+
+ return false;
+}
+
} // End of namespace Mohawk