Opened 15 years ago

Closed 15 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 15 years ago.
trans.txt (4.5 KB ) - added by Kirben 15 years ago.
Hard coded strings

Download all attachments as: .zip

Change History (13)

by SF/trinity78, 15 years ago

Attachment: dig-german-error.gif added

comment:1 by (none), 15 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, 15 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), 15 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, 15 years ago

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

comment:5 by fingolfin, 15 years ago

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

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

Attachment: trans.txt added

Hard coded strings

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

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