Opened 16 years ago

Closed 16 years ago

#1977 closed defect (fixed)

DIG: incorrect subtitles are shown in german version

Reported by: SF/trinity78 Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Keywords: Cc:
Game: The Dig

Description

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.

Attaching screenshot.

Ticket imported from: #1172655. Ticket imported from: bugs/1977.

Attachments (2)

dig-german-error.gif (181.4 KB ) - added by SF/trinity78 16 years ago.
trans.txt (4.5 KB ) - added by Kirben 16 years ago.
Hard coded strings

Download all attachments as: .zip

Change History (13)

by SF/trinity78, 16 years ago

Attachment: dig-german-error.gif added

comment:1 by (none), 16 years ago

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.

comment:2 by SF/trinity78, 16 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 (none), 16 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 fingolfin, 16 years ago

Summary: DIG - German: incorrect subtitles are shownDIG: incorrect subtitles are shown in german version

comment:5 by fingolfin, 16 years ago

Your guess is wrong, we haven't hardcoded anything. However, I can reproduce the bug.

comment:6 by fingolfin, 16 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 Kirben, 16 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 fingolfin, 16 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 Kirben, 16 years ago

Yes I have attached the disasm. of that section in the Dig, which shows exactly what strings to compare and change.

by Kirben, 16 years ago

Attachment: trans.txt added

Hard coded strings

comment:10 by fingolfin, 16 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 fingolfin, 16 years ago

Owner: set to fingolfin
Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.