diff options
Diffstat (limited to 'engines/mortevielle')
-rw-r--r-- | engines/mortevielle/sound.cpp | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/engines/mortevielle/sound.cpp b/engines/mortevielle/sound.cpp index 097ea8e76d..8f96c5bcec 100644 --- a/engines/mortevielle/sound.cpp +++ b/engines/mortevielle/sound.cpp @@ -848,15 +848,22 @@ void SoundManager::startSpeech(int rep, int ht, int typ) { } void SoundManager::waitSpeech() { + if (_soundType == 0) { #ifdef USE_TTS - if (!_ttsMan) - return; - while (_ttsMan->isSpeaking() && !_vm->keyPressed() && !_vm->_mouseClick && !_vm->shouldQuit()) - ; - // In case the handle is still active, stop it. - _ttsMan->stop(); + if (!_ttsMan) + return; + while (_ttsMan->isSpeaking() && !_vm->keyPressed() && !_vm->_mouseClick && !_vm->shouldQuit()) + ; + // In case the TTS is still speaking, stop it. + _ttsMan->stop(); #endif // USE_TTS + } else { + while (_mixer->isSoundHandleActive(_soundHandle) && !_vm->keyPressed() && !_vm->_mouseClick && !_vm->shouldQuit()) + ; + // In case the handle is still active, stop it. + _mixer->stopHandle(_soundHandle); + } if (!_vm->keyPressed() && !_vm->_mouseClick && !_vm->shouldQuit()) g_system->delayMillis(600); } |