diff options
-rw-r--r-- | video/smk_decoder.cpp | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/video/smk_decoder.cpp b/video/smk_decoder.cpp index 868050e988..0247fe5dc9 100644 --- a/video/smk_decoder.cpp +++ b/video/smk_decoder.cpp @@ -726,17 +726,15 @@ void SmackerDecoder::SmackerVideoTrack::unpackPalette(Common::SeekableReadStream } else { // top 2 bits are 00 sz++; // get the lower 6 bits for each component (0x3f = 00111111) - byte b = b0 & 0x3f; + byte r = b0 & 0x3f; byte g = (*p++) & 0x3f; - byte r = (*p++) & 0x3f; - - assert(g < 0xc0 && b < 0xc0); + byte b = (*p++) & 0x3f; // 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); + *pal++ = (g * 4 + g / 16); + *pal++ = (b * 4 + b / 16); } } |