From a2620d6edfb5beef2eb4ae6c9f855f46ece6ae42 Mon Sep 17 00:00:00 2001 From: Bertrand Augereau Date: Thu, 8 Sep 2011 09:11:16 +0200 Subject: DREAMWEB: Fix quitting in several modal parts of the game --- engines/dreamweb/print.cpp | 2 ++ engines/dreamweb/stubs.cpp | 4 ++++ 2 files changed, 6 insertions(+) (limited to 'engines/dreamweb') diff --git a/engines/dreamweb/print.cpp b/engines/dreamweb/print.cpp index 4c9f0e693f..edaf8ee1eb 100644 --- a/engines/dreamweb/print.cpp +++ b/engines/dreamweb/print.cpp @@ -111,6 +111,8 @@ uint8 DreamGenContext::printslow(const uint8 *string, uint16 x, uint16 y, uint8 data.word(kCharshift) = 0; for (int i=0; i<2; ++i) { uint16 mouseState = waitframes(); + if (data.byte(kQuitrequested)) + return 0; if (mouseState == 0) continue; if (mouseState != data.word(kOldbutton)) { diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index f9eb409c9a..600df65b40 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -1855,6 +1855,8 @@ void DreamGenContext::hangon(uint16 frameCount) { while (frameCount) { vsync(); --frameCount; + if (data.byte(kQuitrequested)) + break; } } @@ -1881,6 +1883,8 @@ void DreamGenContext::hangonp(uint16 count) { showpointer(); vsync(); dumppointer(); + if (data.byte(kQuitrequested)) + break; if (data.word(kMousebutton) == 0) continue; if (data.word(kMousebutton) != data.word(kOldbutton)) -- cgit v1.2.3