diff options
-rw-r--r-- | engines/kyra/gui.cpp | 30 |
1 files changed, 18 insertions, 12 deletions
diff --git a/engines/kyra/gui.cpp b/engines/kyra/gui.cpp index ff9dbe024d..f36d7c417f 100644 --- a/engines/kyra/gui.cpp +++ b/engines/kyra/gui.cpp @@ -111,31 +111,34 @@ int KyraEngine::buttonAmuletCallback(Button *caller) { return 1; if (_itemInHand != -1) { assert(_putDownFirst); - if (_features & GF_TALKIE) { + if (_features & GF_TALKIE && (_configVoice == 1 || _configVoice == 2)) { snd_voiceWaitForFinish(); snd_playVoiceFile(2000); } - characterSays(_putDownFirst[0], 0, -2); + if (_features & GF_FLOPPY || (_configVoice == 0 || _configVoice == 2)) + characterSays(_putDownFirst[0], 0, -2); return 1; } if (queryGameFlag(0xF1)) { assert(_waitForAmulet); - if (_features & GF_TALKIE) { + if (_features & GF_TALKIE && (_configVoice == 1 || _configVoice == 2)) { snd_voiceWaitForFinish(); snd_playVoiceFile(2001); } - characterSays(_waitForAmulet[0], 0, -2); + if (_features & GF_FLOPPY || (_configVoice == 0 || _configVoice == 2)) + characterSays(_waitForAmulet[0], 0, -2); return 1; } if (!queryGameFlag(0x55+jewel)) { assert(_blackJewel); _animator->makeBrandonFaceMouse(); drawJewelPress(jewel, 1); - if (_features & GF_TALKIE) { + if (_features & GF_TALKIE && (_configVoice == 1 || _configVoice == 2)) { snd_voiceWaitForFinish(); snd_playVoiceFile(2002); } - characterSays(_blackJewel[0], 0, -2); + if (_features & GF_FLOPPY || (_configVoice == 0 || _configVoice == 2)) + characterSays(_blackJewel[0], 0, -2); return 1; } drawJewelPress(jewel, 0); @@ -162,11 +165,12 @@ int KyraEngine::buttonAmuletCallback(Button *caller) { } else if (_brandonStatusBit == 0) { seq_brandonHealing(); assert(_healingTip); - if (_features & GF_TALKIE) { + if (_features & GF_TALKIE && (_configVoice == 1 || _configVoice == 2)) { snd_voiceWaitForFinish(); snd_playVoiceFile(2003); } - characterSays(_healingTip[0], 0, -2); + if (_features & GF_FLOPPY || (_configVoice == 0 || _configVoice == 2)) + characterSays(_healingTip[0], 0, -2); } break; @@ -177,11 +181,12 @@ int KyraEngine::buttonAmuletCallback(Button *caller) { case 2: if (_brandonStatusBit & 1) { assert(_wispJewelStrings); - if (_features & GF_TALKIE) { + if (_features & GF_TALKIE && (_configVoice == 1 || _configVoice == 2)) { snd_voiceWaitForFinish(); snd_playVoiceFile(2004); } - characterSays(_wispJewelStrings[0], 0, -2); + if (_features & GF_FLOPPY || (_configVoice == 0 || _configVoice == 2)) + characterSays(_wispJewelStrings[0], 0, -2); } else { if (_brandonStatusBit & 2) { // XXX @@ -205,11 +210,12 @@ int KyraEngine::buttonAmuletCallback(Button *caller) { case 3: seq_dispelMagicAnimation(); assert(_magicJewelString); - if (_features & GF_TALKIE) { + if (_features & GF_TALKIE && (_configVoice == 1 || _configVoice == 2)) { snd_voiceWaitForFinish(); snd_playVoiceFile(2007); } - characterSays(_magicJewelString[0], 0, -2); + if (_features & GF_FLOPPY || (_configVoice == 0 || _configVoice == 2)) + characterSays(_magicJewelString[0], 0, -2); break; default: |