aboutsummaryrefslogtreecommitdiff
path: root/engines/kyra
diff options
context:
space:
mode:
authorFlorian Kagerer2009-09-14 22:24:30 +0000
committerFlorian Kagerer2009-09-14 22:24:30 +0000
commit8a29adab6fc432d3f265fc692dd9f2c52848c625 (patch)
treefd7fb61f92f511f2b2cb17fcdb28f8d8304b7ea5 /engines/kyra
parenta13b03e4d9ed3e2147f4505bf514bbd81e7433fd (diff)
downloadscummvm-rg350-8a29adab6fc432d3f265fc692dd9f2c52848c625.tar.gz
scummvm-rg350-8a29adab6fc432d3f265fc692dd9f2c52848c625.tar.bz2
scummvm-rg350-8a29adab6fc432d3f265fc692dd9f2c52848c625.zip
LOL: fix some regressions
svn-id: r44092
Diffstat (limited to 'engines/kyra')
-rw-r--r--engines/kyra/lol.cpp4
-rw-r--r--engines/kyra/lol.h2
-rw-r--r--engines/kyra/script_lol.cpp17
-rw-r--r--engines/kyra/sound_towns.cpp1
4 files changed, 13 insertions, 11 deletions
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;