2012年2月22日水曜日

Mass Effect (2)

よくよくダイアログテキストのファイルを確認したところ、BioGame\CookedPC\Packages\Dialog内のhogehoge_D.upkがすべてダイアログテキスト。
キャラ別に用意されているので、Global_tlk.upkも含めて、全部で569ファイル。。。

フォントは、swfの日本語フォントを作成して簡易的にBIOC_Materials.uに書き戻してみたがエラーで起動せず。
upkをきちんと処理できるツール作らないとNG。

6 件のコメント:

  1. 貴重な情報ありがとうございます。
    MassEffectの日本語化は以前トライして挫折(苦笑)したのですが、以前作成したUPK unpack/repackツールをまとめなおしました。よろしければお試しください。お役に立てば幸いと思います。
    https://sites.google.com/site/0dd14lab/home/junkyard

    返信削除
  2. 追記です。
    調査いただいた情報・ツールをもとにフォントの置き換え、Global_tlk中のテキストを書き換えを行い、upkファイルをrepackし配置したところ、ゲーム中での日本語の表示に成功しました

    返信削除
  3. 0dd14さん、情報ありがとうございます。
    実は以前からお世話になってます。DIのtexmodやテキスト変換ツール作った本人で、その節はお世話になりました。m_0_m

    フォントは自分も継続して調べていて色々試したのですが、再構築したupkの構造のどこかに問題があるらしく、ほかのオブジェクトが見つからなくなったり、Bad name indexと言われたりして上手く行ってませんでした。

    自分はupkはME1で初めて中身を見たので、0dd14さんのがUE3系のゲームいろいろいじってらしたので、多分自分よりうまくできるんだろうなーと実は思ってました。

    upkへのrepackさえできれば、もう少しスマートな方法が見つかっているので、それはまたまとめておきますね。

    あ、あと、ツールダウンロードしてみましたが、エラー吐きました。。。普通にupkファイルをunpackerに食わせただけなのですが。。。

    返信削除
  4. 返信ありがとうございます。
    DIのときのツールの作者様でしたか。こちらこそお世話になりました。m(_ _)m

    Mass Effectについてはいろいろ調べていたのですが、当時はTlkファイルの書式が把握できずあきらめていました。

    unpackerエラーになってしまいましたか…ちなみにどのファイルでしたか?
    こちらでは、調べていただいたBIOC_Materials.uとGlobalTlk.upkの展開・ファイル入れ替え・再パックはできました

    返信削除
    返信
    1. tlkは、ME2同様ハフマン符号化を使っていて、考え方自体はほぼ同じでしたが、個々のデータ型が違っているのと、ハフマンノードの保存フォーマットがずいぶん違ってました。
      すでにご存知かもしれませんが、tsxbinというツールを初期のフォーマット解析に使うようになって、ずいぶんと効率があがりました。コードを書かなくてもマクロでデータ構造を把握できるので、便利です。

      ツールで試してみたのは、BIOC_Materials.u、Global_Tlk.upk、GUI_SF_Fonts.upkですね。BIOC_Materials.uはdecompressしたものを通しました。ツールの方もダウンロードしなしてみたりしましたが、やはりだめでした。"Read UPK-Info"の直後に止まってしまいました。

      削除
    2. UPKunpackですが、対象ファイル名をフルパスで指定しないとエラーになってしまう事が分かりました…。すみませんがフルパス指定で試してみてください。
      自分の調査用のツールだったので作りがかなり甘いです。後ほど修正しておきます。(repackのほうはフルパスでなくて大丈夫です)

      tsxbin初めて知りました。これは便利そうですね。
      今回のUPKファイルもゲームによって微妙にカスタマイズされていて、構造が変わるんですよね。今後の解析に役立ちそうです。ありがとうございました

      削除