aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb
diff options
context:
space:
mode:
authorBertrand Augereau2011-09-08 09:11:16 +0200
committerBertrand Augereau2011-09-08 09:11:16 +0200
commita2620d6edfb5beef2eb4ae6c9f855f46ece6ae42 (patch)
treebb43d96b31f1fa1accffa107ab34e6cde13b53ca /engines/dreamweb
parentb60a706751348433457d1e5f3f39f07c20afa483 (diff)
downloadscummvm-rg350-a2620d6edfb5beef2eb4ae6c9f855f46ece6ae42.tar.gz
scummvm-rg350-a2620d6edfb5beef2eb4ae6c9f855f46ece6ae42.tar.bz2
scummvm-rg350-a2620d6edfb5beef2eb4ae6c9f855f46ece6ae42.zip
DREAMWEB: Fix quitting in several modal parts of the game
Diffstat (limited to 'engines/dreamweb')
-rw-r--r--engines/dreamweb/print.cpp2
-rw-r--r--engines/dreamweb/stubs.cpp4
2 files changed, 6 insertions, 0 deletions
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))