From 75806cd73c45278105ac4a3326ba7c80e86618ba Mon Sep 17 00:00:00 2001 From: Torbjörn Andersson Date: Wed, 1 Jan 2014 19:48:17 +0100 Subject: VIDEO: Fix Smacker palette upscaling to match Multimedia Wiki The Multimedia Wiki suggests using a lookup table, but this should produce the same result. --- video/smk_decoder.cpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'video') diff --git a/video/smk_decoder.cpp b/video/smk_decoder.cpp index 3dbcebcde4..868050e988 100644 --- a/video/smk_decoder.cpp +++ b/video/smk_decoder.cpp @@ -732,10 +732,11 @@ void SmackerDecoder::SmackerVideoTrack::unpackPalette(Common::SeekableReadStream assert(g < 0xc0 && b < 0xc0); - // upscale to full 8-bit color values by multiplying by 4 - *pal++ = b * 4; - *pal++ = g * 4; - *pal++ = r * 4; + // upscale to full 8-bit color values. The Multimedia Wiki suggests + // a lookup table for this, but this should produce the same result. + *pal++ = (b * 4 + b / 16); + *pal++ = (g * 4 + g / 16); + *pal++ = (r * 4 + r / 16); } } -- cgit v1.2.3