aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOystein Eftevaag2006-05-28 02:51:03 +0000
committerOystein Eftevaag2006-05-28 02:51:03 +0000
commit76d722d941c788f7660809abbad422c1bf14ec6e (patch)
tree7b137a0aa7fcf7b4dbec3e2ddc1ec7b162cb6e1e
parent25c295abc5c429bd764923d3ee0b027c8159ed8c (diff)
downloadscummvm-rg350-76d722d941c788f7660809abbad422c1bf14ec6e.tar.gz
scummvm-rg350-76d722d941c788f7660809abbad422c1bf14ec6e.tar.bz2
scummvm-rg350-76d722d941c788f7660809abbad422c1bf14ec6e.zip
Fixes bug [ 1480746 ] KYRA1: menu triggers assertion, and sets the text/speech config options correctly for CD versions
svn-id: r22693
-rw-r--r--engines/kyra/gui.cpp12
-rw-r--r--engines/kyra/script_v1.cpp4
2 files changed, 8 insertions, 8 deletions
diff --git a/engines/kyra/gui.cpp b/engines/kyra/gui.cpp
index 0e2ac3b076..ff9dbe024d 100644
--- a/engines/kyra/gui.cpp
+++ b/engines/kyra/gui.cpp
@@ -677,19 +677,19 @@ void KyraEngine::calcCoords(Menu &menu) {
int textX = menu.item[i].labelX + menu_x1;
int offset;
- if (textWidth + textX > x1) {
- offset = (textWidth + textX) - x1;
- menu.width += offset/2;
-
+ if (textWidth/2 + textX >= x1) {
+ offset = ((textWidth + textX) - x1) / 2;
if (maxOffset < offset)
maxOffset = offset;
}
}
}
- if (maxOffset > 0)
+ if (maxOffset > 0) {
for (int i = 0; i < menu.nrOfItems; i++)
- menu.item[i].x += maxOffset - 10;
+ menu.item[i].x += maxOffset + 20;
+ menu.width += maxOffset + 20;
+ }
if (menu.width > 310)
menu.width = 310;
diff --git a/engines/kyra/script_v1.cpp b/engines/kyra/script_v1.cpp
index ff1494b894..946983d7c9 100644
--- a/engines/kyra/script_v1.cpp
+++ b/engines/kyra/script_v1.cpp
@@ -49,7 +49,7 @@ int KyraEngine::cmd_characterSays(ScriptState *script) {
snd_voiceWaitForFinish();
snd_playVoiceFile(stackPos(0));
}
- if (_configVoice == 0 || _configVoice == 1)
+ if (_configVoice == 0 || _configVoice == 2)
characterSays(stackPosString(1), stackPos(2), stackPos(3));
} else {
debugC(3, kDebugLevelScriptFuncs, "cmd_characterSays(%p) ('%s', %d, %d)", (const void *)script, stackPosString(0), stackPos(1), stackPos(2));
@@ -623,7 +623,7 @@ int KyraEngine::cmd_customPrintTalkString(ScriptState *script) {
snd_playVoiceFile(stackPos(0));
}
_skipFlag = false;
- if (_configVoice == 0 || _configVoice == 1)
+ if (_configVoice == 0 || _configVoice == 2)
_text->printTalkTextMessage(stackPosString(1), stackPos(2), stackPos(3), stackPos(4) & 0xFF, 0, 2);
} else {
debugC(3, kDebugLevelScriptFuncs, "cmd_customPrintTalkString(%p) ('%s', %d, %d, %d)", (const void *)script, stackPosString(0), stackPos(1), stackPos(2), stackPos(3) & 0xFF);