aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--video/smk_decoder.cpp9
1 files changed, 5 insertions, 4 deletions
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);
}
}