2012年5月16日水曜日

Diablo3

MPQファイル
MPQファイル自体は、http://www.zezula.net/en/mpq/download.htmlで公開されているMPQ EditorでUnpack/Packが可能。

フォントについて
ClientData.mpqのFontフォルダ内のfntファイルで、フォント自体は、TrueType。ヘッダ204バイトを削って、拡張子を.ttfで保存すると通常のフォントファイルとして確認可能。
Axe Bad Data、SanSerifには、日本語フォントもきちんと含まれている模様。Serifは、中国語フォントで日本語も含まれているが、抜けあり。
ExocetLightはDiabloで昔から使われているフォントで、こちらはASCIIのみ。言語を英語で選択した状態で日本語化するには、画面のフォント設定をいじるか、フォントを差し替えるかする必要がある。現実的にはフォント差し替え。
中国語に言語を変更すると、フォントはzhTW_Text.mpqのFontフォルダに含まれていて、ExocetLight、Script、Serifが含まれている。やはり、日本語も含まれているものの抜けあり。

テキストについて
言語ごとのXXXX_Text.mpqに全てのテキストが含まれている。英語の場合は、enUS_Text.mpqで、中国語だとzhTW_Text.mpq。ただし、カットシーンについては、別ファイルでXXX_Text.mpqかXXXX_Cutscenes.mpqのどちらかに含まれている。
ファイルは、カットシーンが*.sbtで、それ以外が*.stl。どちらもUTF-8。
STLファイルは、フォーマット自体はすでにd3inferno.comで紹介されているので(http://d3inferno.com/StringList.html)、Unpackerは作った。まだ、整理してないので整理したらアップ予定。
SBTは、カットシーンの字幕で、BOM付のUTF-8テキストファイル。

パッチについて
STLについて、アップデートパッチで内容が更新されると、パッチファイルにSTLの修正が入るが、これが差分更新で、最初に追加されるオリジナルのSTLフォーマットとは別物となる。パッチフォーマットは、http://www.zezula.net/en/mpq/patchfiles.htmlに解説あり。
STLでは、bsdiffのカスタマイズ版が使われいる。仕様から考えると、最新のアップデートMPQに、 "COPY"形式で丸ごと差し替えに変更し、最新のSTLやSBTを全部突っ込めばうまくいくはず。(通常は、"BSD0"で更新のあったものだけが追加されている)

その他
レジストリに言語の指定が保存されている。
HKCU\Software\Blizzard Entertainment\D3\Locale

日本語化について
フォントは、ヘッダ204バイトを適当なttfにくっつけた上で、0xBCの4バイトに書き込まれているフォントデータサイズを、変更するフォントデータサイズに書き換えればOKと思われる。
テキストは、MPQ Editorで全てのアップデートを含めた状態でExtractして、STLやSBTを日本語化し、一番新しいアップデートMPQに全部 "COPY" で含めることができればできそうな気がする。

MODについて
そもそもDiablo3ではBlizzardはMODを禁止していて、BANの可能性もあるので、仮に日本語化できたとしても改変したMPQを使うことでBANされるかもしれない。。。というのがあるので、弄る場合は完全自己責任で。。。

0 件のコメント:

コメントを投稿