aboutsummaryrefslogtreecommitdiff
path: root/graphics/VectorRendererSpec.cpp
diff options
context:
space:
mode:
authorJohannes Schickel2009-07-30 16:51:53 +0000
committerJohannes Schickel2009-07-30 16:51:53 +0000
commitf41b49625511c68dadd5d0d708f31b98576c297f (patch)
tree0bf9009394f37a59028c845b71ee19431bc2f4b6 /graphics/VectorRendererSpec.cpp
parent8c323b6bb8d1a695cad31847aa2ba76f001f059f (diff)
downloadscummvm-rg350-f41b49625511c68dadd5d0d708f31b98576c297f.tar.gz
scummvm-rg350-f41b49625511c68dadd5d0d708f31b98576c297f.tar.bz2
scummvm-rg350-f41b49625511c68dadd5d0d708f31b98576c297f.zip
Fixed missing clearing of the low bit of the alpha mask in the "dim" screen shading function.
svn-id: r42935
Diffstat (limited to 'graphics/VectorRendererSpec.cpp')
-rw-r--r--graphics/VectorRendererSpec.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/graphics/VectorRendererSpec.cpp b/graphics/VectorRendererSpec.cpp
index 5e75ad6a7a..a575ee8b94 100644
--- a/graphics/VectorRendererSpec.cpp
+++ b/graphics/VectorRendererSpec.cpp
@@ -367,7 +367,9 @@ applyScreenShading(GUI::ThemeEngine::ShadingStyle shadingStyle) {
uint lum;
// Mask to clear the last bit of every color component and all unused bits
- const uint32 colorMask = ~((1 << _format.rShift) | (1 << _format.gShift) | (1 << _format.bShift) | ~(_alphaMask | _redMask | _greenMask | _blueMask));
+ const uint32 colorMask = ~((1 << _format.rShift) | (1 << _format.gShift) | (1 << _format.bShift) // R/G/B components
+ | (_format.aLoss == 8 ? 0 : (1 << _format.aShift)) // Alpha component
+ | ~(_alphaMask | _redMask | _greenMask | _blueMask)); // All unused bits
if (shadingStyle == GUI::ThemeEngine::kShadingDim) {