aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladimir2011-06-09 02:08:09 +0400
committerAlyssa Milburn2011-06-15 17:33:30 +0200
commitfe40748d1ac2b110120da1826aac7816b00ee60b (patch)
tree7d9a073116ad96cfd5a33e0f9584b7578ceebe9c
parent3bd7cb1902b7a01d622cc8ccdfc54bc5b50f164c (diff)
downloadscummvm-rg350-fe40748d1ac2b110120da1826aac7816b00ee60b.tar.gz
scummvm-rg350-fe40748d1ac2b110120da1826aac7816b00ee60b.tar.bz2
scummvm-rg350-fe40748d1ac2b110120da1826aac7816b00ee60b.zip
DREAMWEB: implemented loadseg
-rw-r--r--engines/dreamweb/dreamweb.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp
index 340c916b41..565002317c 100644
--- a/engines/dreamweb/dreamweb.cpp
+++ b/engines/dreamweb/dreamweb.cpp
@@ -249,7 +249,7 @@ void readfromfile(Context &context) {
uint16 size = context.cx;
debug(1, "readfromfile(%04x:%u, %u)", (uint16)context.ds, dst_offset, size);
context.ax = engine()->readFromFile(context.ds.ptr(dst_offset, size), size);
- context.flags._c = false; //fixme: add return args
+ context.flags._c = false;
}
void closefile(Context &context) {
@@ -426,7 +426,15 @@ void saveseg(Context &context) {
}
void loadseg(Context &context) {
- ::error("loadseg");
+ uint16 dst_offset = context.dx;
+ uint16 size = context.ax;
+
+ context.ax = context.es.word(context.di);
+ context.di += 2;
+
+ debug(1, "readfromfile(%04x:%u, %u)", (uint16)context.ds, dst_offset, size);
+ context.ax = engine()->readFromFile(context.ds.ptr(dst_offset, size), size);
+ context.flags._c = false;
}
void loadposition(Context &context) {