aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/lol.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2009-09-20 23:25:39 +0000
committerFlorian Kagerer2009-09-20 23:25:39 +0000
commit4d9258d3e56f45c87a279313098d3606c5e6d46e (patch)
tree6497a903534aae0b54dc4cde0808564ceff12f3b /engines/kyra/lol.cpp
parente062a56c315d2a93a7496676741c767fd99b5e69 (diff)
downloadscummvm-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.cpp14
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");