aboutsummaryrefslogtreecommitdiff
path: root/scumm/actor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'scumm/actor.cpp')
-rw-r--r--scumm/actor.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/scumm/actor.cpp b/scumm/actor.cpp
index 40e79714c2..b128251bb8 100644
--- a/scumm/actor.cpp
+++ b/scumm/actor.cpp
@@ -1148,6 +1148,13 @@ void ScummEngine::actorTalk(const byte *msg) {
Actor *a;
addMessageToStack(msg, _charsetBuffer, sizeof(_charsetBuffer));
+
+ while ((_gameId == GID_DIG || _gameId == GID_CMI) && (_charsetBuffer[0] == '/')) {
+ translateText(_charsetBuffer, _transText);
+ if (_transText[0] != '/')
+ playSpeech(_charsetBuffer);
+ memcpy(_charsetBuffer, _transText, MIN(sizeof(_charsetBuffer), sizeof(_transText)));
+ }
// FIXME: Workaround for bugs #770039 and #770049
if (_gameId == GID_LOOM || _gameId == GID_LOOM256) {