diff options
Diffstat (limited to 'engines/sci/engine/guest_additions.cpp')
-rw-r--r-- | engines/sci/engine/guest_additions.cpp | 11 |
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 - |