[Game] Neon Genesis Evangelion 2: Another Cases

For talking about everything else Evangelion: from the various manga and video games to merchandising and video/audio releases.

Moderator: Board Staff

Kira BB Yamato
Embryo
Posts: 16
Joined: Feb 09, 2018

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Kira BB Yamato » Thu Feb 22, 2018 6:24 pm

My mistake. I looked at this one. My apologies.

Sailor Star Dust
Kept you waiting, huh?
Kept you waiting, huh?
User avatar
Age: 33
Posts: 22761
Joined: Aug 13, 2006
Location: Living in Houston, TX
Gender: Female
Contact:

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Sailor Star Dust » Thu Feb 22, 2018 7:23 pm

I thought this was interesting weirdness from the image dump, in case it got lost in the talk:

View Original PostSailor Star Dust wrote:I was poking around the image files, and I had no idea that the "3 Shinjis" ending for Gendo was on the PSP version of NGE2? Could've sworn it was only on the PS2...makes me wonder how you access it :cringe:

Edit: Can you somehow access that Another World scenario (originally from the PS2 game), too, or are some of those just place-holder/left over Scenario titles? (It's St_t06.hpt etc, etc)


I'm actually more familiar with the PSP version these days than the PS2 game (though I still have both copies).
~Take care of yourself, I need you~

deeRez
Shamshel
Shamshel
User avatar
Age: 30
Posts: 274
Joined: Jul 31, 2011
Location: East-coast USA
Gender: Male

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby deeRez » Thu Feb 22, 2018 11:28 pm

View Original PostSailor Star Dust#874279 wrote:I thought this was interesting weirdness from the image dump, in case it got lost in the talk:



I'm actually more familiar with the PSP version these days than the PS2 game (though I still have both copies).


I am not familiar with the scenarios so your comment went over my head when I originally saw it, but I guess I could look at the procedure the game uses to load the scenarios and see if I can hijack it to point to the removed scenarios. They tend to remove code but keep the art around. There's still a chance it might work if the scenario is stored as a script outside of the game code.

Reichu and Kira BB Yamato, you two are amazing! Data is 60.43% translated, Rodata is 21.26% translated! In just one day!

This puts pressure on me to figure out IMTEXT.BIN as-soon-as-possible for you two to tackle while you're in the zone! Haha!

View Original PostReichu#874260 wrote:As I've been going through rodata, I've been taking notes on what seems to be used for what. I'll update this post later, I guess. Hoping this is at least moderately helpful to Kira.


Awesome!

View Original PostReichu#874272 wrote: I can keep updating the previous post and provide notice in the thread when I've done so -- or would it be more convenient if a listing was maintained at the actual repository? (Let me know what you think, deeRez!)


I think it'd be much more easier on you to update the listing on GitHub.
I've added what you have so far in a file called game_app/section_rodata_translate.notes
See: https://github.com/rezual/nge_2_re/blob ... late.notes

View Original PostReichu#874260 wrote:I've bumped into the honorifics that Kira mentioned.


I think I was too focused on the smaller fields/menus being overrun, but I wouldn't mind keeping the honorifics, and then removing them later if things become an issue. Like it's also possible I may be able to tweak the game's font rendering to have it draw smaller text (no promises!). In which case we shouldn't be prematurely optimizing. It's also easier to remove all the honorifics if we change our decisions than it is to automatically add them back... you're right - keep the honorifics!

View Original PostReichu#874260 wrote:1) Expanding acronyms, or leaving alone?


I think leave alone to match the Japanese:
If they expect Japanese Eva fans to know what JA is,
then it should be fine to do the same to English Eva fans.

View Original PostReichu#874260 wrote:2) Periods in acronyms?


Not sure about this one. I'm leaning towards periods.
My rationale is that Japanese characters contrast so much with the Roman letters,
that the periods are not needed in Japanese.

But when using fully Roman letters, things like JA mix with other words,
so for English, visually, it makes sense to go with periods.

Give the cookie to JA.
Give the cookie to J.A.

The prior with Roman letters looks like someone held the shift-key by mistake and capitalized Ja.

View Original PostReichu#874260 wrote:3) "Prog."? - The shortened form of "progressive", "prog", is regularly spoken out loud in dialogue, so I don't think the period is necessary.


If there's an official subtitle approach to this, go with it.
Usually abbreviations are used for very common words,
but Progressive is not common. So if one writes prog. it looks like a sentence end.
I'd suggest leaving out the period.

View Original PostReichu#874260 wrote:4) JA2 vs JA Prime: The latter is some nonsense I made up years ago, prior to playing NGE2, via a very colorful misinterpretation of what the 'kai' suffix could be translated as. Got popularized because it was on the wiki for so long (and is probably still there...), but the game indicates that "Jet Alone 2" is what the thing should be called in English.


Haha, that's awesome. If I had that power, I'd probably get everyone to call Asuka Asooka (like Bazooka with an s) instead of Oskah (like Oscar with an h).

But afraid I'm going to suggest going with the official variant!

View Original PostReichu#874260 wrote:5) 心の迷宮 (kokoro no meikyuu) ... as "labyrinth of the heart", or more fluently, as "emotional maze".


Go with the prior. It's so cool, we'll find a way to get it to work!

View Original PostReichu#874260 wrote:6) Name order in Asuka and Kyoko: Dan Kanemitsu handles the compound surnames by putting the Japanese one first, so it'd be "Asuka Soryu Langley" and not the more familiar "Asuka Langley Soryu". Since he actually works with khara, I like deferring to his choices when possible.


Yeah I think it's best to go with Dan Kanemitsu's approach then.

View Original PostReichu#874260 wrote:7) Specifically Japanese concepts like numerous food items. Leave them alone or try to approximate? Would be a lot easier to just write "bento" than get clumsy with "boxed lunch", and so on. It's the Internet age and any dorks who end up playing this can easily look up anything that sounds too exotic.


My gut with food says, if an English cookbook would call it a Bento, then use Bento.

View Original PostReichu#874260 wrote:@All: Capitalizing every word vs. not, I think this depends stylistically on where the text is to be used. Namely, is something being labeled? (Ex. List of items or attack choices.) Or is it a sentence (or a dialogue fragment meant to be inserted into a sentence)?


Yeah I agree. Actions could be normal sentences:
Open the door
Press button

But Items / Attack Names could be capitalized:
Ultra Spin Kick
Lightning Storm

View Original PostKira BB Yamato#874270 wrote:Also, sensei, I've noticed that you're putting in \ for apostrophes.


Thanks for bringing this up! I was fixing them manually and didn't mind since it gave me something to look forward to while proof-reading. ^_^
In and of itself, self-evident.

deeRez
Shamshel
Shamshel
User avatar
Age: 30
Posts: 274
Joined: Jul 31, 2011
Location: East-coast USA
Gender: Male

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby deeRez » Sat Feb 24, 2018 1:44 am

I actually ended up looking at IMTEXT.BIN last night and have figured out the first part: the BIND header and how it works.

Putting it in a spoiler if someone's technical following along, but not to bore others.
SPOILER: Show
The BIND header acts like a look-up table to various TEXT entries.
First four bytes are BIND,
followed by a number (let's call it index_length) denoting how many bytes per "length":uint16,
followed by an unknown number, might be # of "length" entries:uint16,
followed by the size of each block (let's call it block_size):uint32,
followed by the size of the header (let's call it header_size):uint32.

Then there's a list of "lengths", each sized according to the aforementioned index_length.

This is all contained within the header_size.

Next follows a bunch of block_sizes (think of them like evenly sized sectors on a disk).

If someone says they want the 42nd entry in the IMTEXT.BIN file,
you jump to offset 16, and loop through 42 uint32s (if index_length is 4),
doing: sum += block_size * int((block_size + length_entry) / block_size)

The reason for the funky divide and re-multiply is that,
if the blocks are 32 bytes each, but an entry's length is 35 bytes long, that actually takes up two blocks and thus you need to skip 64 (32 + 32) bytes to get to the next entry.


So now that I know how to get to a specific TEXT block, I need to know how to parse the TEXT block itself since the Japanese text is ordered in a certain way, and it's not just text in there, there's something else.

The weird thing is that the act of opening a door reads from IMTEXT even though no texts appears when opening a door - BUT a sound does play. This leads me to believe that IMTEXT probably groups sound and text together. And AlfaSystems (I'd hypothesize knowing how lazy they are), for cases when a sound needs to play with no text, most likely makes a sound entry with zero-length text that pops up in an invisible dialog box.
Knowing them, I think this is certainly the case. Will dig into it further.

But in other news, holy heck!

Code: Select all

Text in Writable Section of Game Executable:
 97.84% translated

Text in Read-Only Section of Game Executable:
 23.58% translated


Awesome work you two! Keep it up! :D
In and of itself, self-evident.

Kira BB Yamato
Embryo
Posts: 16
Joined: Feb 09, 2018

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Kira BB Yamato » Sat Feb 24, 2018 2:07 am

I know it's much too early to even think about beta testing, but I decided to take a look at how things were looking ingame. The results? Better than I expected, but some menu options seem to have arbitrary limits. For instance, "Discard Equipment" displayed as "Discard Equipme", despite "Sever Umbilical Cable" displaying just fine (might be an issue with loading a save state, but maybe not). This is going to be fun to beta test. The only change to the github I made as a result of this was removing the spaces I added to the character names to make them all line up, since that ended up being a really bad idea. You end up with Shinji, Gendo, Kozo Fuyu, Misato Kats. Just something really easy to fix that I messed up, so I felt obligated to fix it. Please forgive me! I added a bunch to that shorter file, but some lines I couldn't really understand. Somebody more familiar with the game might know more about those.

Also, Reichu, you were confused about the two lines that had to do with skills? The first one listed work skill, study skill, and self-defense, and a pointer to the character's unique skill. For formatting's sake, we're going to want to add spaces to the beginning of each skill to make them all as long as the longest unique skill. The second line was for characters like Hikari who lack a unique skill.

deeRez
Shamshel
Shamshel
User avatar
Age: 30
Posts: 274
Joined: Jul 31, 2011
Location: East-coast USA
Gender: Male

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby deeRez » Sat Feb 24, 2018 2:54 am

View Original PostKira BB Yamato wrote:I know it's much too early to even think about beta testing, but I decided to take a look at how things were looking ingame. The results? Better than I expected, but some menu options seem to have arbitrary limits. For instance, "Discard Equipment" displayed as "Discard Equipme", despite "Sever Umbilical Cable" displaying just fine (might be an issue with loading a save state, but maybe not). This is going to be fun to beta test. The only change to the github I made as a result of this was removing the spaces I added to the character names to make them all line up, since that ended up being a really bad idea. You end up with Shinji, Gendo, Kozo Fuyu, Misato Kats. Just something really easy to fix that I messed up, so I felt obligated to fix it. Please forgive me! I added a bunch to that shorter file, but some lines I couldn't really understand. Somebody more familiar with the game might know more about those..


Ahh so that's why you removed the spaces.

But yes, things getting trimmed will be tackled in this TODO on the GitHub ReadMe:

Code: Select all

Write a script to re-calculate text pointers so any translated text that can't fit in memory is moved elsewhere


The reason it varies is because the original Japanese text took up less space than English.

But, there are also places where the Japanese took up more space than the English.
These places create free space, so one can move sentences around in memory to take advantage of the reclaimed space.
In and of itself, self-evident.

Kira BB Yamato
Embryo
Posts: 16
Joined: Feb 09, 2018

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Kira BB Yamato » Sat Feb 24, 2018 3:01 am

Yeah, I only did it so they'd line up with Asuka's name, but I forgot hers had a line break in it. If we wanted, we could format it so the given name was on one line and the family name on the other, but I'm getting ahead of myself.

Holy hell, that's neat. Glad to see you're thinking ahead. As to be expected!

Reichu
Space-Time Teratoma
Space-Time Teratoma
Posts: 23058
Joined: Aug 21, 2004
Location: Lost in Bat Country
Gender: Female
Contact:

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Reichu » Sat Feb 24, 2018 3:06 am

Damn, that's a hell of an update, Kira! Most impressive. Just a few minor things I want to check and tweak. If they're major, I'll ask here first. BTW, if you see anything obviously dodgy or easily improved upon in my own work, feel free to tweak as well.

Couple of notes:

- I'm pretty sure rendering しんどいことあるか! as "Are you in trouble?!" is wrong. Now granted, I'm too dumb to be 100% on a translation myself, but based on the dictionary entry for shindoi, we're looking at something that fits into the "self-interrogation" theme of the Leliel encounters.
- 心の補完観察 has its scenario(?) title in one file and its description in the other. The translations need to be synchronized. I'm not sure exactly what this thing is, so I don't know the best way to translate it. May need to revisit later.
- Stylization for the "exploring the guts of Dogma" text. I went with a "You see a [whatever] and it looks like [whatever]" format, in the style of a text-based adventure game or what have you where the game is describing things to you-the-player/character. Kira went with a first person narrative instead. Is there's something implicit in the Japanese that indicates it's to be read in the first person? If not, I I think the other way is less jarring. There isn't any real inner monologuing in the game unless it's explicit from context (a cut scene mimicking NGE's weird mindscape stuff, for instance), whereas the game "talks to the player" all the time. The Dogma exploration text is also the same regardless of which character you are, whereas elsewhere the game goes to great lengths to personalize dialogue based on who's saying it.
- Attack descriptions. Is the simplification of, say, "Cut with knife" into "Knife Cut" being done on purpose? I assume this is why the translations for attack names I originally committed were overwritten, but I want to make sure. In any case, I do want to point out that both forms can be found in the Japanese itself:

マステマで射撃 - Fire with Mastema
vs.
マステマ・射撃 or マステマ(射撃) - Mastema Firing

Only reason I can think of to simplify the "[verb] with [weapon]" form is due to space considerations, but a lot of them aren't actually that long. Plus if attack names are going to be simplified into noun phrases, why stop there? It feels kind of arbitrary to me, I guess. The results can often sound very Engrishy and/or muddled, as well. I'd prefer to translate it the way it's written unless there's a specific reason not to.

Kira BB Yamato
Embryo
Posts: 16
Joined: Feb 09, 2018

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Kira BB Yamato » Sat Feb 24, 2018 3:59 am

View Original PostReichu wrote:- I'm pretty sure rendering しんどいことあるか! as "Are you in trouble?!" is wrong.

And you may be right. My train of thought was: "しんどい means tiresome or bothersome, こと is thing of course, and it's asking if somebody has it. Problems? Nah, trouble?"

- Stylization for the "exploring the guts of Dogma" text. I went with a "You see a [whatever] and it looks like [whatever]" format, in the style of a text-based adventure game or what have you where the game is describing things to you-the-player/character. Kira went with a first person narrative instead. Is there's something implicit in the Japanese that indicates it's to be read in the first person? If not, I I think the other way is less jarring. There isn't any real inner monologuing in the game unless it's explicit from context (a cut scene mimicking NGE's weird mindscape stuff, for instance), whereas the game "talks to the player" all the time. The Dogma exploration text is also the same regardless of which character you are, whereas elsewhere the game goes to great lengths to personalize dialogue based on who's saying it.

No objection here. My goal was just to get the meaning down, and even then, I'm not sure on the one about the mouse.

- Attack descriptions. Is the simplification of, say, "Cut with knife" into "Knife Cut" being done on purpose?

Actually thought about that when I tried getting into a battle. Definitely should be changed. "Sword Slash" is terrible and I don't know what I was thinking. "Swing sword" would be better, for instance.
I think I was confused on the context originally due to the Misato instruction bits and thought it was describing actions. Like when a character talks to you and you get a small box at the top of the screen describing what they did.

deeRez
Shamshel
Shamshel
User avatar
Age: 30
Posts: 274
Joined: Jul 31, 2011
Location: East-coast USA
Gender: Male

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby deeRez » Sat Feb 24, 2018 2:20 pm

View Original PostKira BB Yamato wrote:Yeah, I only did it so they'd line up with Asuka's name, but I forgot hers had a line break in it. If we wanted, we could format it so the given name was on one line and the family name on the other, but I'm getting ahead of myself.


:asuka_thumbsup:

View Original PostReichu wrote:- Attack descriptions. Is the simplification of, say, "Cut with knife" into "Knife Cut" being done on purpose? I assume this is why the translations for attack names I originally committed were overwritten, but I want to make sure. In any case, I do want to point out that both forms can be found in the Japanese itself:

マステマで射撃 - Fire with Mastema
vs.
マステマ・射撃 or マステマ(射撃) - Mastema Firing

Only reason I can think of to simplify the "[verb] with [weapon]" form is due to space considerations, but a lot of them aren't actually that long. Plus if attack names are going to be simplified into noun phrases, why stop there? It feels kind of arbitrary to me, I guess. The results can often sound very Engrishy and/or muddled, as well. I'd prefer to translate it the way it's written unless there's a specific reason not to.


It was a merge conflict that I had to resolve when Kira was using a separate branch.
I ended up going with the noun phrases form because I was thinking how RPGs deal with things such as Magic Attack vs Attack with Magic. Length (in menus) was also a slight concern on my part.

But you're right, we should focus on accuracy right now.

If you need to recover anything, here's the diff:
K = Kira's
R = Reichu's
C = What's Chosen and is the same as the latest version
M = What's Chosen but outdated due to the latest version having something else (typo fixes)
SPOILER: Show

Code: Select all

       0x00252AA4: Data(DataType.String, 8, '???', "定数\0"),
K      0x00252C40: Data(DataType.String, 16, 'Gaghiel\'s mouth opens\0', "ガギエルの開口\0"),
 RC    0x00252C40: Data(DataType.String, 16, 'Open Gaghiel\'s mouth\0', "ガギエルの開口\0"),
K      0x00252C74: Data(DataType.String, 16, '???', "弐号機の耐久力\0"),
 RC    0x00252C74: Data(DataType.String, 16, 'Eva-02\'s stamina\0', "弐号機の耐久力\0"),
       0x00252CA4: Data(DataType.String, 8, '???', "定数\0"),


Code: Select all

       0x00250904: Data(DataType.String, 12, '???', "配置する\0"),
K      0x00250910: Data(DataType.String, 20, '???', "両機はその場で待機\0"),
 RC    0x00250910: Data(DataType.String, 20, 'Put both Evas on standby\0', "両機はその場で待機\0"),
K C    0x00250924: Data(DataType.String, 28, 'Sever Umbilical Cable\0', "アンビリカルケーブル切断\0"),
 R     0x00250924: Data(DataType.String, 28, 'Sever umbilical cable\0', "アンビリカルケーブル切断\0"),
K      0x00250950: Data(DataType.String, 24, '???', "%sの攻撃リストを見る\0"),
 RC    0x00250950: Data(DataType.String, 24, 'View %s\'s attack list\0', "%sの攻撃リストを見る\0"),
K      0x00250968: Data(DataType.String, 16, '???', "%sを配置する\0"),
 RC    0x00250968: Data(DataType.String, 16, 'Deploy %s\0', "%sを配置する\0"),
       0x00250978: Data(DataType.String, 16, '???', "%sに武装する\0"),


Code: Select all

       0x002508DC: Data(DataType.String, 12, 'Punch\0', "パンチ攻撃\0"),
K      0x002508E8: Data(DataType.String, 16, 'Return to NERV\0', "ネルフに戻る\0"),
 RC    0x002508E8: Data(DataType.String, 16, 'Return to Nerv\0', "ネルフに戻る\0"),
       0x002508F8: Data(DataType.String, 12, '???', "関係ないや\0"),


Code: Select all

       0x0025086C: Data(DataType.String, 28, '???', "パイロット選択からやり直す\0"),
K C    0x00250888: Data(DataType.String, 20, 'Use Dummy Plug\0', "ダミープラグを使え\0"),
 R     0x00250888: Data(DataType.String, 20, 'Use dummy plug\0', "ダミープラグを使え\0"),
       0x0025089C: Data(DataType.String, 24, 'Use Spear of Longinus\0', "ロンギヌスの槍を使え\0")


Code: Select all

       0x00250700: Data(DataType.String, 16, '???', "装備を破棄する\0"),
K      0x00250710: Data(DataType.String, 12, '???', "剣を拾う\0"),
 RC    0x00250710: Data(DataType.String, 12, 'Pick up sword\0', "剣を拾う\0"),
K C    0x0025071C: Data(DataType.String, 16, 'Mastema Shot\0', "マステマで射撃\0"),
 R     0x0025071C: Data(DataType.String, 16, 'Shoot with Mastema\0', "マステマで射撃\0"),
K C    0x0025072C: Data(DataType.String, 16, 'Mastema Cut\0', "マステマで切る\0"),
 R     0x0025072C: Data(DataType.String, 16, 'Cut with Mastema\0', "マステマで切る\0"),
K C    0x0025073C: Data(DataType.String, 16, 'N. Missile Strike\0', "Νミサイル攻撃\0"),
 R     0x0025073C: Data(DataType.String, 16, 'N Missile attack\0', "Νミサイル攻撃\0"),
K C    0x0025074C: Data(DataType.String, 20, 'Dual Saw Strike\0', "デュアルソーで攻撃\0"),
 R     0x0025074C: Data(DataType.String, 20, 'Attack with Dual Saw\0', "デュアルソーで攻撃\0"),
K C    0x00250760: Data(DataType.String, 20, 'Prog. Dagger Stab\0', "プログダガーで突く\0"),
 R     0x00250760: Data(DataType.String, 20, 'Stab with prog dagger\0', "プログダガーで突く\0"),
K C    0x00250774: Data(DataType.String, 20, 'Prog. Dagger Cut\0', "プログダガーで切る\0"),
 R     0x00250774: Data(DataType.String, 20, 'Cut with prog dagger\0', "プログダガーで切る\0"),
K C    0x00250788: Data(DataType.String, 20, 'Impact Bolt\0', "インパクトボルト\0"),
 R     0x00250788: Data(DataType.String, 20, 'Impact bolt\0', "インパクトボルト\0"),
K C    0x0025079C: Data(DataType.String, 20, 'Hyper Chop\0', "ハイパーチョップ\0"),
 R     0x0025079C: Data(DataType.String, 20, 'Hyper chop\0', "ハイパーチョップ\0"),
K      0x002507B0: Data(DataType.String, 20, 'Talk to Tabris\0', "タブリスと対話する\0"),
 RC    0x002507B0: Data(DataType.String, 20, 'Interact with Tabris\0', "タブリスと対話する\0"),
K C    0x002507C4: Data(DataType.String, 20, 'Pilot Instruction\0', "パイロットに指示\0"),
 R     0x002507C4: Data(DataType.String, 20, '???', "パイロットに指示\0"),
K M    0x002507D8: Data(DataType.String, 16, 'Neural Connection Cut\0', "神経接続切断\0"),
 R     0x002507D8: Data(DataType.String, 16, 'Sever nerve links\0', "神経接続切断\0"),
       0x002507E8: Data(DataType.String, 12, 'Status\0', "ステータス\0"),


Code: Select all

       0x002504F4: Data(DataType.String, 12, 'Cancel\0', "キャンセル\0"),
K C    0x00250500: Data(DataType.String, 28, 'Attach Umbilical Cable\0', "アンビリカルケーブル接続\0"),
 R     0x00250500: Data(DataType.String, 28, 'Attach umbilical cable\0', "アンビリカルケーブル接続\0"),
       0x0025051C: Data(DataType.String, 16, '???', "武器を装備する\0"),
K C    0x0025052C: Data(DataType.String, 24, 'View Map\0', "全域マップを確認する\0"),
 R     0x0025052C: Data(DataType.String, 24, '???', "全域マップを確認する\0"),
K C    0x00250544: Data(DataType.String, 20, 'Middle Kick\0', "ミドルキックで攻撃\0"),
 R     0x00250544: Data(DataType.String, 20, 'Attack with middle kick\0', "ミドルキックで攻撃\0"),
K C    0x00250558: Data(DataType.String, 20, 'Prog. Knife Stab\0', "ブログナイフで突く\0"),
 R     0x00250558: Data(DataType.String, 20, 'Stab with prog knife\0', "ブログナイフで突く\0"),
       0x00250570: Data(DataType.String, 16, 'Chop\0', "チョップ攻撃\0"),
K C    0x00250580: Data(DataType.String, 20, 'Prog. Knife Cut\0', "プログナイフで切る\0"),
 R     0x00250580: Data(DataType.String, 20, 'Cut with prog knife\0', "プログナイフで切る\0"),
K C    0x00250598: Data(DataType.String, 24, 'Front Kick\0', "フロントキックで攻撃\0"),
 R     0x00250598: Data(DataType.String, 24, 'Attack with front kick\0', "フロントキックで攻撃\0"),
K C    0x002505B4: Data(DataType.String, 12, 'Sword Swing\0', "剣を振るう\0"),
 R     0x002505B4: Data(DataType.String, 12, 'Swing sword\0', "剣を振るう\0"),
K C    0x002505C0: Data(DataType.String, 24, 'A.T. Field Attack\0', "ΑΤフィールドアタック\0"),
 R     0x002505C0: Data(DataType.String, 24, 'A.T. Field attack\0', "ΑΤフィールドアタック\0"),
K C    0x002505D8: Data(DataType.String, 20, 'Two Platoon Kick\0', "ツープラトンキック\0"),
 R     0x002505D8: Data(DataType.String, 20, 'Two-platoon kick\0', "ツープラトンキック\0"),
K C    0x002505EC: Data(DataType.String, 24, 'Pallet Rifle Shot\0', "パレットライフルで射撃\0"),
 R     0x002505EC: Data(DataType.String, 24, 'Shoot with pallet rifle\0', "パレットライフルで射撃\0"),
K M    0x00250604: Data(DataType.String, 24, 'Maguroku Sword Slash\0', "マゴロクソードで斬る\0"),
 R     0x00250604: Data(DataType.String, 24, 'Slice with Magoroku sword\0', "マゴロクソードで斬る\0"),
K M    0x0025061C: Data(DataType.String, 24, 'Maguroku Sword Thrust\0', "マゴロクソードで突く\0"),
 R     0x0025061C: Data(DataType.String, 24, 'Thrust with Magoroku sword\0', "マゴロクソードで突く\0"),
K C    0x00250634: Data(DataType.String, 16, 'Rifle Shot\0', "ライフルで射撃\0"),
 R     0x00250634: Data(DataType.String, 16, 'Shoot with rifle\0', "ライフルで射撃\0"),
K C    0x00250644: Data(DataType.String, 28, 'Positron Rifle Shot\0', "ポジトロンライフルで射撃\0"),
 R     0x00250644: Data(DataType.String, 28, 'Shoot with positron rifle\0', "ポジトロンライフルで射撃\0"),
K C    0x00250660: Data(DataType.String, 24, 'Positron Sniper Shot\0', "ポジトロン・Sで射撃\0"),
 R     0x00250660: Data(DataType.String, 24, 'Shoot with positron sniper rifle\0', "ポジトロン・Sで射撃\0"),
K C    0x00250678: Data(DataType.String, 20, 'Sever Cable\0', "ケーブルを切断する\0"),
 R     0x00250678: Data(DataType.String, 20, 'Sever cable\0', "ケーブルを切断する\0"),
       0x0025068C: Data(DataType.String, 16, '???', "装備を実行する\0"),
In and of itself, self-evident.

deeRez
Shamshel
Shamshel
User avatar
Age: 30
Posts: 274
Joined: Jul 31, 2011
Location: East-coast USA
Gender: Male

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby deeRez » Sun Feb 25, 2018 2:48 am

So I've figured out the BIND/TEXT format, which means every source of text in the game has been figured out now.

The code that does this is here:
https://github.com/rezual/nge_2_re/blob ... ta/bind.py

Image

First up is f2info.bin: (Not sure how to classify this dialog?)
https://github.com/rezual/nge_2_re/blob ... anslate.py

Next up is f2tuto.bin: (Tutorial dialog?)
https://github.com/rezual/nge_2_re/blob ... anslate.py

Followed by btimtext.bin: (Battle dialog?)
https://github.com/rezual/nge_2_re/blob ... anslate.py

:shinji_boohoo: :shinji_boohoo: :shinji_boohoo: :shinji_boohoo:
And the next one is a doozy, don't get disheartened.
:shinchair:
It's so large I had to split it into 5 parts.
This is all the conversation text in the game.

This is imtext.bin:
https://github.com/rezual/nge_2_re/blob ... _part_1.py
https://github.com/rezual/nge_2_re/blob ... _part_2.py
https://github.com/rezual/nge_2_re/blob ... _part_3.py
https://github.com/rezual/nge_2_re/blob ... _part_4.py
https://github.com/rezual/nge_2_re/blob ... _part_5.py

:sakura:

Now you may notice a difference in format of the above files compared to what you're used to.
Just keep in mind that the Japanese is now BEFORE the ???.
I've also added line breaks to make it easier on the eyes/so you don't start translating the Japanese AFTER the ???...

EDIT: The Japanese text has multiple \0\0\0\0, but you just need to put one \0 at the end.
In and of itself, self-evident.

Reichu
Space-Time Teratoma
Space-Time Teratoma
Posts: 23058
Joined: Aug 21, 2004
Location: Lost in Bat Country
Gender: Female
Contact:

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Reichu » Sun Feb 25, 2018 9:28 am

Wooo! Way to go, deeRez! :jiggy:

At the same time... :sweat:

I'm dying to know what's being said in a lot of the character scenarios, but for now I suppose priority should be given to more general-ish kinds of text?

f2info is just the Classified Info text. I'll take care of that one! :emogendo: Good opportunity to give that translation the thorough comb-over it's needed for years now. On this subject, I'm curious as to how exactly we should translate 秘密情報. See, back before the PSP version came out, I translated it as "Classified Information". Then I saw that the PSP version actually had "Confidential Information" written in English in the background when you're browsing the C.I. screen. Do we go with what the English fanbase is used to by now (which would mean modifying the graphic, I guess), or switch over to what the game uses? An argument can be made both ways, so I'm a bit indecisive... but if there's any right time to make a switchover, I guess now would be it.

So with things rolling along like this, I guess it would be a good idea to split the translation project off into its own thread and sticky it? (New thread so that anyone coming in fresh to the project can go straight to the beginning with page 1.)

@Kira BB Yamato: I should apologize. After staring at some of the NGE2:AC character digests on Nico for a while, I became far less certain about what kind of "voice" to use for text where it's not explicit who's narrating. For now, first person should be fine. (Also, my brain short-circuited when I doing some edits and I changed an "Ireul" to "Iruel"; this can obviously be changed back, lol.)

pwhodges
A Lilin in Wonderland
A Lilin in Wonderland
User avatar
Age: 72
Posts: 10034
Joined: Nov 18, 2012
Location: Oxford, UK
Contact:

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby pwhodges » Sun Feb 25, 2018 10:29 am

I'd stick with Classified. I think English speakers will understand that they have essentially the same meaning without any problem.
"Being human, having your health; that's what's important." (from: Magical Shopping Arcade Abenobashi )
"As long as we're all living, and as long as we're all having fun, that should do it, right?" (from: The Eccentric Family )
Avatar: "Suki da, Yano" - Bokura ga ita ep.21 (details); Past avatars.
Can't wait for 3.0+1.0? - try Afterwards... my post-Q Evangelion fanfic (discussion)

Baz
Leliel
Leliel
User avatar
Posts: 713
Joined: Mar 21, 2009
Gender: Male

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Baz » Sun Feb 25, 2018 2:08 pm

That's amazing. So much text!

The dialog files have a lot of redundancy in the form of slight variations in phrasing. Do these correspond to the speech patterns of different characters? Is there any way to retrieve the speaker for each line of dialogue, or is that information buried in the game logic?

There's a clear distinction as to whether it's a matter of a character choosing between different nuances (in which case the phrasing is very important, as it impacts game play), or whether it's just different characters encountering the same scene.
Software Error. Press left mouse button to continue.
Guru Meditation #00000004.0000AAC0

Reichu
Space-Time Teratoma
Space-Time Teratoma
Posts: 23058
Joined: Aug 21, 2004
Location: Lost in Bat Country
Gender: Female
Contact:

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Reichu » Sun Feb 25, 2018 3:02 pm

View Original PostBaz wrote:The dialog files have a lot of redundancy in the form of slight variations in phrasing. Do these correspond to the speech patterns of different characters?

Each character (aside from Gendo, and probably Fuyutsuki too) has two different speech modes: casual and polite. Which one they use depends on who they're speaking to. E.g., Shinji talking to another kid: casual; Shinji talking to an adult: polite. Misato talking to a kid or to an adult of equal or lesser rank: casual; Misato talking to Gendo or Fuyutsuki: polite.

deeRez
Shamshel
Shamshel
User avatar
Age: 30
Posts: 274
Joined: Jul 31, 2011
Location: East-coast USA
Gender: Male

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby deeRez » Sun Feb 25, 2018 5:18 pm

View Original PostReichu wrote:Wooo! Way to go, deeRez! :jiggy:

At the same time... :sweat:


By the end of this, your and Kira's Japanese is going to be SOOO GOOD. :)

I'm sure other folks will join in as the project continues,
which is why you shouldn't feel like you're on an impossible mission.
Even if you do a routine of waking up and translating 20 lines a day - followed by eating a healthy and balanced breakfast - that's good enough.

I tried PMing Hyper Shinchan, they were interested in translating this game before, but they haven't been active since Jul 14, 2013. :/

As for me, I want to gather up the translation guidelines we have scattered through this thread,
and then combine them into one,
get sign-off from y'all,
and finally add them to the README on GitHub along with a link back to a forum thread on here.

More on the forum thread later below...

View Original PostReichu wrote:I'm dying to know what's being said in a lot of the character scenarios, but for now I suppose priority should be given to more general-ish kinds of text?


There's probably cut dialog, so eat-your-heart-out-kid!
"There was a scenario where Gendo pilots the Eva!? Ieeeee?!"

View Original PostReichu wrote:f2info is just the Classified Info text.
On this subject, I'm curious as to how exactly we should translate 秘密情報.
See, back before the PSP version came out, I translated it as "Classified Information".
Then I saw that the PSP version actually had "Confidential Information" written in English in the background when you're browsing the C.I. screen.
Do we go with what the English fanbase is used to by now (which would mean modifying the graphic, I guess), or switch over to what the game uses?
An argument can be made both ways, so I'm a bit indecisive... but if there's any right time to make a switchover, I guess now would be it.


Checking jisho.org - looks like 機密 is Classified Information while 秘密情報 is Confidential Information.

Checking Wikipedia / other sources, I've learned that:

Classified Information is just information that has been put into a class/category,
the assumption is that if it is categorized to begin with it must be somewhat special,
so it's synonymous with Confidential/Secret outside legalese.
("A Car")

Confidential Information is a specific category of Classified Information in legalese.
("A Red Car")

I think the fan-base should continue using Classified Information,
but for the translation use Confidential Information,
to match the legal definition.

View Original PostReichu wrote:
So with things rolling along like this, I guess it would be a good idea to split the translation project off into its own thread and sticky it? (New thread so that anyone coming in fresh to the project can go straight to the beginning with page 1.)



Yes! But I think it should be split into three:
A - [GAME] Neon Genesis 2: Another Cases: Another Cases
This should be just discussing the scenarios, what they mean, etc.

B - [GAME] Neon Genesis 2: Another Cases: Another Cases - Technical Analysis (Locked)
Move all these posts to the technical analysis (with a post at the end pointing the the new translation thread).

Some of these are talking about translating the game early on so the correct name for the thread would be:
"Early translation attempts," but to not confuse new folks, it's best to call it Technical Analysis while
the new translation thread has "Translation" in the title.
SPOILER: Show
Not sure how easy it is to select these one by one in the moderator ui, but these ones I've found that are discussing early translation/technical matters:
post/410473/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#410473
post/416703/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#416703
post/417013/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#417013
post/417037/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#417037
post/419678/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#419678
post/421609/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#421609
post/469816/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#469816
post/469819/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#469819
post/469879/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#469879
post/469894/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#469894
post/470058/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#470058
post/470068/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#470068
post/470215/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#470215
post/470231/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#470231
post/470242/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#470242
post/470261/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#470261
post/470277/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#470277
post/470280/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#470280
post/472740/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#472740
post/472828/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#472828
post/549779/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#549779
post/558509/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#558509

And then everything including and after:
post/871047/GAME-Neon-Genesis-Evangelion-2-Another-Cases/#871047


C - [GAME] Neon Genesis 2: Another Cases: Another Cases - Translation
This would be a blank new thread with a helpful first page like you said to give everyone a good footing.
Feel free to make it, lock it, and pin it - so you have a link at least to which to link everything else to,
but empty/locked for now while we figure out what the heck to put as a first post. :|

View Original PostReichu wrote: (Also, my brain short-circuited when I doing some edits and I changed an "Ireul" to "Iruel"; this can obviously be changed back, lol.)


Done!

View Original PostBaz wrote:Is there any way to retrieve the speaker for each line of dialogue, or is that information buried in the game logic?


Possibly via the sound files, but not all things have sound files.
The way the BIND/TEXT format works is that there's a block of sentences with an unknown_first and unknown_second number.

Then there's another block that pairs a sole unknown number to one of the sentences in the above block.
So you might have 1 sentence used 16 times, each time this sole unknown number is changing,
while the sentence + unknown_first and unknown_second are reused.

That sole unknown number * might * be the sound file to play with the sentence:
Image

Now, what I did is to give the translators a file that contains only one occurrence of each phrase,
so they don't see * most * of the duplicates unless of course the duplicates have slight variations (as you've spotted).

If I can figure out what those unknowns are, then yeah, I'll find a way to provide that information to the translators.

Though on the other hand, I assume it's saying what sound to play, but then it doesn't make sense since multiple phrases share the same sole unknown number, unless the sole unknown number selects the speaker, while unknown_first and unknown_second select the phrase underneath the speaker.
:deskbang:

View Original PostReichu wrote:Each character (aside from Gendo, and probably Fuyutsuki too) has two different speech modes: casual and polite. Which one they use depends on who they're speaking to. E.g., Shinji talking to another kid: casual; Shinji talking to an adult: polite. Misato talking to a kid or to an adult of equal or lesser rank: casual; Misato talking to Gendo or Fuyutsuki: polite.


If it becomes hard to tell which mode to use, maybe just go with semi-casual for everything? :-/
In and of itself, self-evident.

Kira BB Yamato
Embryo
Posts: 16
Joined: Feb 09, 2018

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Kira BB Yamato » Sun Feb 25, 2018 8:55 pm

Huh, you think people will have issues with casual vs formal? That's some Intermediate Japanese I stuff right there, but then, considering the quality or lack thereof for my translations, maybe I shouldn't be talking.

Either way, we're in a real good position now, thanks to you. I'll do my best to put out as much as I can, but I'm going to be fairly swamped this week - three Japanese quizzes and two programming exams, as well as a programming project that I need to salvage because it's a total wreck right now.

Reichu
Space-Time Teratoma
Space-Time Teratoma
Posts: 23058
Joined: Aug 21, 2004
Location: Lost in Bat Country
Gender: Female
Contact:

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Reichu » Mon Feb 26, 2018 2:05 pm

@deeRez: I'll write a more thorough response later, but just one point: the cut scene dialogue still appears to be missing. Any word on the status of cracking that?

deeRez
Shamshel
Shamshel
User avatar
Age: 30
Posts: 274
Joined: Jul 31, 2011
Location: East-coast USA
Gender: Male

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby deeRez » Mon Feb 26, 2018 4:23 pm

View Original PostReichu wrote:@deeRez: I'll write a more thorough response later, but just one point: the cut scene dialogue still appears to be missing. Any word on the status of cracking that?


Oh my gah, there's more text it turns out in the .evs file format:

Code: Select all

$ cat ./event/tev1901.har_EXTRACT/tev1901.evs | iconv -f SHIFT-JIS -t UTF-8//IGNORE
.EVS ィタネヤワ
          ィーネミL、@tト$,8@クタ」tev_1901.bintitlet19.zptミds010_01a.zptミケm約束の時が来た。
ロンギヌスの槍を失った今、
リリスによる補完は出来ぬ。▽
唯一、リリスの分身たる、
エヴァ初号機による遂行を願うぞ。
f020_01a.zpt.ウmゼーレのシナリオとは違いますが。
Aカm人は、エヴァを生み出す為に
その存在があったのです。
Rエm人は、新たな世界へと
進むべきなのです。
その為のエヴァシリーズです。
P,スm我らはヒトの形を捨ててまで、
エヴァという名の箱舟に
乗る事はない。
C+シmこれは通過儀礼なのだ。
閉塞した人類が再生するための。
0-ソm滅びの宿命は、新生の喜びでもある。
J,セm神もヒトも全ての生命が
「死」を以って
やがて一つになる為に。
$オm死は何も生みませんよ。
$サm死は、君達に与えよう。
dミqキm人は、生きていこうとするところに
その存在がある。▽
それが、自らエヴァに残った
彼女の願いだからな。


The nonsense characters are cause I'm reading all the text in the file as Japanese. Junk becomes junk, actual Japanese becomes actual Japanese, but key part is that yes it looks like there's Japanese text in there.

So yes I'll need to start figuring out this EVS format, which might be a scripting language. :|
I hope it's not since those are a huge rabbit hole. D;

Code: Select all

$ xxd ./event/tev1901.har_EXTRACT/tev1901.evs
00000000: 2e45 5653 2000 0000 8800 0000 a000 0000  .EVS ........... <- looks to be entry count & bunch of offsets
00000010: a800 0000 c000 0000 c800 0000 d400 0000  ................
00000020: dc00 0000 e400 0000 ec00 0000 f400 0000  ................
00000030: 0c01 0000 1401 0000 a801 0000 b001 0000  ................
00000040: c801 0000 d001 0000 0402 0000 4c02 0000  ............L...
00000050: a402 0000 f802 0000 4003 0000 7403 0000  ........@...t...
00000060: c403 0000 ec03 0000 1404 0000 1c04 0000  ................
00000070: 2404 0000 2c04 0000 3804 0000 4004 0000  $...,...8...@...
00000080: b804 0000 c004 0000 a300 1100 0000 0000  ................ <- 0x88 at 0x08 in the file coincidentally starts here
00000090: 7465 765f 3139 3031 2e62 696e 0000 0000  tev_1901.bin.... <- Not sure why it's importing an external file
000000a0: 9000 0400 e803 0000 8e00 1100 0000 0000  ................
000000b0: 7469 746c 6574 3139 2e7a 7074 0000 0000  titlet19.zpt....
000000c0: 9000 0400 a00f 0000 8e00 0500 0000 0000  ................
000000d0: 0000 0000 9000 0400 e803 0000 9200 0400  ................
000000e0: 8c00 0000 9000 0400 d007 0000 9200 0400  ................
000000f0: 6400 0000 8c00 1100 0000 0000 7330 3130  d...........s010
00000100: 5f30 3161 2e7a 7074 0000 0000 9000 0400  _01a.zpt........
00000110: d007 0000 0100 9000 1400 0000 0010 0000  ................
00000120: b96d 0000 96f1 91a9 82cc 8e9e 82aa 9788  .m.............. <- where the Japanese begins
00000130: 82bd 8142 0a83 8d83 9383 4d83 6b83 5882  ...B......M.k.X.
00000140: cc91 8482 f08e b882 c182 bd8d a181 410a  ..............A.
00000150: 838a 838a 8358 82c9 82e6 82e9 95e2 8aae  .....X..........
00000160: 82cd 8f6f 9788 82ca 8142 81a4 0a97 4288  ...o.....B....B.
00000170: ea81 4183 8a83 8a83 5882 cc95 aa90 6782  ..A.....X.....g.
00000180: bd82 e981 410a 8347 8394 8340 8f89 8d86  ....A..G...@....
00000190: 8b40 82c9 82e6 82e9 908b 8d73 82f0 8ae8  .@.........s....


But wait - what does IMTEXT contain then? D:
Just the random phrases the characters say to one another, like greetings?
In and of itself, self-evident.

Reichu
Space-Time Teratoma
Space-Time Teratoma
Posts: 23058
Joined: Aug 21, 2004
Location: Lost in Bat Country
Gender: Female
Contact:

Re: [GAME] Neon Genesis Evangelion 2: Another Cases

  •      
  •      
  • Quote

Postby Reichu » Mon Feb 26, 2018 7:07 pm

deeRez: Yep, that's cut scene dialogue for sure! (The game's version of the Gendo/Seele scene near the beginning of EoE.)

Looking through btimtext, it has a whole bunch of different stuff. I'll write up a guide for whatever I can ID. (Just noticed the lack of hexadecimal... whatevers. Huh.) Further support, BTW, for your suspicion that Alfa linked sound files to text. There's text here for all the pilot voice clips used in the battle animations, even though no text accompanies these vocalizations in-game. Here's an example of what I mean (this one is これでも食らえ!! in bimtext).


Return to “Everything Else Evangelion”

Who is online

Users browsing this forum: No registered users and 4 guests