aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--scumm/string.cpp19
1 files changed, 17 insertions, 2 deletions
diff --git a/scumm/string.cpp b/scumm/string.cpp
index a044ecf0e7..9c18d0dc29 100644
--- a/scumm/string.cpp
+++ b/scumm/string.cpp
@@ -741,7 +741,22 @@ void Scumm::addNameToStack(int var)
num = readVar(var);
if (num) {
- addMessageToStack(getObjOrActorName(num));
+ byte *ptr = getObjOrActorName(num);
+ if ((_features & GF_AFTER_V8) && (ptr[0] == '/')) {
+ char pointer[20];
+ int i, j;
+
+ translateText(ptr, _transText);
+ for (i = 0, j = 0; (ptr[i] != '/' || j == 0) && j < 19; i++) {
+ if (ptr[i] != '/')
+ pointer[j++] = ptr[i];
+ }
+ pointer[j] = 0;
+
+ addMessageToStack(_transText);
+ } else {
+ addMessageToStack(ptr);
+ }
} else {
addMessageToStack((byte *)"");
}
@@ -768,7 +783,7 @@ void Scumm::addStringToStack(int var)
pointer[j++] = ptr[i];
}
pointer[j] = 0;
- _sound->_talkChannel = _sound->playBundleSound(pointer);
+
addMessageToStack(_transText);
} else {
addMessageToStack(ptr);