diff options
Diffstat (limited to 'engines/access/video')
-rw-r--r-- | engines/access/video/movie_decoder.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/engines/access/video/movie_decoder.cpp b/engines/access/video/movie_decoder.cpp index 78b7a33fd0..c67dac6379 100644 --- a/engines/access/video/movie_decoder.cpp +++ b/engines/access/video/movie_decoder.cpp @@ -619,10 +619,11 @@ bool AccessVIDMovieDecoder::StreamVideoTrack::skipOverPalette(Common::SeekableRe void AccessVIDMovieDecoder::StreamVideoTrack::decodePalette(Common::SeekableReadStream *stream) { assert(stream); + // VID files use a 6-bit palette and not a 8-bit one, we change it to 8-bit for (uint16 curColor = 0; curColor < 256; curColor++) { - _palette[curColor * 3] = stream->readByte(); - _palette[curColor * 3 + 1] = stream->readByte(); - _palette[curColor * 3 + 2] = stream->readByte(); + _palette[curColor * 3] = stream->readByte() << 2; + _palette[curColor * 3 + 1] = stream->readByte() << 2; + _palette[curColor * 3 + 2] = stream->readByte() << 2; } _dirtyPalette = true; |