aboutsummaryrefslogtreecommitdiff
path: root/engines/adl
diff options
context:
space:
mode:
authorWalter van Niftrik2016-03-04 16:30:40 +0100
committerWalter van Niftrik2016-03-09 10:03:13 +0100
commit115e4cab0d3bd18b0e189c7c304e32f122836f75 (patch)
tree6f1e859b3af7f347c5e814554f7b3467d068e1c9 /engines/adl
parent4f7e5da4dad61f11553e5f51f00d33506b9ef342 (diff)
downloadscummvm-rg350-115e4cab0d3bd18b0e189c7c304e32f122836f75.tar.gz
scummvm-rg350-115e4cab0d3bd18b0e189c7c304e32f122836f75.tar.bz2
scummvm-rg350-115e4cab0d3bd18b0e189c7c304e32f122836f75.zip
ADL: Fix restoring on restart prompt
Diffstat (limited to 'engines/adl')
-rw-r--r--engines/adl/adl.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/engines/adl/adl.cpp b/engines/adl/adl.cpp
index 90a9a0db06..d2d8492a23 100644
--- a/engines/adl/adl.cpp
+++ b/engines/adl/adl.cpp
@@ -291,7 +291,11 @@ void AdlEngine::doActions(const Command &command, byte noun, byte offset) {
case IDO_ACT_LOAD:
loadGameState(0);
++offset;
- // Original engine continues processing here (?)
+ // Original engine does not jump out of the loop,
+ // so we don't either.
+ // We reset the restore flag, as the restore game
+ // process is complete
+ _isRestoring = false;
break;
case IDO_ACT_RESTART: {
_display->printString(_strings[IDI_STR_PLAY_AGAIN]);
@@ -301,6 +305,7 @@ void AdlEngine::doActions(const Command &command, byte noun, byte offset) {
Common::String input = inputString();
_canRestoreNow = false;
+ // If the user restored with the GMM, we break off the restart
if (_isRestoring)
return;
@@ -661,6 +666,7 @@ Common::Error AdlEngine::loadGameState(int slot) {
setTotalPlayTime(playTime);
+ _isRestoring = true;
return Common::kNoError;
}