aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/string.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/scumm/string.cpp b/scumm/string.cpp
index 7d238859c7..8ba5574569 100644
--- a/scumm/string.cpp
+++ b/scumm/string.cpp
@@ -164,6 +164,12 @@ void Scumm::CHARSET_1()
return;
if (_haveMsg != 0xFF && _haveMsg != 0xFE) {
+ // FIXME: DIG and CMI never set sfxMode or any actor talk data...
+ // This hack will force the backup cutoff system to be used instead,
+ // unless the talkChannel is null (eg, this string has no sound attached)
+ if ((_gameId == GID_CMI || _gameId == GID_DIG) && (_sound->_talkChannel > 0))
+ return;
+
if (_sound->_sfxMode == 0)
stopTalk();
return;