diff options
author | Travis Howell | 2009-11-24 23:34:03 +0000 |
---|---|---|
committer | Travis Howell | 2009-11-24 23:34:03 +0000 |
commit | 3fda71b10c6a4c0bb6949c7cc032bd4b4d4a5323 (patch) | |
tree | 8d76b19b4db809e103590e99c6aab5f858d7083d | |
parent | c43d9cacdae5cb1737e92ea37bc7293d4ceebea4 (diff) | |
download | scummvm-rg350-3fda71b10c6a4c0bb6949c7cc032bd4b4d4a5323.tar.gz scummvm-rg350-3fda71b10c6a4c0bb6949c7cc032bd4b4d4a5323.tar.bz2 scummvm-rg350-3fda71b10c6a4c0bb6949c7cc032bd4b4d4a5323.zip |
Add patch #2903170 - MM C64: costume fix.
svn-id: r46133
-rw-r--r-- | engines/scumm/costume.cpp | 18 |
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; |