diff options
author | Peter Kohaut | 2019-06-24 21:43:43 +0200 |
---|---|---|
committer | Peter Kohaut | 2019-06-24 21:45:56 +0200 |
commit | dd0c0302782246d50290edd8681f03033078254c (patch) | |
tree | 038c210b1ba00df56e14afa69216e37025e877b2 /engines/bladerunner/vqa_decoder.cpp | |
parent | 3036f8161ad86c10af14a3e37b8c788bcf17633f (diff) | |
download | scummvm-rg350-dd0c0302782246d50290edd8681f03033078254c.tar.gz scummvm-rg350-dd0c0302782246d50290edd8681f03033078254c.tar.bz2 scummvm-rg350-dd0c0302782246d50290edd8681f03033078254c.zip |
BLADERUNNER: Fixed alpha channel issues
Alpha channel is inverted in the game assets and that lead to issues in
OpenGL renderer. E.g. screenshot of savegames were partly black or
showing artifacts
closes #10983
Diffstat (limited to 'engines/bladerunner/vqa_decoder.cpp')
-rw-r--r-- | engines/bladerunner/vqa_decoder.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/engines/bladerunner/vqa_decoder.cpp b/engines/bladerunner/vqa_decoder.cpp index 3b230ef6c6..68737858ca 100644 --- a/engines/bladerunner/vqa_decoder.cpp +++ b/engines/bladerunner/vqa_decoder.cpp @@ -835,7 +835,8 @@ void VQADecoder::VQAVideoTrack::VPTRWriteBlock(Graphics::Surface *surface, unsig uint8 a, r, g, b; gameDataPixelFormat().colorToARGB(vqaColor, a, r, g, b); - uint16 outColor = (uint16)surface->format.ARGBToColor(a, r, g, b); + // Ignore the alpha in the output as it is inversed in the input + uint16 outColor = (uint16)surface->format.RGBToColor(r, g, b); if (!(alpha && a)) { *(uint16 *)(surface->getBasePtr(dst_x + x, dst_y + y)) = outColor; |