diff options
author | Bertrand Augereau | 2011-07-29 00:00:45 +0200 |
---|---|---|
committer | Bertrand Augereau | 2011-07-29 00:00:45 +0200 |
commit | 27482d2de2d2112526e70123febd1527902913be (patch) | |
tree | ebb7db552c38e8dc25215d628e9d4c6aaf51ddab /engines | |
parent | fe73a2407820000d0321173a50e0d98dbcfc213f (diff) | |
download | scummvm-rg350-27482d2de2d2112526e70123febd1527902913be.tar.gz scummvm-rg350-27482d2de2d2112526e70123febd1527902913be.tar.bz2 scummvm-rg350-27482d2de2d2112526e70123febd1527902913be.zip |
DREAMWEB: Fixed showframe ABI to conform to wjp's patch c626394f2b6566bc310f7fb02b9449acc2e8f00f
Diffstat (limited to 'engines')
-rw-r--r-- | engines/dreamweb/print.cpp | 2 | ||||
-rw-r--r-- | engines/dreamweb/stubs.cpp | 7 | ||||
-rw-r--r-- | engines/dreamweb/stubs.h | 2 |
3 files changed, 5 insertions, 6 deletions
diff --git a/engines/dreamweb/print.cpp b/engines/dreamweb/print.cpp index a73e9f0792..46d7d45b1a 100644 --- a/engines/dreamweb/print.cpp +++ b/engines/dreamweb/print.cpp @@ -90,7 +90,7 @@ void DreamGenContext::printchar(uint16 src, uint16* x, uint16 y, uint8 c, uint8 if (data.byte(kForeignrelease) != 0) y -= 3; uint16 tmp = c - 32 + data.word(kCharshift); - showframe(src, *x, y, tmp & 0xff, tmp >> 8, width, height); + showframe(src, *x, y, tmp & 0x1ff, (tmp >> 8) & 0xfe, width, height); di = pop(); si = pop(); _cmp(data.byte(kKerning), 0); diff --git a/engines/dreamweb/stubs.cpp b/engines/dreamweb/stubs.cpp index 8c278b5990..688ad82d92 100644 --- a/engines/dreamweb/stubs.cpp +++ b/engines/dreamweb/stubs.cpp @@ -671,12 +671,11 @@ void DreamGenContext::frameoutv(uint8 *dst, const uint8 *src, uint16 pitch, uint } } -void DreamGenContext::showframe(uint16 src, uint16 x, uint16 y, uint8 frameNumber, uint8 effectsFlag, uint8 *width, uint8 *height) { +void DreamGenContext::showframe(uint16 src, uint16 x, uint16 y, uint16 frameNumber, uint8 effectsFlag, uint8 *width, uint8 *height) { ds = src; - al = frameNumber; ah = effectsFlag; - si = (ax & 0x1ff) * 6; + si = frameNumber * 6; if (ds.word(si) == 0) { *width = 0; *height = 0; @@ -733,7 +732,7 @@ void DreamGenContext::showframe(uint16 src, uint16 x, uint16 y, uint8 frameNumbe void DreamGenContext::showframe() { uint8 width, height; - showframe(ds, di, bx, al, ah, &width, &height); + showframe(ds, di, bx, ax & 0x1ff, ah & 0xfe, &width, &height); cl = width; ch = height; } diff --git a/engines/dreamweb/stubs.h b/engines/dreamweb/stubs.h index e72229639b..33b272efc6 100644 --- a/engines/dreamweb/stubs.h +++ b/engines/dreamweb/stubs.h @@ -58,7 +58,7 @@ uint8 kernchars(uint8 firstChar, uint8 secondChar, uint8 width); Sprite *spritetable(); void showframe(); - void showframe(uint16 src, uint16 x, uint16 y, uint8 frameNumber, uint8 effectsFlag, uint8 *width, uint8 *height); + void showframe(uint16 src, uint16 x, uint16 y, uint16 frameNumber, uint8 effectsFlag, uint8 *width, uint8 *height); void printasprite(const Sprite *sprite); void width160(); void multiput(uint16 x, uint16 y, uint8 width, uint8 height); |