My response got so huge that I'll post it in two parts. The rest will follow today or tomorrow.
Niggling translation/programming stuff: Due to my lack of technical expertise, these are going to be hard to explain, but I'll do my best...
Item A) Angel ordinals. In the evs, you'll see 第$d使徒 (the $d Angel) pop up now and again. $d just fills in a plain integer, I believe. Now, since the kanji 第 makes the integer that follows it an ordinal, this all works out fine... in Japanese. But in translation, we have a problem. If we put "the $dth Angel" (which cooperates with numbers 4 through 17), a number 3 getting slotted in there will produce "the 3th Angel". How to get around this?
Item B) Pronoun stuffThere are various instances in the game where one character is asked what they think about another. The responses are all generic in Japanese, and naturally have no pronouns whatsoever. This means, for us, using "they" in translation so the generic element is maintained. "I like them alright", "They're very special to me", "I hate their guts", etc.
I wanted to bring this up in the event there was some way to get around it, since the pronoun evasion is, if nothing else, highly distracting. Item C brings up additional issues as well.
Item C) A funny thing happened on the way to the GeoFrontI've put off addressing this one for a while since it's such a hassle to explain. Alright, check out this monster from rodata:
Code: Select all
0x001D1368: Data(DataType.String, 44, '???', "$aは%s、\n%sの出来事を%s。$n%s%s%s\n%s%sを。\0"),
This is for an interaction feature added to the PSP version, where characters can share or ruminate upon PREVIOUSLY OCCURING character interactions. So, like, if you gave Rei a present in the morning, you can tell Pen Pen about it in the evening, if you want. You can probably guess just by looking at it that it's text only (not spoken) and pieced together on a case by case basis from a long list of sentence fragments provided elsewhere in rodata. This makes translation a problem. I'll illustrate with a couple of examples.
Here's the template in a more detailed form.
$a[PC] は %s(1)[NPC a], %s(2)[time] の出来事を %s(3)[verb]。 $n[new window] %s(4)[location] %s(5)[NPC b] %s(6)[self/NPC a] %s(7)[description] %s(8)['koto'='doing' phrase] を。
To make discussing this more meaningful, I'll provide a couple of actual examples from the game of it being used.
シンジは、半年前の出来事を思い出した。 マンションのリビングでペンペンがアスカからのプレゼントを喜んで受け取ったことを。
Shinji remembered something that happened half a year ago: PenPen joyously receiving a present from Asuka in the apartment living room.
To break this first one down (matching values to ones in rodata when possible):
$a[PC] = シンジ = Shinji
は
%s(1)[NPC a] = n/a
、
%s(2)[time] = 半年前 = half a year ago (0x001D1228)
の出来事を (= something that happened)
%s(3)[verb] = 思い出した = remembered (0x001CB0C8)
。
$n[new window]
%s(4)[location] = マンションのリビングで = in the apartment living room (0x001D0C60)
%s(5)[NPC b] = ペンペンが
%s(6)[self/NPC a] = アスカ
%s(7)[description] = からのプレゼントを = a present from (0x001CD7E4)
%s(8)['koto'='doing' phrase] = 喜んで受け取ったこと = joyously receiving (0x001CD7F8)
を。
シンジはケンスケに、2時間前の出来事を話した。 ここでヒカリが自分からの挨拶に返事をしたことを。
Shinji told Kensuke something that happened two hours ago: Hikari responding to a greeting from him right here.
$a[PC] = シンジ = Shinji
は
%s(1)[NPC a] = ケンスケに = Kensuke
、
%s(2)[time] = 2時間前 = two hours ago (0x001D11CC)
の出来事を (= something that happened)
%s(3)[verb] = 話した = told (0x001CB47C)
。
$n[new window]
%s(4)[location] = ここで = right here (0x001D13B8)
%s(5)[NPC b] = ヒカリが = Hikari
%s(6)[self/NPC a] = 自分 = him (literally "self") (0x001D13B0)
%s(7)[description] = からの挨拶に = a greeting from (0x001CDDC0)
%s(8)['koto'='doing' phrase] = 返事をしたこと = responding to (0x001CDDD0)
を。
Now, the mix and match approach here makes translating the individual pieces a total nightmare, since you HAVE to know how they're being used in context to render them properly, and, boy, looking at the list in rodata, there are a LOT that I have yet to see in action. So more thorough documentation of in-game use is one order of business to take care of.
On your side of things, though, there is the matter of how to get the translation to display properly. Most obviously: having the pieces appear in the correct order. So, instead of:
Shinji Kensuke, two hours ago something that happened told: right here Hikari him a greeting from responding to.
It properly appears as:
Shinji told Kensuke something that happened two hours ago: Hikari responding to a greeting from him right here.
I have my fingers crossed that a single rearrangement of the original elements will be able to handle all necessary English translation -- but I need to collect more examples before I can feel assured about this.
Some points:
- %s(1) and $s(5) are sometimes left blank.
- Perhaps you can explain this one... Notice how there are some particles right there in the template, yeah? は and を for instance. Now, if %s(1) or %s(5) get filled in, a particle (が or に) appears after each of the names, respectively. I would assume the actual NPC name to get drawn from one of the standardized lists in rodata, like the one at 0x001BB720 to 0x001BB7A0. But if that's so, where is the game being told to follow the name with a が or に? Guess I would have expected something like this to show up in the files you've provided and I've seen no indication of it. Understanding this might be required for getting the translation to render properly, I assume? Otherwise we might have random Japanese particles popping up amidst the English.
- The second example includes the term 自分 (jibun), which literally means "self" but translates here as "him", since Shinji is the one acting. The pronoun problem raises its ugly mug again, since jibun is obviously gender neutral, and if everything here were the same aside from the PC being, say, Asuka, it would be translated as "her" instead. Putting "them" here as the translation for jibun (0x001D13B0 in rodata) is at risk of sounding much more forced than it does in the kind of character dialogue brought up in item B. Perhaps more importantly, it's unclear, since in this specific example it would imply that BOTH Shinji and Kensuke were the ones doing the greeting. This would have the potential to get comical in an instance of, say, "Shinji told Pen Pen something that happened yesterday: Ritsuko responding to a greeting from them in Unit-01's cage." (I.e.: "Wait... Pen Pen can't even leave Misato's house, what's he doing in an Eva cage?")
Item D) Participant RolesSo I was trying to translate some of the character interaction items in rodata when it occurred to me that something rather funny was afoot.
Code: Select all
0x001BD0EC: Data(DataType.String, 16, 'Approach 受動者\0', "受動者に近づく\0"),
0x001BD10C: Data(DataType.String, 24, 'Chew out 受動者 for being weak\0', "ふがいない受動者を叱る\0"),
0x001BD354: Data(DataType.String, 20, 'Hug 受動者\0', "受動者に抱きつく\0")
0x001BD3EC: Data(DataType.String, 20, 'Worry over 受動者\0', "受動者を心配する\0"),
0x001BD400: Data(DataType.String, 24, 'Study 受動者\'s condition\0', "受動者の様子を観察する\0"),
There is this noun, 受動者, that keeps on showing up. It means something like "passive participant". So it's describing, basically, a role a character can take in an interaction. The term, of course, never appears while you're playing the game; it always get swapped out with whichever character is being "done upon" at the time. (So if you have the option to approach Pen Pen, it will be ペンペンに近づく.) Whatever directs this looks like it's found here:
Code: Select all
0x001C853C: Data(DataType.String, 12, '???', "乱入者:%s\0"),
0x001C8548: Data(DataType.String, 12, '???', "受動者:%s\0"),
0x001C8554: Data(DataType.String, 12, '???', "能動者:%s\0"),
0x001C8568: Data(DataType.String, 20, ' = Execute = \0', " = 実行 = \0"),
0x001C857C: Data(DataType.String, 12, 'Not applicable\0', "該当なし\0"),
0x001C85AC: Data(DataType.String, 8, '???', "能動者\0"),
0x001C85B4: Data(DataType.String, 8, '???', "受動者\0"),
0x001C85BC: Data(DataType.String, 8, '???', "乱入者\0"),
(...)
0x001C421C: Data(DataType.String, 56, '???', "%s\n\nPC能動者:%6d\nPC受動者:%6d\nNPC同士:%6d\n\0"),
Two other "actor"-type terms appear here, 能動者 (active participant) and 乱入者 (intruding participant). Curiously, these don't -- unlike 受動者 -- seem to appear in the names of selectable options, and they don't show up in imtext either... so I wonder how the game is using them? Hmmm.
Well, in an attempt to dissect the issue, here's text that appears after someone barges into a conversation (i.e., takes on the "intruder" role):
Code: Select all
(0x00000007, 0x00000000, 0x00000000, "$cは、会話に割り込んだ。\n\0\0\0"),
"$c interrupted the conversation." The intruder is marked with $c. Another couple of places $c appears:
Code: Select all
(0x00000001, 0x00000000, 0x00000000, "$cが、\n情事に割り込んできた!\n\0\0"),
"$c muscled into your liaison!" Another interruption.
Code: Select all
(0x00000008, 0x00000000, 0x00000000, "$cは、\n邪魔者扱いされた…。\n\0\0\0\0"),
"$c was treated like a nuisance..."
So $c probably is being used consistently to mark 乱入者, the "intruder" -- someone who isn't wanted in an interaction. I'm going to take a guess now that $a is 能動者 (active participant) and $b is 受動者 (passive participant).
Code: Select all
(0x00000002, 0x00000000, 0x00000000, "$aは$bに、\n$oのプリントを差し出した。\n\0\0"), $a presented a print-out of $o to $b.
(0x00000003, 0x00000000, 0x00000000, "$bと$aは、\n面白おかしく\n話をしながら登校した。\n\0"), $a went to school with $b, having an interesting talk on the way.
(0x00000004, 0x00000000, 0x00000000, "$bと$aは、\nぼそぼそ会話しながら登校した。\n\0\0"),
(0x00000005, 0x00000000, 0x00000000, "$bと$aは、\n会話も少なく\n気まずい雰囲気で登校した。\n\0"),
(0x00000006, 0x00000000, 0x00000000, "$bと$aは、\n険悪な雰囲気のまま登校した。\n\0\0\0\0"),
(0x00000002, 0x00000000, 0x00000000, "$aの$oと\n$bの$pを\n交換した。\n\0\0\0"), $a exchanged their $o with $b's $p.
(0x00000002, 0x00000000, 0x00000000, "$aは$bに\n$oを渡した。\n\0\0"), $a gave $o to $b.
(0x00000001, 0x00000000, 0x00000000, "$aは$bを\n好意的な目で見た。\n\0\0\0\0"), $a looked at $b with friendly eyes.
Yep, looks about right!
Well, got a bit sidetracked there. I guess the big question right now is, how exactly SHOULD 受動者 be handled when it appears in selectable player actions? Should it be left intact, as I did in the above examples? It's just a placeholder anyway, so...
Item E) Misato report dialogue
In the same vein as pilot battle yells (
see here), we have Misato's voiceovers from the end-chapter battle reports. The evs is kind enough to provide in text everything that Misato is saying during these portions -- but in the game itself, there is no text window, just centered white-on-black captions that may or may not correspond to what Misato is saying. (One example at the beginning of the video
here.) I don't think we can rely on graphic editing to furnish "subtitles", since the graphic captions don't necessarily correspond 1:1 to the Misato voiceovers that are possible. (In some instances, the Misato voiceover may not be present at all, in fact.
Example.)
Another "no dialogue box" instance is during the best ending for Scenario 1 (
here, around 5m22s). The screen goes black and we get voiceover only of the Yui/Gendo "anywhere can be paradise" scene. As usual, the game has this all written out in its files (here, in tev1905.evs).
You wondered
here if it might be possible to unhide the dialogue box. Accomplishing this in some way might get increasingly important; I anticipate that more of these instances will appear to haunt us.
deeRez wrote:Does your PSP have CFW?
SSD actually sent me instructions for installing Pro CFW the other day. I'll see if I can get it working and get back to you on this.
Figuring that out would be interesting and ties with SSD's earlier request to try to activate the missing scenario.
Now that my memory has been jostled a bit, I recall that the "three Shinjis" ending was, in the PS2 version, the ending Gendo got if Rei rejected him. She can still reject him in the PSP version, so presumably that would make the "three Shinjis" ending occur.
This list, for instance, makes no mention of an omitted ending in enumerating the PS2/PSP versions. The data is all this there, and the circumstances for triggering it still exist, so it seems very odd that it wouldn't be triggerable. Like, what happens instead? Very curious... I might have a half-finished Gendo game I can fire up to resolve this issue.