Opened 18 years ago
Closed 18 years ago
#1977 closed defect (fixed)
DIG: incorrect subtitles are shown in german version
|Reported by:||SF/trinity78||Owned by:||fingolfin|
OS: Windows 2000 Sp4 ScummVM: 0.7.1 as well as daily build Game: the dig - german
This bug happens at the beginning of the game, if you contact Cora for the first time using the pen ultimate. When Boston talks to Cora the first two sentences "ja, ja, ja, Boston. Ich habe sie drauf" ("yeah, yeah, yeah, Boston. I'm on you") are correctly displayed in german. However the next two sentences "Hättest du wohl gern" ("you wish") and "In deinen Träumen" ("in your dreams") are displayed in german as well as in english at the same time.
I remember, that a long time ago I submitted a bug report for the english version of the dig, that the subtitles for the two sentences ("you wish", "in your dreams"), were missing. Seems as someone has hardcoded these two sentences into ScummVM and forgot to add a language check, but that is just a guess.
Ticket imported from: #1172655. Ticket imported from: bugs/1977.
Change History (13)
by , 18 years ago
comment:1 by , 18 years ago
comment:2 by , 18 years ago
What are trying to say? And what has the this to do with the fact, that there are two english (!) lines in a german game? Have you looked at the screenshot? It shows three lines (one in german and two in english).
comment:3 by , 18 years ago
You're right, of course. I had looked at the screenshot but I was thinking about half a dozen things at the same time and I just mixed everything up and somehow got into my mind that you were reporting the fact that the line was there twice (which is normal, since both characters are speaking). Of course, it shouldn't be there in English in a German version and what I wrote was indeed irrelevant - just forget about my post, I'll just go and hide in shame. :)
comment:4 by , 18 years ago
|Summary:||DIG - German: incorrect subtitles are shown → DIG: incorrect subtitles are shown in german version|
comment:5 by , 18 years ago
Your guess is wrong, we haven't hardcoded anything. However, I can reproduce the bug.
comment:6 by , 18 years ago
Now, we translate strings on the fly based on their string ID, which is prepended to the text (e.g. "/NEWTON.031/"). In this case, the prefix is missing in enqueueTextCentered; but notice that briefly before that, a printActor.msg is invoked with a string ID prefix but no body text after it.
The problem: 1) printActor.msg("/NEWTON.032/") causes text to be printed when it shouldn't 2) enqueueTextCentered doesn't translate the text it gets
The question is how the original text system really worked, at this point I can only guess. Maybe we need to add a check; when a string ID is found but no text follow it, then we just store that message ID, but do not actually cause text to be printed; and if afterwards a string is printed w/o a string ID, we just use the previously "stored" string ID. This seems really awkward and artifical to me, though...
comment:7 by , 18 years ago
It looks like the developers failed to add translation prefixes to all the strings in data files and worked around problem in executable. The string translation function in the Dig disasm. includes compares to about 12 strings, adding the correct translation prefix in each case.
comment:8 by , 18 years ago
Yuck, how evil. But thanks for pointing this out, Kirben. Do you have a list of the strings which are remapped?
comment:9 by , 18 years ago
Yes I have attached the disasm. of that section in the Dig, which shows exactly what strings to compare and change.
by , 18 years ago
Hard coded strings
comment:10 by , 18 years ago
Thanks Kirben. BTW, I see we are checking for the tag strings PU_M001 and PU_M002 in our code right now -- does the original COMI code have something like that, too?
comment:11 by , 18 years ago
|Status:||new → closed|
Isn't that just because both Cora and Boston are saying the line at the same time (hence the subtitles both in light [Cora] and dark [Boston] blue)? I seem to remember that's how it worked in the English version, at least.