[Scummvm-cvs-logs] CVS: scummvm/scumm string.cpp,1.75,1.76
James Brown
ender at users.sourceforge.net
Sun Dec 29 09:47:03 CET 2002
Update of /cvsroot/scummvm/scummvm/scumm
In directory sc8-pr-cvs1:/tmp/cvs-serv14464/scumm
Modified Files:
string.cpp
Log Message:
Translate/say verbs added to converstion text.
N.B: We might be able to cut back on all these translateText calls if we just do it in addMessageToStack() period... thoughts?
Index: string.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/scumm/string.cpp,v
retrieving revision 1.75
retrieving revision 1.76
diff -u -d -r1.75 -r1.76
--- string.cpp 29 Dec 2002 01:21:58 -0000 1.75
+++ string.cpp 29 Dec 2002 17:46:12 -0000 1.76
@@ -718,7 +718,23 @@
if (num) {
for (i = 1; i < _maxVerbs; i++) {
if (num == _verbs[i].verbid && !_verbs[i].type && !_verbs[i].saveid) {
- addMessageToStack(getResourceAddress(rtVerb, i));
+ byte *ptr = getResourceAddress(rtVerb, i);
+ 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;
+ _sound->_talkChannel = _sound->playBundleSound(pointer);
+ addMessageToStack(_transText);
+ } else {
+ addMessageToStack(ptr);
+ }
break;
}
}
@@ -749,7 +765,22 @@
if (var) {
ptr = getStringAddress(var);
if (ptr) {
- addMessageToStack(ptr);
+ 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;
+ _sound->_talkChannel = _sound->playBundleSound(pointer);
+ addMessageToStack(_transText);
+ } else {
+ addMessageToStack(ptr);
+ }
return;
}
}
More information about the Scummvm-git-logs
mailing list