aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/lol.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2009-09-30 20:42:58 +0000
committerFlorian Kagerer2009-09-30 20:42:58 +0000
commit94572773d0567151627e87fcd5f3cba8420321cb (patch)
treea02e4fe3bde70f435be951a3ecef6c49b462706d /engines/kyra/lol.cpp
parenta5d1094daba6dd0f9df42d7b0307a05d78fdaa36 (diff)
downloadscummvm-rg350-94572773d0567151627e87fcd5f3cba8420321cb.tar.gz
scummvm-rg350-94572773d0567151627e87fcd5f3cba8420321cb.tar.bz2
scummvm-rg350-94572773d0567151627e87fcd5f3cba8420321cb.zip
LOL/PC-98: - fix spell effect colors
- fix some font color glitches svn-id: r44498
Diffstat (limited to 'engines/kyra/lol.cpp')
-rw-r--r--engines/kyra/lol.cpp14
1 files changed, 13 insertions, 1 deletions
diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp
index 704413288e..c28ea6a35c 100644
--- a/engines/kyra/lol.cpp
+++ b/engines/kyra/lol.cpp
@@ -1754,10 +1754,22 @@ void LoLEngine::createGfxTables() {
if (_flags.isTalkie || _loadSuppFilesFlag)
return;
+ Palette tpal(256);
if (_flags.use16ColorMode) {
+ static const uint8 colTbl[] = { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F };
+ uint8 *p = _screen->getPalette(0).getData();
+
+ tpal.fill(0, 256, 0xff);
+ uint8 *d = tpal.getData();
+ for (int i = 15; i >= 0; i--) {
+ d[colTbl[i] * 3 + 2] = p[i * 3 + 2];
+ d[colTbl[i] * 3 + 1] = p[i * 3 + 1];
+ d[colTbl[i] * 3] = p[i * 3];
+ }
+
+ _screen->generateTruelightTables(colTbl, 16, tpal, tpal, _trueLightTable1, _trueLightTable2, 80);
_screen->loadPalette("lol.nol", _screen->getPalette(0));
} else {
- Palette tpal(256);
_screen->loadPalette("fxpal.col", tpal);
_screen->loadBitmap("fxpal.shp", 3, 3, 0);
const uint8 *shpPal = _screen->getPtrToShape(_screen->getCPagePtr(2), 0) + 11;