aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--devtools/tasmrecover/dreamweb/keypad.asm6
-rw-r--r--engines/dreamweb/dreamgen.cpp5
2 files changed, 9 insertions, 2 deletions
diff --git a/devtools/tasmrecover/dreamweb/keypad.asm b/devtools/tasmrecover/dreamweb/keypad.asm
index 3638f35cb1..8d918e618b 100644
--- a/devtools/tasmrecover/dreamweb/keypad.asm
+++ b/devtools/tasmrecover/dreamweb/keypad.asm
@@ -18,7 +18,11 @@ Entercode proc near
mov presspointer,0
mov getback,0
-keypadloop: call delpointer
+keypadloop:
+ cmp quitrequested, 0
+ jnz numberright
+
+ call delpointer
call readmouse
call showkeypad
call showpointer
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 954b08eeec..253b49a8c9 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -14360,10 +14360,14 @@ void DreamGenContext::entercode() {
data.word(kPresspointer) = 0;
data.byte(kGetback) = 0;
keypadloop:
+ _cmp(data.byte(kQuitrequested), 0);
+ if (!flags.z())
+ goto numberright;
delpointer();
readmouse();
showkeypad();
showpointer();
+ vsync();
_cmp(data.byte(kPresscount), 0);
if (flags.z())
goto nopresses;
@@ -14630,7 +14634,6 @@ void DreamGenContext::showkeypad() {
di = (36+112)+31;
bx = (72)+59;
singlekey();
- vsync();
_cmp(data.byte(kLightcount), 0);
if (flags.z())
return /* (notenter) */;