diff options
-rw-r--r-- | engines/dreamweb/stubs.cpp | 13 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 9 |
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(); |