【FalloutNV】Xbox360版からテキストをぶっこ抜く

先日、有志が日本語化した翻訳テキストの名詞部分を日本語に修正してたのですが、
音声を箱○版からぶっこ抜けたのに、テキストを抜けないわけないよね・・・と思って調べてみたらそんな方法がありました。
著作権的には私的利用でもやばいらしいので自己責任でね。

必要なのは

まず、ぶっこ抜く用のディスクイメージをXbox Backup Creator.exeで開いて・・・

赤枠ね。
xbox_backup_creator_001

んで、赤枠の「File」をクリック。こんな小さいメニューじゃなくてでかでかと目立たせて欲しいね。
xbox_backup_creator_002

Dataを開くと右ウインドウに出てくる「FalloutNV.esm」、こいつを右クリックして「Extract」で適当なところに書き出します。
ファイル名はわかりやすく「FalloutNV-360.esm」とでもなんでも。
xbox_backup_creator_003

んで、そいつをGECKで開きます。
geck_01
赤枠のALLを選択して

File > Export > Dialogue で書き出す。
ファイル名は「fonvj_xbox_dialogue_ja.txt」とでも
geck_02

同様に、FONVのインストールフォルダ > Data > FalloutNV.esm もGECKで開いて
ファイル名を「fonvj_xbox_dialogue_en.txt」とでも書き出しておきます。

一段落。

このままではまだ文字化けが酷くて大変です。
「fonvj_xbox_dialogue_ja.txt」をバイナリエディタで開きます。
で、こいつの 0x27 を 0x92 に一括置換します。
favbinedit_01
こんな感じで指定して一括置換ね。
favbinedit_02

で、保存してバイナリエディタの出番終了。

次、ExcelかCalcで開きます。
タブで区切るを選択して開きます。
1行目は見出しが入ってるだけなので2行目からでいいです。
calc_01

こんな感じで開いたら、必要なのはAとEの列なので、他は削除。
BCDとFGの列を削除します。
calc_02

英語版の「fonvj_xbox_dialogue_en.txt」も同様にBCDとFGを削除しちゃってください。
calc_03

で、良く見るとFormIDは重複がけっこうあります。たぶん同じシーンの会話は同じIDなのでしょうね。
FormIDをGIDに置換しときます。

ですが、FOJPの仕組み的に同じIDだと一番上のものだけしか判別されないようなので、違うIDを振ってあげなきゃなりません。

まずA列を選択して「列を挿入」して左側に1列追加。
で、その追加した列の一番上に「=IF(B1="";"";B1&TEXT(COUNTIF($A$1:B1;B1);"00"))」を入れます。
calc_09

あとはそれを下にコピーします。枠の右下をひっぱる感じ。
IDの後ろに連番がついたはずです。要らなくなったB列は削除。

英語版の「fonvj_xbox_dialogue_en.txt」も同様に(iry

これで同じGIDの英語版と日本語版ができたはずです。
で、Calcでもう一つやることがあります。
テキスト内に{ }でくくられた補足文みたいのが入ってます。感情とか喋ってる人物名とかが入ってるようですが
画面に出てくるテキストじゃないので、これは削除しとかないとダメ。
正規表現で一括削除しちゃいましょう。

calc_07

\{.*?\}
↑正規表現はこれね。
calc_08

英語版の「fonvj_xbox_dialogue_en.txt」も同様に(iry
あ、他にも「"」が連続して入ってたら適宜置換なり削除なりしてください。
英語版でも日本語版でも行頭と行末にある"は要らない。
連続した""で囲まれた文字 例)""強調する文字"" とかがあったら
""(.+?)"" を 『$1』 に置換とか。

あとは出来たファイルを
NVJPのフォルダに突っ込んで、fojp.xmlに指定してあげるだけ。
※ファイルの文字コードはShift-jisにしとかないとFOJPで読み込めないので注意。

<file jp="NVJP/fonvj_xbox_dialogue_ja.txt" en="NVJP/fonvj_xbox_dialogue_en.txt" priority="1" type="2" />

と入れてあげてください。
priorityは0でもいいと思います。
以上、お疲れ様でした。