aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/guest_additions.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine/guest_additions.cpp')
-rw-r--r--engines/sci/engine/guest_additions.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/engines/sci/engine/guest_additions.cpp b/engines/sci/engine/guest_additions.cpp
index 8cf8c0505a..cf70608acc 100644
--- a/engines/sci/engine/guest_additions.cpp
+++ b/engines/sci/engine/guest_additions.cpp
@@ -527,6 +527,10 @@ reg_t GuestAdditions::kScummVMSaveLoad(EngineState *s, int argc, reg_t *argv) co
return promptSaveRestoreRama(s, argc, argv);
}
+ if (g_sci->getGameId() == GID_HOYLE5) {
+ return promptSaveRestoreHoyle5(s, argc, argv);
+ }
+
return promptSaveRestoreDefault(s, argc, argv);
}
@@ -715,6 +719,13 @@ int GuestAdditions::runSaveRestore(const bool isSave, reg_t outDescription, cons
return saveNo;
}
+reg_t GuestAdditions::promptSaveRestoreHoyle5(EngineState *s, int argc, reg_t *argv) const {
+ assert(argc == 2);
+ Common::String callerName = s->_segMan->getObjectName(s->r_acc);
+ const bool isSave = (callerName == "Save");
+ return make_reg(0, runSaveRestore(isSave, argc > 0 ? argv[0] : NULL_REG, s->_delayedRestoreGameId));
+}
+
#endif
#pragma mark -