aboutsummaryrefslogtreecommitdiff
path: root/engines/groovie/groovie.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/groovie/groovie.cpp')
-rw-r--r--engines/groovie/groovie.cpp21
1 files changed, 20 insertions, 1 deletions
diff --git a/engines/groovie/groovie.cpp b/engines/groovie/groovie.cpp
index 291e3a1fde..672c440e44 100644
--- a/engines/groovie/groovie.cpp
+++ b/engines/groovie/groovie.cpp
@@ -350,6 +350,7 @@ Common::Platform GroovieEngine::getPlatform() const {
bool GroovieEngine::hasFeature(EngineFeature f) const {
return
(f == kSupportsRTL) ||
+ (f == kSupportsSavingDuringRuntime) ||
(f == kSupportsLoadingDuringRuntime);
}
@@ -372,7 +373,18 @@ void GroovieEngine::syncSoundSettings() {
bool GroovieEngine::canLoadGameStateCurrently() {
// TODO: verify the engine has been initialized
- return true;
+ if (_script)
+ return true;
+ else
+ return false;
+}
+
+bool GroovieEngine::canSaveGameStateCurrently() {
+ // TODO: verify the engine has been initialized
+ if (_script)
+ return true;
+ else
+ return false;
}
Common::Error GroovieEngine::loadGameState(int slot) {
@@ -382,6 +394,13 @@ Common::Error GroovieEngine::loadGameState(int slot) {
return Common::kNoError;
}
+Common::Error GroovieEngine::saveGameState(int slot, const Common::String &desc) {
+ _script->directGameSave(slot,desc);
+
+ // TODO: Use specific error codes
+ return Common::kNoError;
+}
+
void GroovieEngine::waitForInput() {
_waitingForInput = true;
}