From 5d4b6b79db701fac2e9511de8cc977a5def4160c Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 11 Mar 2014 21:01:07 -0400 Subject: MADS: Fix for palette initialisation in Palette::initRange --- engines/mads/palette.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'engines/mads/palette.cpp') diff --git a/engines/mads/palette.cpp b/engines/mads/palette.cpp index 1525be982d..9b93fb3cd3 100644 --- a/engines/mads/palette.cpp +++ b/engines/mads/palette.cpp @@ -553,8 +553,10 @@ void Palette::initRange(byte *palette) { int var6 = 0; int vdx = 0; int vbx = 0; + byte *destP = palette; + do { - int vdi = (vdx == 1) ? 0 : 0x2A; + int vdi = (vdx == 1) ? 0x3F : 0x2A; int var8 = 0; int varE = vbx; int var10 = vdx; @@ -565,11 +567,10 @@ void Palette::initRange(byte *palette) { int var4 = vdx; do { int var2 = var6 + vcx; - byte *destP = &palette[var2 * 3]; - destP[0] = (var8) ? vdi & 0xFF : vbx & 0XFF; - destP[1] = (var4) ? vdi & 0xFF : vbx & 0XFF; - destP[2] = (vcx) ? vdi & 0xFF : vbx & 0XFF; + *destP++ = (var8) ? vdi & 0xFF : vbx & 0XFF; + *destP++ = (var4) ? vdi & 0xFF : vbx & 0XFF; + *destP++ = (vcx) ? vdi & 0xFF : vbx & 0XFF; } while (++vcx < 2); var6 += 2; -- cgit v1.2.3