aboutsummaryrefslogtreecommitdiff
path: root/engines/dreamweb
diff options
context:
space:
mode:
Diffstat (limited to 'engines/dreamweb')
-rw-r--r--engines/dreamweb/stubs.cpp13
-rw-r--r--engines/dreamweb/stubs.h9
2 files changed, 13 insertions, 9 deletions
diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp
index 9780f1eddf..c3622fe11d 100644
--- a/engines/dreamweb/stubs.cpp
+++ b/engines/dreamweb/stubs.cpp
@@ -78,14 +78,17 @@ void DreamGenContext::multiput() {
cx = 0;
}
-void DreamGenContext::multidump() {
+void DreamGenContext::multidump(uint16 x, uint16 y, uint8 width, uint8 height) {
ds = data.word(kWorkspace);
- int w = (uint8)cl, h = (uint8)ch;
- int x = (int16)di, y = (int16)bx;
unsigned offset = x + y * kScreenwidth;
//debug(1, "multidump %ux%u(segment: %04x) -> %d,%d(address: %d)", w, h, (uint16)ds, x, y, offset);
- engine->blit(ds.ptr(offset, w * h), kScreenwidth, x, y, w, h);
- si = di = offset + h * kScreenwidth;
+ engine->blit(ds.ptr(offset, width * height), kScreenwidth, x, y, width, height);
+}
+
+void DreamGenContext::multidump() {
+ multidump(di, bx, cl, ch);
+ unsigned offset = di + bx * kScreenwidth;
+ si = di = offset + ch * kScreenwidth;
cx = 0;
}
diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h
index e580598a37..0d364e1437 100644
--- a/engines/dreamweb/stubs.h
+++ b/engines/dreamweb/stubs.h
@@ -21,10 +21,11 @@
*/
void multidump();
- void frameoutv(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
- void frameoutnm(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
- void frameoutbh(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
- void frameoutfx(uint8 *dst, const uint8 *src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
+ void multidump(uint16 x, uint16 y, uint8 width, uint8 height);
+ void frameoutv(uint8* dst, const uint8* src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
+ void frameoutnm(uint8* dst, const uint8* src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
+ void frameoutbh(uint8* dst, const uint8* src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
+ void frameoutfx(uint8* dst, const uint8* src, uint16 pitch, uint16 width, uint16 height, uint16 x, uint16 y);
void worktoscreen();
void multiget();
void convertkey();