From 88ac15d69e550209f1a82d3090e370d2fa7d3153 Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Fri, 9 May 2014 22:53:37 -0400 Subject: MADS: Greyscale fading now close to the original --- engines/mads/palette.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'engines/mads/palette.cpp') diff --git a/engines/mads/palette.cpp b/engines/mads/palette.cpp index 1d3072f14b..e718059b67 100644 --- a/engines/mads/palette.cpp +++ b/engines/mads/palette.cpp @@ -377,7 +377,7 @@ void Fader::fadeToGrey(byte palette[PALETTE_SIZE], byte *paletteMap, intensity = _colorValues[colorCtr]; } - int diff = intensity - palette[palCtr * 3 + colorCtr]; + int diff = intensity - VGA_COLOR_REV(palette[palCtr * 3 + colorCtr]); palIndex[palCtr][colorCtr] = (byte)ABS(diff); signs[palCtr][colorCtr] = (diff == 0) ? 0 : (diff < 0 ? -1 : 1); } @@ -390,7 +390,10 @@ void Fader::fadeToGrey(byte palette[PALETTE_SIZE], byte *paletteMap, map[index]._accum[colorCtr] += palIndex[palCtr][colorCtr]; while (map[index]._accum[colorCtr] >= steps) { map[index]._accum[colorCtr] -= steps; - palette[palCtr * 3 + colorCtr] = signs[palCtr][colorCtr]; + + byte rgb63 = VGA_COLOR_REV(palette[palCtr * 3 + colorCtr]) + + signs[palCtr][colorCtr]; + palette[palCtr * 3 + colorCtr] = VGA_COLOR_TRANS(rgb63); } } } -- cgit v1.2.3