diff options
author | Johannes Schickel | 2008-04-20 00:32:39 +0000 |
---|---|---|
committer | Johannes Schickel | 2008-04-20 00:32:39 +0000 |
commit | 733676033ae17e898012e6119a0a72d4798f5501 (patch) | |
tree | cb3b8117d86d27dde8ad8d9c8b92e46d298d962c /engines/kyra | |
parent | fb02a030a55f7eed0b58f6ab0ba7638b48b04a14 (diff) | |
download | scummvm-rg350-733676033ae17e898012e6119a0a72d4798f5501.tar.gz scummvm-rg350-733676033ae17e898012e6119a0a72d4798f5501.tar.bz2 scummvm-rg350-733676033ae17e898012e6119a0a72d4798f5501.zip |
Fixed bug in playStudioSFX.
svn-id: r31586
Diffstat (limited to 'engines/kyra')
-rw-r--r-- | engines/kyra/kyra_v3.cpp | 8 | ||||
-rw-r--r-- | engines/kyra/kyra_v3.h | 2 | ||||
-rw-r--r-- | engines/kyra/script_v3.cpp | 2 |
3 files changed, 8 insertions, 4 deletions
diff --git a/engines/kyra/kyra_v3.cpp b/engines/kyra/kyra_v3.cpp index 42207299d2..dc59d1966f 100644 --- a/engines/kyra/kyra_v3.cpp +++ b/engines/kyra/kyra_v3.cpp @@ -439,11 +439,15 @@ void KyraEngine_v3::snd_stopVoice() { _soundDigital->stopSound(_voiceSoundChannel); } -void KyraEngine_v3::playStudioSFX() { - debugC(9, kDebugLevelMain, "KyraEngine_v3::playStudioSFX()"); +void KyraEngine_v3::playStudioSFX(const char *str) { + debugC(9, kDebugLevelMain, "KyraEngine_v3::playStudioSFX('%s')", str); if (_rnd.getRandomNumberRng(1, 2) != 2) return; + const int strSize = strlen(str) - 1; + if (str[strSize] != '?' && str[strSize] != '!') + return; + playSoundEffect(_curStudioSFX++, 128); if (_curStudioSFX > 291) diff --git a/engines/kyra/kyra_v3.h b/engines/kyra/kyra_v3.h index 7d6cf6e8ed..7f6e556d7a 100644 --- a/engines/kyra/kyra_v3.h +++ b/engines/kyra/kyra_v3.h @@ -138,7 +138,7 @@ private: void snd_stopVoice(); int _curStudioSFX; - void playStudioSFX(); + void playStudioSFX(const char *str); // main menu void initMainMenu(); diff --git a/engines/kyra/script_v3.cpp b/engines/kyra/script_v3.cpp index 061bca4c2a..75ca5ae107 100644 --- a/engines/kyra/script_v3.cpp +++ b/engines/kyra/script_v3.cpp @@ -107,7 +107,7 @@ int KyraEngine_v3::o3_objectChat(ScriptState *script) { const char *str = (const char*)getTableEntry(_useActorBuffer ? _actorFile : _sceneStrings, id); if (str) { objectChat(str, 0, _vocHigh, id); - playStudioSFX(); + playStudioSFX(str); } return 0; } |