diff options
author | Travis Howell | 2005-05-08 14:31:27 +0000 |
---|---|---|
committer | Travis Howell | 2005-05-08 14:31:27 +0000 |
commit | 01b2f3867093cae9626126ce35bd2731a7072c6a (patch) | |
tree | e1555496b97df3b005e4b5bab0a2cb78894ffb58 /scumm/string.cpp | |
parent | a81b093e65f90ea70c5b07676a1fcc46d3e95a5e (diff) | |
download | scummvm-rg350-01b2f3867093cae9626126ce35bd2731a7072c6a.tar.gz scummvm-rg350-01b2f3867093cae9626126ce35bd2731a7072c6a.tar.bz2 scummvm-rg350-01b2f3867093cae9626126ce35bd2731a7072c6a.zip |
HE games queue speech as sound resource 1.
svn-id: r17965
Diffstat (limited to 'scumm/string.cpp')
-rw-r--r-- | scumm/string.cpp | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/scumm/string.cpp b/scumm/string.cpp index f41a9bb1fb..e847219ed4 100644 --- a/scumm/string.cpp +++ b/scumm/string.cpp @@ -274,7 +274,7 @@ void ScummEngine::CHARSET_1() { value[i] = 0; talk_sound_b = atoi(value); - _sound->talkSound(talk_sound_a, talk_sound_b, 2); + _sound->startHETalkSound(talk_sound_a); break; case 104: _haveMsg = 0; @@ -295,7 +295,7 @@ void ScummEngine::CHARSET_1() { talk_sound_a = atoi(value); talk_sound_b = 0; - _sound->talkSound(talk_sound_a, talk_sound_b, 2); + _sound->startHETalkSound(talk_sound_a); break; case 119: if (_haveMsg != 0xFE) @@ -335,7 +335,11 @@ void ScummEngine::CHARSET_1() { talk_sound_b = buffer[8] | (buffer[9] << 8) | (buffer[12] << 16) | (buffer[13] << 24); buffer += 14; - _sound->talkSound(talk_sound_a, talk_sound_b, 2); + if (_heversion >= 60) { + _sound->startHETalkSound(talk_sound_a); + } else { + _sound->talkSound(talk_sound_a, talk_sound_b, 2); + } // Set flag that speech variant exist of this msg. // This is actually a hack added by ScummVM; the original did @@ -393,6 +397,8 @@ loc_avoid_ks_fe: } else { if ((_imuseDigital && _sound->isSoundRunning(kTalkSoundID)) && (!ConfMan.getBool("subtitles") || VAR(VAR_VOICE_MODE) == 0)) { // Special case for games using imuse digital.for sound + } else if (_heversion >= 60 && !ConfMan.getBool("subtitles") && _sound->isSoundRunning(1)) { + // Special case for HE games } else if ((_gameId == GID_LOOM256) && !ConfMan.getBool("subtitles") && (_sound->pollCD())) { // Special case for loomcd, since it only uses CD audio.for sound } else if (!ConfMan.getBool("subtitles") && (_haveMsg == 0xFE || _mixer->isSoundHandleActive(_sound->_talkChannelHandle))) { |