diff options
-rw-r--r-- | devtools/tasmrecover/dreamweb/keypad.asm | 6 | ||||
-rw-r--r-- | engines/dreamweb/dreamgen.cpp | 5 |
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) */; |