From 8a29adab6fc432d3f265fc692dd9f2c52848c625 Mon Sep 17 00:00:00 2001 From: Florian Kagerer Date: Mon, 14 Sep 2009 22:24:30 +0000 Subject: LOL: fix some regressions svn-id: r44092 --- engines/kyra/lol.cpp | 4 ++-- engines/kyra/lol.h | 2 +- engines/kyra/script_lol.cpp | 17 ++++++++++------- engines/kyra/sound_towns.cpp | 1 - 4 files changed, 13 insertions(+), 11 deletions(-) (limited to 'engines/kyra') diff --git a/engines/kyra/lol.cpp b/engines/kyra/lol.cpp index 04e4ef88fc..201e55ab5a 100644 --- a/engines/kyra/lol.cpp +++ b/engines/kyra/lol.cpp @@ -1722,7 +1722,7 @@ void LoLEngine::createGfxTables() { if (_flags.isTalkie || _loadSuppFilesFlag) return; - Palette tpal(768); + 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; @@ -2209,7 +2209,7 @@ int LoLEngine::processMagicIce(int charNum, int spellLevel) { gui_drawScene(0); _screen->copyPage(0, 12); - Palette tpal(768), swampCol(768); + Palette tpal(256), swampCol(256); if (_currentLevel == 11 && !(_flagsTable[52] & 0x04)) { uint8 *sc = _screen->getPalette(0).getData(); diff --git a/engines/kyra/lol.h b/engines/kyra/lol.h index 496bac3370..00e509aa16 100644 --- a/engines/kyra/lol.h +++ b/engines/kyra/lol.h @@ -744,7 +744,7 @@ private: int olol_characterSkillTest(EMCState *script); int olol_countAllMonsters(EMCState *script); int olol_playEndSequence(EMCState *script); - int olol_stopCharacterSpeech(EMCState *script); + int olol_updatePortraits(EMCState *script); int olol_setPaletteBrightness(EMCState *script); int olol_calcInflictableDamage(EMCState *script); int olol_getInflictedDamage(EMCState *script); diff --git a/engines/kyra/script_lol.cpp b/engines/kyra/script_lol.cpp index 5fb5f18116..6b88c090cb 100644 --- a/engines/kyra/script_lol.cpp +++ b/engines/kyra/script_lol.cpp @@ -1287,8 +1287,10 @@ int LoLEngine::olol_releaseMonsterShapes(EMCState *script) { int LoLEngine::olol_playCharacterScriptChat(EMCState *script) { debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_playCharacterScriptChat(%p) (%d, %d, %d)", (const void *)script, stackPos(0), stackPos(1), stackPos(2)); - snd_stopSpeech(1); - updatePortraits(); + if (_flags.isTalkie) { + snd_stopSpeech(1); + updatePortraits(); + } return playCharacterScriptChat(stackPos(0), stackPos(1), 1, getLangString(stackPos(2)), script, 0, 3); } @@ -1427,9 +1429,10 @@ int LoLEngine::olol_playEndSequence(EMCState *script){ return 0; } -int LoLEngine::olol_stopCharacterSpeech(EMCState *script) { - debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_stopCharacterSpeech(%p)", (const void *)script); - snd_stopSpeech(1); +int LoLEngine::olol_updatePortraits(EMCState *script) { + debugC(3, kDebugLevelScriptFuncs, "LoLEngine::olol_updatePortraits(%p)", (const void *)script); + if (_flags.isTalkie) + snd_stopSpeech(1); updatePortraits(); return 1; } @@ -2184,7 +2187,7 @@ int LoLEngine::olol_restoreMagicShroud(EMCState *script) { _res->loadFileToBuf("LITEPAL3.COL", tpal1, 768); _screen->generateFadeTable(tpal2, tpal4, tpal1, 4); - Palette pal(768); + Palette pal(256); for (int i = 0; i < 21; i++) { uint32 etime = _system->getMillis() + 20 * _tickLength; @@ -2804,7 +2807,7 @@ void LoLEngine::setupOpcodeTable() { // 0x68 Opcode(olol_countAllMonsters); Opcode(olol_playEndSequence); - Opcode(olol_stopCharacterSpeech); + Opcode(olol_updatePortraits); Opcode(olol_setPaletteBrightness); // 0x6C diff --git a/engines/kyra/sound_towns.cpp b/engines/kyra/sound_towns.cpp index ffa9f720a7..27c962b8c9 100644 --- a/engines/kyra/sound_towns.cpp +++ b/engines/kyra/sound_towns.cpp @@ -2941,7 +2941,6 @@ TownsPC98_OpnCore::TownsPC98_OpnCore(Audio::Mixer *mixer, OpnType type) : } TownsPC98_OpnCore::~TownsPC98_OpnCore() { - _mixer->stopHandle(_soundHandle); delete _ssg; delete _prc; delete[] _chanInternal; -- cgit v1.2.3