aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2013-10-21 22:49:10 -0400
committerKamil Zbróg2013-10-24 12:59:15 +0100
commit26631f18a981c83b78e0379a85754e819db49388 (patch)
tree76be4f108bf54227014e9127782d53ee2c5386be
parentfdf1fc361bf0283785d21827f5cf27d36988e766 (diff)
downloadscummvm-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.cpp10
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;
+ }
}
}
}