aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2012-10-28 22:31:12 +1100
committerPaul Gilbert2012-10-28 22:31:12 +1100
commita0c26cde210479807f89e0678342e117e52edbd1 (patch)
tree7d781febb361f8e074d097ea720e2424e4ade1c1
parente999d9743b944783c7859ba066e65ad00c298a61 (diff)
downloadscummvm-rg350-a0c26cde210479807f89e0678342e117e52edbd1.tar.gz
scummvm-rg350-a0c26cde210479807f89e0678342e117e52edbd1.tar.bz2
scummvm-rg350-a0c26cde210479807f89e0678342e117e52edbd1.zip
HOPKINS: Added extra shouldQuit checks to introduction sequence
-rw-r--r--engines/hopkins/hopkins.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/engines/hopkins/hopkins.cpp b/engines/hopkins/hopkins.cpp
index 32108fb846..2929161c68 100644
--- a/engines/hopkins/hopkins.cpp
+++ b/engines/hopkins/hopkins.cpp
@@ -695,10 +695,13 @@ void HopkinsEngine::INTRORUN() {
_eventsManager.souris_xy(_eventsManager.souris_x + 4, v4);
}
_eventsManager.VBL();
- } while (v3 != 1 && _graphicsManager.SCROLL != SCREEN_WIDTH);
+ } while (!shouldQuit() && v3 != 1 && _graphicsManager.SCROLL != SCREEN_WIDTH);
_eventsManager.VBL();
_graphicsManager.no_scroll = 0;
+
+ if (shouldQuit())
+ return;
}
_soundManager.VOICE_MIX(4, 3);
@@ -740,9 +743,16 @@ void HopkinsEngine::INTRORUN() {
v7 = (int)&v23;
_graphicsManager.setpal_vga256_linux(paletteData, _graphicsManager.VESA_BUFFER);
_graphicsManager.FIN_VISU();
+
+ if (shouldQuit())
+ return;
+
_soundManager.SPECIAL_SOUND = 5;
_graphicsManager.FADE_LINUX = 2;
_animationManager.PLAY_ANM("ELEC.ANM", 10, 26, 200);
+ if (shouldQuit())
+ return;
+
_soundManager.SPECIAL_SOUND = 0;
if (!_eventsManager.ESC_KEY) {
@@ -772,7 +782,7 @@ void HopkinsEngine::INTRORUN() {
_graphicsManager.setpal_vga256_linux(paletteData2, _graphicsManager.VESA_BUFFER);
v9 = 0;
- while (!_eventsManager.ESC_KEY) {
+ while (!shouldQuit() && !_eventsManager.ESC_KEY) {
if (v9 == 12) {
_objectsManager.BOBANIM_ON(3);
_eventsManager.VBL();
@@ -849,13 +859,21 @@ void HopkinsEngine::INTRORUN() {
_soundManager.WSOUND(3);
_soundManager.SPECIAL_SOUND = 1;
_animationManager.PLAY_ANM("INTRO1.anm", 10, 24, 18);
+ if (shouldQuit())
+ return;
+
_soundManager.SPECIAL_SOUND = 0;
if (!_eventsManager.ESC_KEY) {
_animationManager.PLAY_ANM("INTRO2.anm", 10, 24, 18);
+ if (shouldQuit())
+ return;
if (!_eventsManager.ESC_KEY) {
_animationManager.PLAY_ANM("INTRO3.anm", 10, 24, 200);
+ if (shouldQuit())
+ return;
+
if (!_eventsManager.ESC_KEY) {
_animationManager.CLS_ANM = 0;
_graphicsManager.FADE_LINUX = 2;