[Scummvm-git-logs] scummvm master -> 94950c1f7c9db7697ea36668b687b2648d9110e1
dreammaster
noreply at scummvm.org
Thu Jun 18 11:21:05 UTC 2026
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
94950c1f7c MADS: DRAGONSPHERE: Fix accidental double play of speech lines
Commit: 94950c1f7c9db7697ea36668b687b2648d9110e1
https://github.com/scummvm/scummvm/commit/94950c1f7c9db7697ea36668b687b2648d9110e1
Author: Paul Gilbert (dreammaster at scummvm.org)
Date: 2026-06-18T21:20:53+10:00
Commit Message:
MADS: DRAGONSPHERE: Fix accidental double play of speech lines
Changed paths:
engines/mads/madsv2/core/conv.cpp
diff --git a/engines/mads/madsv2/core/conv.cpp b/engines/mads/madsv2/core/conv.cpp
index e418a5bc6fb..66faa7aebb8 100644
--- a/engines/mads/madsv2/core/conv.cpp
+++ b/engines/mads/madsv2/core/conv.cpp
@@ -1349,44 +1349,33 @@ static void conv_generate_message(Conv *convIn, ConvData *convData,
if (msgListSize == 0)
goto done;
- // TODO: Hook this up to ScummVM subtitles - original disabled reply boxes if in voice only mode
- //if (speech_system_active && speech_on && speechCount > 0 && !show_subtitles) showBox = false;
-
if (showBox) {
- if (msgListSize != 0) {
- personSpeaking = conv_control.person_speaking;
- if (!popup_create(popup_estimate_pieces(conv_control.width[personSpeaking]),
- conv_control.x[personSpeaking], conv_control.y[personSpeaking])) {
- if (conv_control.speaker_series[personSpeaking] >= 0) {
- popup_add_icon(series_list[conv_control.speaker_series[personSpeaking]],
- conv_control.speaker_frame[personSpeaking], 0);
- }
-
- for (int msgIndex = 0; msgIndex < msgListSize; ++msgIndex) {
- messageId = msgList[msgIndex];
- lineStart = convIn->messages[messageId].lineStart;
- lineCount = convIn->messages[messageId].lineCount;
-
- for (int lineCtr = 0; lineCtr < lineCount; ++lineCtr) {
- Common::strcpy_s(tempString, conv_string(convIn, lineStart + lineCtr));
- string_trim(tempString);
- popup_write_string(tempString);
- }
- }
-
- popup_next_line();
- if (!popup_draw(-1, -1)) {
- conv_control.popup_is_up = -1;
- conv_control.popup_clock = kernel.clock + conv_control.popup_duration;
-
- if (speech_system_active && speech_on) {
- if (voiceListSize != 0) {
- speech_play(convIn->speech_file, *voiceList);
- }
- }
- }
+ // Create the popup
+ personSpeaking = conv_control.person_speaking;
+ if (popup_create(popup_estimate_pieces(conv_control.width[personSpeaking]),
+ conv_control.x[personSpeaking], conv_control.y[personSpeaking]))
+ goto done;
+
+ if (conv_control.speaker_series[personSpeaking] >= 0) {
+ popup_add_icon(series_list[conv_control.speaker_series[personSpeaking]],
+ conv_control.speaker_frame[personSpeaking], 0);
+ }
+
+ for (int msgIndex = 0; msgIndex < msgListSize; ++msgIndex) {
+ messageId = msgList[msgIndex];
+ lineStart = convIn->messages[messageId].lineStart;
+ lineCount = convIn->messages[messageId].lineCount;
+
+ for (int lineCtr = 0; lineCtr < lineCount; ++lineCtr) {
+ Common::strcpy_s(tempString, conv_string(convIn, lineStart + lineCtr));
+ string_trim(tempString);
+ popup_write_string(tempString);
}
}
+
+ popup_next_line();
+ if (popup_draw(-1, -1))
+ goto done;
}
// Record that a conversation popup is live.
More information about the Scummvm-git-logs
mailing list