diff options
Diffstat (limited to 'engines/tucker/graphics.cpp')
-rw-r--r-- | engines/tucker/graphics.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/tucker/graphics.cpp b/engines/tucker/graphics.cpp index 64ec81cb2a..7b17bd0252 100644 --- a/engines/tucker/graphics.cpp +++ b/engines/tucker/graphics.cpp @@ -109,7 +109,7 @@ void Graphics::decodeRLE_224(uint8 *dst, const uint8 *src, int w, int h) { } } -void Graphics::decodeRLE_248(uint8 *dst, const uint8 *src, int w, int h, int y1, int y2, bool xflip, bool color248Only) { +void Graphics::decodeRLE_248(uint8 *dst, const uint8 *src, int w, int h, int y1, int y2, bool xflip, const int *whitelistReservedColors) { int code = 0; int color = 0; for (int y = 0; y < h; ++y) { @@ -122,7 +122,7 @@ void Graphics::decodeRLE_248(uint8 *dst, const uint8 *src, int w, int h, int y1, } } if (color != 0) { - if ((color248Only || dst[offset] < 0xE0 || y + y1 < y2) && dst[offset] < 0xF8) { + if (( (whitelistReservedColors != nullptr && (*(whitelistReservedColors + dst[offset] - 0xE0) == 1) && dst[offset] <= 0xEF) || dst[offset] < 0xE0 || y + y1 < y2) && dst[offset] < 0xF8) { dst[offset] = color; } } else { |