diff options
author | Florian Kagerer | 2009-09-20 23:25:39 +0000 |
---|---|---|
committer | Florian Kagerer | 2009-09-20 23:25:39 +0000 |
commit | 4d9258d3e56f45c87a279313098d3606c5e6d46e (patch) | |
tree | 6497a903534aae0b54dc4cde0808564ceff12f3b /engines/kyra/lol.cpp | |
parent | e062a56c315d2a93a7496676741c767fd99b5e69 (diff) | |
download | scummvm-rg350-4d9258d3e56f45c87a279313098d3606c5e6d46e.tar.gz scummvm-rg350-4d9258d3e56f45c87a279313098d3606c5e6d46e.tar.bz2 scummvm-rg350-4d9258d3e56f45c87a279313098d3606c5e6d46e.zip |
LOL/PC-98: start fixing color issues (still not working correctly though)
svn-id: r44223
Diffstat (limited to 'engines/kyra/lol.cpp')
-rw-r--r-- | engines/kyra/lol.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp index 4e2cfa4bb0..70bba25764 100644 --- a/engines/kyra/lol.cpp +++ b/engines/kyra/lol.cpp @@ -1697,12 +1697,18 @@ void LoLEngine::setPaletteBrightness(const Palette &srcPal, int brightness, int void LoLEngine::generateBrightnessPalette(const Palette &src, Palette &dst, int brightness, int modifier) { dst.copy(src); if (_flags.use16ColorMode) { - if (!(brightness && modifier >= 0 && modifier < 8 && (_flagsTable[31] & 0x08))) + if (!brightness) + modifier = 0; + else if (modifier < 0 || modifier > 7 || (_flagsTable[31] & 0x08)) modifier = 8; + modifier >>= 1; if (modifier) modifier--; - _blockBrightness = 16 * modifier; + if (modifier > 3) + modifier = 3; + _blockBrightness = modifier << 4; + _sceneUpdateRequired = true; } else { _screen->loadSpecialColors(dst); @@ -1743,7 +1749,6 @@ void LoLEngine::createGfxTables() { return; if (_flags.use16ColorMode) { - _screen->loadPalette("lol.nol", _screen->getPalette(0)); } else { Palette tpal(256); @@ -3902,7 +3907,8 @@ void LoLEngine::displayAutomap() { for (int i = 0; i < 109; i++) _automapShapes[i] = _screen->getPtrToShape(shp, i + 11); - _screen->generateGrayOverlay(_screen->getPalette(3), _mapOverlay, 52, 0, 0, 0, 256, false); + if (!_flags.use16ColorMode) + _screen->generateGrayOverlay(_screen->getPalette(3), _mapOverlay, 52, 0, 0, 0, 256, false); _screen->loadFont(Screen::FID_9_FNT, "FONT9PN.FNT"); _screen->loadFont(Screen::FID_6_FNT, "FONT6PN.FNT"); |