aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra/scene_lol.cpp
diff options
context:
space:
mode:
authorFlorian Kagerer2009-09-03 21:03:10 +0000
committerFlorian Kagerer2009-09-03 21:03:10 +0000
commit1dfb5c2b30be6778a5e17ca9b5f56f9ba7702a8e (patch)
tree2790fe8573b122db50840d9feb68901368b2802f /engines/kyra/scene_lol.cpp
parentebe1b94eb1561b566124b7dcbb73cf3b0a659b33 (diff)
downloadscummvm-rg350-1dfb5c2b30be6778a5e17ca9b5f56f9ba7702a8e.tar.gz
scummvm-rg350-1dfb5c2b30be6778a5e17ca9b5f56f9ba7702a8e.tar.bz2
scummvm-rg350-1dfb5c2b30be6778a5e17ca9b5f56f9ba7702a8e.zip
LOL: some more work on the floppy version (drawing code is still broken)
svn-id: r43923
Diffstat (limited to 'engines/kyra/scene_lol.cpp')
-rw-r--r--engines/kyra/scene_lol.cpp25
1 files changed, 19 insertions, 6 deletions
diff --git a/engines/kyra/scene_lol.cpp b/engines/kyra/scene_lol.cpp
index 3dadeb91c8..bc1f11a492 100644
--- a/engines/kyra/scene_lol.cpp
+++ b/engines/kyra/scene_lol.cpp
@@ -440,21 +440,34 @@ void LoLEngine::loadLevelGraphics(const char *file, int specialColor, int weight
_loadSuppFilesFlag = 0;
generateBrightnessPalette(_screen->getPalette(0), _screen->getPalette(1), _brightness, _lampEffect);
- char tname[13];
- snprintf(tname, sizeof(tname), "LEVEL%.02d.TLC", _currentLevel);
- Common::SeekableReadStream *s = _res->createReadStream(tname);
- if (s) {
+ if (_flags.isTalkie) {
+ char tname[13];
+ snprintf(tname, sizeof(tname), "LEVEL%.02d.TLC", _currentLevel);
+ Common::SeekableReadStream *s = _res->createReadStream(tname);
s->read(_trueLightTable1, 256);
s->read(_trueLightTable2, 5120);
delete s;
} else {
- memset(_trueLightTable1, 0, 256);
- memset(_trueLightTable2, 0, 5120);
+ loadFxTables();
}
_loadSuppFilesFlag = 1;
}
+void LoLEngine::loadFxTables() {
+ if (_flags.isTalkie || _loadSuppFilesFlag)
+ return;
+
+ Palette tpal(768);
+ _screen->loadPalette("fxpal.col", tpal);
+ _screen->loadBitmap("fxpal.shp", 3, 3, 0);
+ const uint8 *v = _screen->getCPagePtr(2) + 11;
+
+ _screen->generateTruelightTables(v, 20, tpal, _screen->getPalette(1), _trueLightTable1, _trueLightTable2, 70);
+
+ _loadSuppFilesFlag = 1;
+}
+
void LoLEngine::resetItems(int flag) {
for (int i = 0; i < 1024; i++) {
_levelBlockProperties[i].direction = 5;