diff options
author | Vladimir Menshakov | 2011-06-12 20:21:41 +0400 |
---|---|---|
committer | Alyssa Milburn | 2011-06-15 17:34:25 +0200 |
commit | c330f5d0b893a9f303addc3e7f20aa20678fc651 (patch) | |
tree | 29182de6c3f4f0b9d2e4c1fb5a4adc14f3281d71 | |
parent | bf80a8a3ac6f40000a042e94af2e257dc67ec6e0 (diff) | |
download | scummvm-rg350-c330f5d0b893a9f303addc3e7f20aa20678fc651.tar.gz scummvm-rg350-c330f5d0b893a9f303addc3e7f20aa20678fc651.tar.bz2 scummvm-rg350-c330f5d0b893a9f303addc3e7f20aa20678fc651.zip |
DREAMWEB: modify register after raster operations
-rw-r--r-- | engines/dreamweb/dreamweb.cpp | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/engines/dreamweb/dreamweb.cpp b/engines/dreamweb/dreamweb.cpp index 086aee2e9a..2ca38ce9a4 100644 --- a/engines/dreamweb/dreamweb.cpp +++ b/engines/dreamweb/dreamweb.cpp @@ -355,6 +355,9 @@ void multiget(Context &context) { uint8 *dst_p = context.es.ptr(dst + w * y, w); memcpy(dst_p, src_p, w); } + context.si += w * h; + context.di = src + kScreenwidth * h; + context.cx = 0; } void multiput(Context &context) { @@ -368,6 +371,9 @@ void multiput(Context &context) { uint8 *dst_p = context.es.ptr(dst + kScreenwidth * y, w); memcpy(dst_p, src_p, w); } + context.si += w * h; + context.di = dst + kScreenwidth * h; + context.cx = 0; } void multidump(Context &context) { @@ -377,11 +383,14 @@ void multidump(Context &context) { unsigned offset = x + y * kScreenwidth; //debug(1, "multidump %ux%u(segment: %04x) -> %d,%d(address: %d)", w, h, (uint16)context.ds, x, y, offset); context.engine->blit(context.ds.ptr(offset, w * h), kScreenwidth, x, y, w, h); + context.si = context.di = offset + h * kScreenwidth; + context.cx = 0; } void worktoscreen(Context &context) { context.ds = context.data.word(kWorkspace); context.engine->blit(context.ds.ptr(0, 320 * 200), 320, 0, 0, 320, 200); + context.cx = 0; } void printundermon(Context &context) { |