diff options
author | Paul Gilbert | 2013-10-21 22:49:10 -0400 |
---|---|---|
committer | Kamil Zbróg | 2013-10-24 12:59:15 +0100 |
commit | 26631f18a981c83b78e0379a85754e819db49388 (patch) | |
tree | 76be4f108bf54227014e9127782d53ee2c5386be | |
parent | fdf1fc361bf0283785d21827f5cf27d36988e766 (diff) | |
download | scummvm-rg350-26631f18a981c83b78e0379a85754e819db49388.tar.gz scummvm-rg350-26631f18a981c83b78e0379a85754e819db49388.tar.bz2 scummvm-rg350-26631f18a981c83b78e0379a85754e819db49388.zip |
TSAGE: Fix for R2R conversations playing when playing voice without subtitles
-rw-r--r-- | engines/tsage/ringworld2/ringworld2_speakers.cpp | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/tsage/ringworld2/ringworld2_speakers.cpp b/engines/tsage/ringworld2/ringworld2_speakers.cpp index 4be3212e77..8b6ce4a1f3 100644 --- a/engines/tsage/ringworld2/ringworld2_speakers.cpp +++ b/engines/tsage/ringworld2/ringworld2_speakers.cpp @@ -76,7 +76,7 @@ void VisualSpeaker::signal() { _fieldF8 = 1; } - if ((R2_GLOBALS._speechSubtitles & SPEECH_TEXT) || _soundId) + if ((R2_GLOBALS._speechSubtitles & SPEECH_TEXT) || !_soundId) _sceneText.show(); if ((R2_GLOBALS._speechSubtitles & SPEECH_VOICE) && _soundId) { @@ -132,6 +132,7 @@ void VisualSpeaker::dispatch() { _object1.setFrame(1); if (!(R2_GLOBALS._speechSubtitles & SPEECH_TEXT)) { + // Don't bother waiting for a mouse click to start the next speech segment _action->setDelay(1); } } @@ -244,8 +245,13 @@ void VisualSpeaker::setText(const Common::String &msg) { _sceneText.hide(); } else { if ((R2_GLOBALS._speechSubtitles & SPEECH_VOICE) && _soundId) { - if (!R2_GLOBALS._playStream.play(_soundId, NULL)) + if (!R2_GLOBALS._playStream.play(_soundId, NULL)) { + // Couldn't play voice, so fall back on showing text _sceneText.show(); + } else { + _numFrames = 2; + _soundId = 0; + } } } } |