OBD:Localization/Japanese

From OniGalore
Jump to navigation Jump to search
File properties of examined Japanese Oni (Windows)
Size (Bytes) Completion time
level0_Tools.dat
.raw
2,044,404
6,582,304
2001/05/17 20:40:18
20:40:16
level0_Final.dat
.raw
4,520,626
29,964,288
2001/08/27 12:38:30
12:38:28
level1_Final.dat
.raw
9,228,427
46,185,408
12:41:30
12:41:28
level2_Final.dat
.raw
7,746,752
36,836,384
12:42:28
12:42:26
level3_Final.dat
.raw
10,057,083
31,447,200
12:43:30
12:43:28
level4_Final.dat
.raw
9,108,703
34,365,600
‏‎12:44:30
12:44:28
level6_Final.dat
.raw
10,589,595
35,089,984
12:45:28
‏‎12:45:26
level8_Final.dat
.raw
13,131,091
42,350,912
‏‎12:47:10
‏‎12:47:08
level9_Final.dat
.raw
11,535,489
34,567,616
12:48:18
12:48:16
level10_Final.dat
.raw
12,234,094
46,970,048
12:40:20
12:40:18
level11_Final.dat
.raw
10,079,684
32,815,328
12:49:34
12:49:32
level12_Final.dat
.raw
8,879,768
30,825,856
12:50:30
12:50:28
level13_Final.dat
.raw
5,149,398
34,199,136
12:51:14
‏‎12:51:14
level14_Final.dat
.raw
10,039,427
41,758,912
‏‎12:52:20
‏‎12:52:18
level18_Final.dat
.raw
10,190,295
37,197,088
12:53:32
‏‎12:53:30
level19_Final.dat
.raw
11,276,307
44,215,840
12:55:06
12:55:04

This is an overview of the differences between the Japanese and English versions of Oni (Windows for both).

The main focus is on instance files (.dat/.raw) and not on the localized fragments of the engine (Oni.exe), which are typically limited to the text strings "Syndicate Warehouse" and "Save Point %d".

The table on the right lists the file properties for the specific Japanese version that was examined. For the file properties of the reference English version, see HERE. Exactly identical file sizes (level2_Final.dat, level3_Final.dat, level4_Final.dat and level6_Final.dat) have been underlined, much larger file sizes (level0_Final.dat) have been marked in bold.

level0_Tools

An outstanding feature of the Japanese localization is that it comes with level0_Tools, a component that is inaccessible from the shipping version of Oni and can only be used by developers in "Tool mode".

At the time of writing, Japanese Oni is the only known publicly available instance of level0_Tools that was built for Windows. The other instances of level0_Tools are the Japanese Mac release, and the German Big Blue Box release (also for the Mac).

Localization-wise, the remarkable thing about this Japanese level0_Tools is that it is not localized: out of the 70 WMDDs, only the following 14 "dialog_"s were modified, and merely had their "Cancel" button replaced with "キャンセル": dialog_choose_combat, dialog_choose_flag, dialog_choose_path, dialog_combat_behavior, dialog_melee_profile, dialog_neutral_behavior, dialog_event_properties, dialog_new_object, dialog_particle_appearance_texture, dialog_particle_new_action, dialog_properties_flag, dialog_properties_particle, dialog_properties_trigvol, dialog_properties_turret

(In the Big Blue Box version, the German translation affects 23 "dialog_"s, some of them rather thoroughly translated.)

Apart from the localization, the Japanese level0_Tools offers better quality TXMP than the German Big Blue Box one, on 91 textures out of 373: DOORLOCK, DOORLOCK2, and all those with prefixes DOOR_AIR, DOOR_MP, DOOR_SB, _DOOR_AIR_, _DOOR_DR_, _DOOR_HA_, _DOOR_MP_, _DOOR_PW_, _DOOR_PW2_, _DOOR_RL_, _DOOR_SB_, _DOOR_TC_, _DOOR_TC2_, _DOOR_Z_, A_GARAGE_, AIR_DK_, CON_SB_ (uncompressed storage rather than DXT1). See HERE for an overview of level0_Tools that is not focused on localization.

The size of the .dat files

It shouldn't be too surprising that 4 out of 15 .dat files (not counting level0_Tools) have exactly the same size as their English counterparts. If two level files contain exactly the same instances (possibly in a different order), and if matching instances differ in content only but not in size (e.g., with translated TxtC/OPge/IPge/etc, but no size change for array instances like TXCA/VCRA/IDXA), then the .dat files' sizes will naturally match. Textures, sounds and subtitles are likely to vary for a localization, but their variable data resides in the .raw, and does not affect the size of the .dat files.

So the real question, rather, is why would the other eleven .dat files be larger than their English counterparts?

level0_Final

The case of level0_Final is special: its much larger size (4,520,626 B against 2,816,050 B) is almost entirely attributable to the font files (TSFT) and glyph arrays (TSGA) belonging to the Tahoma TSFF.

Like for the English Oni, there are fifteen TSFT font files (normal, bold and italic variants in 7pt, 9pt, 10pt, 12pt and 14pt sizes). Each of them has a slightly larger pixel data array: there are no extended ASCII glyphs (96 of those), but the 154 kana more than make up for them, so the pixel data of the TSFTs ends up taking more than for English Oni, by 230,560 B overall.

The main difference in size comes from the somewhat bloated use of auxiliary TSGAs for kana descriptors: in addition to the main TSGA used for regular ASCII (less that half full), there are 19 more TSGAs, totalling space for 4864 glyph descriptors (per TSFT), but filled very sparsely (only 154 kana glyphs are actually present). The excess space taken up by the 19 auxiliary TSGAs is about 100 kB (including instance headers, instance descriptors, and padding), so for the 15 fonts we get about 1.5 MB (about 30 times more than for the glyphs themselves, i.e., the pixel data in the TSFTs).

Actual levels

Typically a level will have larger .dat file for the Japanese version because it contains more instances, and these extra instances are typically orphan ones (not actually looked up by the game, or the original Oni would require them too), left over from the development/localization process. Remember that even the original Oni has orphan instances, both named (unreferenced SNDDs, such as Iron Demon sounds) and unnamed (like the low-LOD TRCM that are bundled with animation collections, see HERE).

A detailed overview of unnamed orphan instances is somewhat laborious, since those are lost upon -export (unpacking via OniSplit), and can only be analyzed through OniBrowser and/or in binary. However, their abundance (relative to the English version) can be estimated by repacking each level and seeing by how much it shrinks.

Named orphans can be assessed directly. In the case of the Japanese version, the extra named instances are limited to alternative takes of speech lines (SNDD files).

level#_Final textures

No TXMP were translated apart from the three types of level splashscreens (.MISSION COMPLETE, .MISSION FAILED and chapter intro).

(The final splashscreen has no .MISSION COMPLETE label, thus it remained unchanged.)

Two of the ".MISSION COMPLETE" backgrounds had their English text replaced -- although, somewhat surprisingly, not with Japanese:

Apart from the level splashscreens all the TXMPs are exactly identical to those of the reference English Oni (same compression).

Menus, dialogs, UI

SUBTmessages was fully translated, with no changes in the lookup labels or in their order.

All the F1 menu components were fully translated, namely: OPge, IPge, WPge, DPge, HPge and IGHH.

All ONLDs were translated (along with the strings "Syndicate Warehouse" and "Save Point %d" in the engine).

The following WMM_s and WMDDs were not translated:

AKEVtctf

Somewhat surprisingly, there is a minor change in AKEVtctf, namely UV coordinate #14836 in TXCA:

in English Oni the value is (7.35236319953e-30, 7.08227594387e-39), or (0x0F151FA7,0x004D1E81) in hex
in Japanese Oni the value is (8.97938881655e-30, 7.08301582946e-39), or (0x0F361FA7,0x004D2091) in hex

For all intents and purposes both UVs are equivalent to (0,0). The reason for the diff is anyone's guess.

Subtitles

SUBTsubtitles and SUBTmessages were fully translated, with the exception of two unused voice lines:

  • "Striker: Huh?" (08_29_31, fits into the numbering of minor NPC encounters of CHAPTER 08 . AN INNOCENT LIFE, but is too generic for an informed guess.)
  • "グリフィン: I knew it was only a matter of time. It's over." (09_33_08, apparently a early variant for the CHAPTER 08 . AN INNOCENT LIFE outro, in which Konoko's rogue status wasn't stated at all until the next chapter.)

Sounds

Almost all the speech lines have been translated into Japanese: vocalizations and pain sounds, cutscene speech, NPC speech, Easter-egg voice lines, as well as "Access Denied". A few remarks, though.

The following sounds were not re-dubbed in Japanese even though they contain a form of voice acting.

  • SNDDninja_cdscene.aif (Mukade's defeat sound, similar to snin_hrt_dth*)
  • SNDDkerr_dth1.aif (Kerr's unique death sound)
  • SNDDmutcomkick_heavy.aif (Mutant Muro's "super_kick" vocalization)
  • SNDDmutcompunch_heavy.aif (Mutant Muro's "super_punch" vocalization)
  • SNDDmutcomthunderbolt_start.aif (Mutant Muro's repulsive attack)

For some reason the ambient loops named city_amb* (which do not include speech) are cut at a different length than in the English version, sometimes significantly longer.

  • city_amb_t05a lasts ~3 seconds (182 ticks) in English Oni and ~6 seconds (348 ticks) in Japanese Oni
  • city_amb_t05b lasts ~2 seconds (123 ticks) in English Oni and ~4 seconds (262 ticks) in Japanese Oni
  • city_amb_t05c lasts ~3 seconds (155 ticks) in English Oni and ~6 seconds (363 ticks) in Japanese Oni
  • city_amb_t06b lasts ~4 seconds (250 ticks) in English Oni and ~6 seconds (358 ticks) in Japanese Oni
  • city_amb_t06c lasts ~3 seconds (193 ticks) in English Oni and ~5 seconds (319 ticks) in Japanese Oni
  • city_amb_t07a lasts ~6 seconds (332 ticks) in English Oni and ~8 seconds (492 ticks) in Japanese Oni
  • city_amb_t07b lasts ~5 seconds (292 ticks) in English Oni and ~7 seconds (416 ticks) in Japanese Oni
  • city_amb_t07c lasts ~5 seconds (293 ticks) in English Oni and ~8 seconds (462 ticks) in Japanese Oni
  • city_amb2_t07a lasts ~3 seconds (179 ticks) in English Oni and ~8 seconds (469 ticks) in Japanese Oni
  • city_amb2_t07b lasts ~5 seconds (319 ticks) in English Oni and ~9 seconds (536 ticks) in Japanese Oni
  • city_amb2_t07c lasts ~4 seconds (215 ticks) in English Oni and ~14 seconds (853 ticks) in Japanese Oni

Thus, of all the "city ambient" loops, only city_amb_t06a uses the same sound data as in English Oni.


In EnvWarehouse (level 1) there are backups of three English Oni sounds, not referenced in OSBD:

  • SNDDoriginal_c01_01_01griffin.aif (a copy of the English c01_01_01griffin)
  • SNDDbbb_c01_01_01griffin.aif (another copy of the English c01_01_01griffin)
  • SNDDoriginal_c01_01_05griffin.aif (a copy of the English c01_01_05griffin)

Some recurrent sounds are different across levels in Japanese Oni, instead of being exact duplicates.

  • c00_01_29shinatama occurs both in level 0 and level 1, as two takes with slightly different intonations (the English counterpart, "Hi Konoko! It's me, Shinatama.", is exactly the same in level 0 and level 1).

Some sounds have alternative Japanese takes, not referenced in OSBD.

  • nin_hrt_md1 (different from the actually referenced "nin_ hrt_md1" as well as from its original English version)
  • nin_hrt_md2 (different from the actually referenced "nin_ hrt_md2" as well as from its original English version)
  • nin_hrt_md3 (different from the actually referenced "nin_ hrt_md3" as well as from its original English version)
  • nin_hrt_md4 (different from the actually referenced "nin_ hrt_md4" as well as from its original English version)
  • nin_hrt_md5 (different from the actually referenced "nin_ hrt_md5" as well as from its original English version)
  • snin_hrt_md1 (different from the actually referenced "snin_ hrt_md1" as well as from its original English version)
  • snin_hrt_md2 (different from the actually referenced "snin_ hrt_md2" as well as from its original English version)
  • snin_hrt_md3 (different from the actually referenced "snin_ hrt_md3" as well as from its original English version)
  • snin_hrt_md4 (different from the actually referenced "snin_ hrt_md4" as well as from its original English version)
  • snin_hrt_md5 (different from the actually referenced "snin_ hrt_md5" as well as from its original English version)
  • c09_31_25shinatama (different from the actually referenced "c09_31_25shinatama " as well as from its original English version; the reference is from OSBDc09_31_25shinatama_.grp, with an underscore character instead of the space)


To be continued...