aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorBertrand Augereau2011-07-29 00:00:45 +0200
committerBertrand Augereau2011-07-29 00:00:45 +0200
commit27482d2de2d2112526e70123febd1527902913be (patch)
treeebb7db552c38e8dc25215d628e9d4c6aaf51ddab /engines
parentfe73a2407820000d0321173a50e0d98dbcfc213f (diff)
downloadscummvm-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.cpp2
-rw-r--r--engines/dreamweb/stubs.cpp7
-rw-r--r--engines/dreamweb/stubs.h2
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);