aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb/stubs.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dreamweb/stubs.cpp')
-rw-r--r--engines/dreamweb/stubs.cpp31
1 files changed, 31 insertions, 0 deletions
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index b68f7e67df..fa7ec63a40 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -271,6 +271,37 @@ void DreamGenContext::getnextword() {
bh = charCount;
}
+void DreamGenContext::printdirect() {
+ data.word(kLastxpos) = di;
+ ds = data.word(kCurrentset);
+ while (true) {
+ push(bx);
+ push(di);
+ push(dx);
+ uint8 charCount = getnumber(dl, (bool)(dl & 1));
+ do {
+ ax = es.word(si);
+ ++si;
+ if ((al == 0) || (al == ':')) {
+ dx = pop();
+ di = pop();
+ bx = pop();
+ return;
+ }
+ push(es);
+ al = engine->modifyChar(al);
+ printchar();
+ data.word(kLastxpos) = di;
+ es = pop();
+ --charCount;
+ } while(charCount);
+ dx = pop();
+ di = pop();
+ bx = pop();
+ bx += data.word(kLinespacing);
+ }
+}
+
void DreamGenContext::getnumber() {
cl = getnumber(dl, (bool)(dl & 1));
}