aboutsummaryrefslogtreecommitdiff
path: root/engines/hopkins/hopkins.cpp
diff options
context:
space:
mode:
authorPaul Gilbert2013-03-25 09:18:13 -0400
committerPaul Gilbert2013-03-25 09:18:13 -0400
commit63b669cfc4ec0cae7be83949f98ee3fd48607f90 (patch)
tree26032d62f291a18008849b899342cb8471759245 /engines/hopkins/hopkins.cpp
parentcfe42b15b1bc1ab74cdad90b7dcafe6f0859ff83 (diff)
downloadscummvm-rg350-63b669cfc4ec0cae7be83949f98ee3fd48607f90.tar.gz
scummvm-rg350-63b669cfc4ec0cae7be83949f98ee3fd48607f90.tar.bz2
scummvm-rg350-63b669cfc4ec0cae7be83949f98ee3fd48607f90.zip
HOPKINS: Fix for not being able to quit during underater base entrance cutscene
Diffstat (limited to 'engines/hopkins/hopkins.cpp')
-rw-r--r--engines/hopkins/hopkins.cpp18
1 files changed, 10 insertions, 8 deletions
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index a355226914..4051e5acf8 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -2039,7 +2039,7 @@ void HopkinsEngine::playUnderwaterBaseCutscene() {
_graphicsManager->displayAllBob();
_objectsManager->loadLinkFile("IM92");
- for (int cpt = 0; cpt <= 4; cpt++)
+ for (int cpt = 0; cpt <= 4 && !shouldQuit(); cpt++)
_eventsManager->refreshScreenAndEvents();
_graphicsManager->fadeInLong();
@@ -2047,14 +2047,16 @@ void HopkinsEngine::playUnderwaterBaseCutscene() {
do
_eventsManager->refreshScreenAndEvents();
- while (_objectsManager->getBobAnimDataIdx(8) != 22);
+ while (!shouldQuit() && _objectsManager->getBobAnimDataIdx(8) != 22);
- _graphicsManager->fadeOutLong();
- _graphicsManager->endDisplayBob();
- _objectsManager->resetHidingItems();
- _globals->_disableInventFl = false;
- _globals->_exitId = 93;
- _globals->iRegul = 0;
+ if (!shouldQuit()) {
+ _graphicsManager->fadeOutLong();
+ _graphicsManager->endDisplayBob();
+ _objectsManager->resetHidingItems();
+ _globals->_disableInventFl = false;
+ _globals->_exitId = 93;
+ _globals->iRegul = 0;
+ }
}
void HopkinsEngine::playEnding() {