diff options
-rw-r--r-- | queen/journal.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/queen/journal.cpp b/queen/journal.cpp index 9cf619945d..955a31b759 100644 --- a/queen/journal.cpp +++ b/queen/journal.cpp @@ -282,10 +282,25 @@ void Journal::handleNormalMode(int16 zoneNum, int x) { } drawConfigPanel(); } else if (zoneNum == ZN_VOICE_TOGGLE) { - _vm->sound()->toggleSpeech(); + + // Only allow change to this setting on CD-ROM version + if (_vm->resource()->isCdRom()) + _vm->sound()->toggleSpeech(); + else + _vm->sound()->speechToggle(true); + + // Ensure text is always on when voice is off + if (!_vm->sound()->speechOn()) + _vm->subtitles(true); + drawConfigPanel(); } else if (zoneNum == ZN_TEXT_TOGGLE) { _vm->subtitles(!_vm->subtitles()); + + // Ensure text is always on when voice is off + if (!_vm->subtitles()) + _vm->sound()->speechToggle(true); + drawConfigPanel(); } } |