aboutsummaryrefslogtreecommitdiff
path: root/engines/scumm
diff options
context:
space:
mode:
authorTravis Howell2009-11-24 23:34:03 +0000
committerTravis Howell2009-11-24 23:34:03 +0000
commit3fda71b10c6a4c0bb6949c7cc032bd4b4d4a5323 (patch)
tree8d76b19b4db809e103590e99c6aab5f858d7083d /engines/scumm
parentc43d9cacdae5cb1737e92ea37bc7293d4ceebea4 (diff)
downloadscummvm-rg350-3fda71b10c6a4c0bb6949c7cc032bd4b4d4a5323.tar.gz
scummvm-rg350-3fda71b10c6a4c0bb6949c7cc032bd4b4d4a5323.tar.bz2
scummvm-rg350-3fda71b10c6a4c0bb6949c7cc032bd4b4d4a5323.zip
Add patch #2903170 - MM C64: costume fix.
svn-id: r46133
Diffstat (limited to 'engines/scumm')
-rw-r--r--engines/scumm/costume.cpp18
1 files changed, 7 insertions, 11 deletions
diff --git a/engines/scumm/costume.cpp b/engines/scumm/costume.cpp
index 7a5c447eec..41bceb8e5d 100644
--- a/engines/scumm/costume.cpp
+++ b/engines/scumm/costume.cpp
@@ -1201,17 +1201,13 @@ byte C64CostumeRenderer::drawLimb(const Actor *a, int limb) {
palette[3] = 11;
}
- int width = *data++;
- int height = *data++;
- int offsetX = *data++;
- int offsetY = *data++;
- // these two fields seems to be most times zero
- // byte6 was one time 255 in one costume I tried
-// int byte5 = *data++; // 0x1F80 // This value is never used
-// int byte6 = *data++; // 0x1F86 // This value is subtracted from ?actor drawy? at 0x2383
-// debug(3, "byte5: %d", byte5);
-// debug(3, "byte6: %d", byte6);
- data += 2;
+ int width = data[0];
+ int height = data[1];
+ int offsetX = _xmove + data[2];
+ int offsetY = _ymove + data[3];
+ _xmove += (int8)data[4];
+ _ymove += (int8)data[5];
+ data += 6;
if (!width || !height)
return 0;