diff options
| author | Paul Gilbert | 2013-10-21 22:49:10 -0400 |
|---|---|---|
| committer | Paul Gilbert | 2013-10-21 22:49:10 -0400 |
| commit | bf8896f7dfcefeed408a279496d0971af2e03e07 (patch) | |
| tree | f8a9156522223c56f6210d9322502d9fd5ce7ac7 | |
| parent | 4bcbd7890945615a62cbee0c6600d9d2c356df5d (diff) | |
| download | scummvm-rg350-bf8896f7dfcefeed408a279496d0971af2e03e07.tar.gz scummvm-rg350-bf8896f7dfcefeed408a279496d0971af2e03e07.tar.bz2 scummvm-rg350-bf8896f7dfcefeed408a279496d0971af2e03e07.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; + } } } } |
