aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/dreamgen.cpp
diff options
context:
space:
mode:
authorVladimir Menshakov2011-06-14 23:21:17 +0400
committerAlyssa Milburn2011-06-15 17:35:00 +0200
commitf4936e6b42a8a1a0346375928e8f74605780b729 (patch)
treeb219afab45c9cf1450ee9f02dbb2b1b170105d5c /engines/dreamweb/dreamgen.cpp
parent7d93f81aba271fea54bc739870d82d822ad5d363 (diff)
downloadscummvm-rg350-f4936e6b42a8a1a0346375928e8f74605780b729.tar.gz
scummvm-rg350-f4936e6b42a8a1a0346375928e8f74605780b729.tar.bz2
scummvm-rg350-f4936e6b42a8a1a0346375928e8f74605780b729.zip
DREAMWEB: implemented stc/clc, fixed preliminary exit from the dialogue
Diffstat (limited to 'engines/dreamweb/dreamgen.cpp')
-rw-r--r--engines/dreamweb/dreamgen.cpp12
1 files changed, 9 insertions, 3 deletions
diff --git a/engines/dreamweb/dreamgen.cpp b/engines/dreamweb/dreamgen.cpp
index 187f1f9981..2591c36564 100644
--- a/engines/dreamweb/dreamgen.cpp
+++ b/engines/dreamweb/dreamgen.cpp
@@ -9691,6 +9691,9 @@ noplay1:
worktoscreenm(context);
context.cx = 180;
hangonpq(context);
+ if (!context.flags.c()) goto _tmp1;
+ {assert(stack_depth == context.stack.size()); return; }
+_tmp1:
context._inc(context.data.byte(kTalkpos));
context.al = context.data.byte(kTalkpos);
context.al = context.data.byte(kCharacter);
@@ -9752,6 +9755,8 @@ noplay2:
worktoscreenm(context);
context.cx = 180;
hangonpq(context);
+ if (!context.flags.c()) goto skiptalk2;
+ {assert(stack_depth == context.stack.size()); return; }
skiptalk2:
context._inc(context.data.byte(kTalkpos));
goto dospeech;
@@ -9795,13 +9800,14 @@ notspeaking:
finishconv:
delpointer(context);
context.data.byte(kPointermode) = 0;
- {assert(stack_depth == context.stack.size()); return; }
+ context.flags._c = false;
+ {assert(stack_depth == context.stack.size()); return; }
quitconv:
delpointer(context);
context.data.byte(kPointermode) = 0;
- context.ax = context.pop();
cancelch1(context);
- {assert(stack_depth == context.stack.size()); return; }
+ context.flags._c = true;
+ {assert(stack_depth == context.stack.size()); return; }
}
void redes(Context & context) {