From 3fda71b10c6a4c0bb6949c7cc032bd4b4d4a5323 Mon Sep 17 00:00:00 2001 From: Travis Howell Date: Tue, 24 Nov 2009 23:34:03 +0000 Subject: Add patch #2903170 - MM C64: costume fix. svn-id: r46133 --- engines/scumm/costume.cpp | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'engines/scumm') 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; -- cgit v1.2.3