DREAMWEB: Fixed quit() from dialogue

This commit is contained in:
Vladimir Menshakov 2011-06-24 00:01:59 +04:00
parent 8148f4d81d
commit 72965b6406
2 changed files with 11 additions and 0 deletions

View File

@ -28,6 +28,8 @@ waittalk: call delpointer
mov getback,0
mov bx,offset cs:talklist
call checkcoords
cmp quitrequested, 0
jnz finishtalk
cmp getback,0
jz waittalk
finishtalk: mov bx,persondata
@ -490,6 +492,8 @@ hangloopq: push cx bx
pop bx cx
cmp getback,1
jz quitconv
cmp quitrequested, 0
jnz quitconv
cmp speechloaded,1
jnz notspeaking
cmp ch1playing,255

View File

@ -9065,9 +9065,13 @@ waittalk:
data.byte(kGetback) = 0;
bx = 2660;
checkcoords();
_cmp(data.byte(kQuitrequested), 0);
if (!flags.z())
goto finishtalk;
_cmp(data.byte(kGetback), 0);
if (flags.z())
goto waittalk;
finishtalk:
bx = data.word(kPersondata);
es = cs;
_cmp(data.byte(kTalkpos), 4);
@ -9360,6 +9364,9 @@ hangloopq:
_cmp(data.byte(kGetback), 1);
if (flags.z())
goto quitconv;
_cmp(data.byte(kQuitrequested), 0);
if (!flags.z())
goto quitconv;
_cmp(data.byte(kSpeechloaded), 1);
if (!flags.z())
goto notspeaking;