aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2005-03-30 17:30:47 +0000
committerMax Horn2005-03-30 17:30:47 +0000
commitebb49d5cfe23f9e20a8b88baf2f91fedd791b9df (patch)
tree16a639a412afc78dedab1fffc77e232f98729a94
parentb5eb59dff1c94dead763bb45e27e94cc829d6f4d (diff)
downloadscummvm-rg350-ebb49d5cfe23f9e20a8b88baf2f91fedd791b9df.tar.gz
scummvm-rg350-ebb49d5cfe23f9e20a8b88baf2f91fedd791b9df.tar.bz2
scummvm-rg350-ebb49d5cfe23f9e20a8b88baf2f91fedd791b9df.zip
In V7/V8 games, just always call translateText, it'll check for the '/' prefix anyway (this allows us to perform additional magic in it, should we need to, e.g. to fix bug #1172655)
svn-id: r17297
-rw-r--r--scumm/script_v8.cpp7
-rw-r--r--scumm/string.cpp9
2 files changed, 9 insertions, 7 deletions
diff --git a/scumm/script_v8.cpp b/scumm/script_v8.cpp
index 910a72201d..695e94700d 100644
--- a/scumm/script_v8.cpp
+++ b/scumm/script_v8.cpp
@@ -1483,11 +1483,8 @@ void ScummEngine_v8::o8_getStringWidth() {
// Skip to the next instruction
_scriptPointer += resStrLen(_scriptPointer) + 1;
- if (msg[0] == '/') {
- translateText(msg, transBuf);
- msg = transBuf;
- }
-
+ translateText(msg, transBuf);
+ msg = transBuf;
// Temporary set the specified charset id
_charset->setCurID(_string[charset].charset);
diff --git a/scumm/string.cpp b/scumm/string.cpp
index 3e1a3b05e3..427310eeb0 100644
--- a/scumm/string.cpp
+++ b/scumm/string.cpp
@@ -569,7 +569,7 @@ int ScummEngine::addMessageToStack(const byte *msg, byte *dst, int dstSize) {
return 0;
}
- if (_version >= 7 && msg[0] == '/') {
+ if (_version >= 7) {
translateText(msg, transBuf);
src = transBuf;
} else {
@@ -649,7 +649,7 @@ int ScummEngine::addMessageToStack(const byte *msg, byte *dst, int dstSize) {
error("addMessageToStack: buffer overflow!");
}
*dst = 0;
-
+
return dstSize - (end - dst);
}
@@ -896,6 +896,8 @@ void ScummEngine::loadLanguageBundle() {
// That was another index entry
_languageIndexSize++;
+ } else {
+ error("Unknwon languag.bnd entry found: '%s'\n", ptr);
}
// Skip over newlines (and turn them into null bytes)
@@ -955,6 +957,9 @@ void ScummEngine::translateText(const byte *text, byte *trans_buff) {
LangIndexNode *found = NULL;
int i;
+ trans_buff[0] = 0;
+ _lastStringTag[0] = 0;
+
if (_version >= 7 && text[0] == '/') {
// Extract the string tag from the text: /..../
for (i = 0; (i < 12) && (text[i + 1] != '/'); i++)