diff options
author | Bertrand Augereau | 2011-09-08 09:11:16 +0200 |
---|---|---|
committer | Bertrand Augereau | 2011-09-08 09:11:16 +0200 |
commit | a2620d6edfb5beef2eb4ae6c9f855f46ece6ae42 (patch) | |
tree | bb43d96b31f1fa1accffa107ab34e6cde13b53ca /engines/dreamweb | |
parent | b60a706751348433457d1e5f3f39f07c20afa483 (diff) | |
download | scummvm-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.cpp | 2 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 4 |
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)) |