PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報

2022年03月09日
0

PC ゲーム DEAD SPACE シリーズ(2008~2013)の日本語化ファイルについて解析したので、その解析内容をまとめました。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル基本情報と解析データについて

PC ゲーム DEAD SPACE シリーズ(2008~2013)の日本語化ファイルは、初期は中文化ファイルの実行ファイル(exe)改変と外部 DLL・テキスト・フォントを使った ali213 版が主流でした。

2013年に Dead Space 日本語化作業所スレで DEAD SPACE 3 でオリジナルのフォント・テキストデータを書き換えてリパックする 3DM 版を使った日本語化方法が実現参考情報:ali213 版と 3DM 版の違い)した方が現れて、集まった有志の人たちで調整と修正を繰り返しながら 2022年3月時点では 3DM 版が 2015年に最終バージョンとして公開されています。

また、過去作(初代と 2)にも同じ方法で日本語化できるということがわかり、その後に初代と 2 にも同じリパック版日本語化ファイルが作成・公開された流れとなっています。(初代のみ中文化 exe 実行ファイルが必要)

日本語化ファイルは Dead Space 関連日本語化(リパック版)アップローダ からダウンロードできますが、オリジナルのアーカイブファイル(~.viv、~.dat)やパック済みファイル(~.str)に直接パッチを適用するため、どのファイルにどのようにして日本語化しているかがわかりません。

また、ゲーム開発が終了しているので可能性は低いですが、万が一ゲーム側のアップデートによりアーカイブファイルに変更があった場合、日本語化パッチが適用できなくなる恐れがあります。

幸い Dead Space 関連日本語化(リパック版)アップローダ には日本語化に必要な一部のツールが公開されています。これらのツールを使って日本語化されたアーカイブおよびパック済みファイルをアンパック → 日本語化ファイル抽出 → オリジナルファイルに日本語化ファイルをリパックする手順をまとめました。

さらに、どのようにして日本語化ファイルが作成されたのか、過去ログから日本語化に関する投稿された内容を調べ上げて、日本語化に必要なフォーマット情報およびデータ作成方法についても可能な限りまとめてみました。

今回の調査・記事内容では情報不足・私の力不足によりわからなかった・実現できなかったことがあります。フォントの一部フォーマット情報とフォント作成方法です。フォントに関するデータ解析はほぼ終わっていますが、一部フォーマットが不明なことと、実際にフォントを作ってゲームで表示・動作するかどうかの試行錯誤が続くことになりそうだったので、諦めることにしています。

ちなみに参考サイトの情報によれば DEAD SPACE のゲームエンジンは、同スタジオが手がけた「The Godfather」で開発されたゲームエンジンを改造したものを採用しているということです。

PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開

PC ゲーム DEAD SPACE 3(2013)日本語化ファイルの解析内容とアンパック・解析データ PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析データ(2022年1月30日版)DS3_ENJP_parse.7z ファイル を公開します。

このセクションでの解説は同じ日本語化ファイルを使った DEAD SPACE 2 および 初代 DEAD SPACE にも共通する内容にもなっています。ただし、EAD SPACE 3 DLC の Awakened では lh2 ファイル(言語データ)のフォーマット情報が異なる点があることに注意してください。

解析ファイル内容については以下のリストにまとめました。解析データやデータ作成方法などは以降の各セクションで説明します。

DS3 アンパック・リパックキットセットアップ方法

Dead Space 関連日本語化(リパック版)アップローダ にアンパック・リパックキットがあるのでダウンロードしてセットアップをします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、DS3 アンパック・リパックキットセットアップ方法、Dead Space 関連日本語化(リパック版)アップローダからDS3 アンパック・リパックキットの ds3jp_repack_kit_ver.0.5.zip と ds3strings_v1_3_0.zip をダウンロードして展開・解凍

Dead Space 関連日本語化(リパック版)アップローダ から ds3jp_repack_kit_ver.0.5.zipds3strings_v1_3_0.zip をダウンロードして展開・解凍します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、DS3 アンパック・リパックキットセットアップ方法、Dead Space 関連日本語化(リパック版)アップローダからDS3 アンパック・リパックキットの ds3jp_repack_kit_ver.0.5.zip と ds3strings_v1_3_0.zip をダウンロードして展開・解凍、ds3strings_v1_3_0 フォルダにあるファイル・フォルダすべてコピー

次に展開・解凍した ds3strings_v1_3_0 フォルダにあるファイル・フォルダすべてコピーします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、DS3 アンパック・リパックキットセットアップ方法、Dead Space 関連日本語化(リパック版)アップローダからDS3 アンパック・リパックキットの ds3jp_repack_kit_ver.0.5.zip と ds3strings_v1_3_0.zip をダウンロードして展開・解凍、ds3strings_v1_3_0 フォルダにあるファイル・フォルダすべてコピー、ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダに ds3strings_v1_3_0 フォルダにあったファイル・フォルダを配置して設定完了

ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダに、ds3strings_v1_3_0 フォルダにあったファイル・フォルダを配置して設定完了です。

ツール内にあらかじめ用意されているバッチファイルを使うことでアンパック・リパック作業をほぼ自動化できますが、動作するためには上記のように必要なファイルを配置する必要があります。ただ、この後各セクションで説明するアンパック・リパックツールの exe ファイルを直接使う方法では、このセットアップ作業は必要ありません。

~.viv ファイルアンパック方法 1 - init_repack.bat 実行

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 1 - init_repack.bat 実行、ds3jp_repack_kit_ver.0.5 フォルダにある init_repack.bat ファイルに bigfile4.viv ファイルをドラッグ&ドロップ

DS3 アンパック・リパックキットセットアップ 後、ds3jp_repack_kit_ver.0.5 フォルダにある init_repack.bat ファイルに bigfile4.viv ファイルをドラッグ&ドロップしてアンパックします。

ちなみに ds3jp_repack_kit_ver.0.5 フォルダにある readme.txt には、■ 利用準備に「2) 日本語フォントファイル text_assets_global.str を jpn_src フォルダへコピーする。」とありますが、viv ファイルをアンパックする時点ではまだ使わないので、str ファイルを配置しなくても viv ファイルをアンパックできます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 1 - init_repack.bat 実行、ds3jp_repack_kit_ver.0.5 フォルダにある init_repack.bat ファイルに bigfile4.viv ファイルをドラッグ&ドロップ、コマンドプロンプト画面が表示されてアンパック処理開始~完了

init_repack.bat ファイルに bigfile4.viv ファイルをドラッグ&ドロップ後、コマンドプロンプト画面が表示されてアンパック処理開始~完了です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 1 - init_repack.bat 実行、ds3jp_repack_kit_ver.0.5 フォルダにある init_repack.bat ファイルに bigfile4.viv ファイルをドラッグ&ドロップ、コマンドプロンプト画面が表示されてアンパック処理完了後、unpack\bigfile フォルダに展開されたフォルダリスト
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 1 - init_repack.bat 実行、ds3jp_repack_kit_ver.0.5 フォルダにある init_repack.bat ファイルに bigfile4.viv ファイルをドラッグ&ドロップ、コマンドプロンプト画面が表示されてアンパック処理完了後、unpack\bigfile フォルダに展開された cbdf7f70.str と text_assets_global.str ファイル
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 1 - init_repack.bat 実行、ds3jp_repack_kit_ver.0.5 フォルダにある init_repack.bat ファイルに bigfile4.viv ファイルをドラッグ&ドロップ、コマンドプロンプト画面が表示されてアンパック処理完了後、ds3jp_repack_kit_ver.0.5\temp フォルダに cbdf7f70.str がアンパックされて展開された CBDF7F70_unpacked フォルダ

init_repack.bat バッチファイルによる viv ファイルアンパック処理完了後、ds3jp_repack_kit_ver.0.5 フォルダ内にある各フォルダに展開されたファイル・フォルダです。各画像のファイル・フォルダの内容は以下の通りです。

ds3jp_repack_kit_ver.0.5\unpack\bigfile フォルダにはアンパックした viv ファイルが展開されています。

backup フォルダには ds3jp_repack_kit_ver.0.5\unpack\bigfile フォルダから cbdf7f70.str(lh2 言語ファイル)と text_assets_global.str ファイル(フォント)がコピーされています。

ds3jp_repack_kit_ver.0.5\temp フォルダには cbdf7f70.str がアンパックされて CBDF7F70_unpacked フォルダが展開されています。

~.viv ファイルアンパック方法 2 - bigviewer.bat or Gibbed.Visceral.BigViewer.exe 実行

DS3 アンパック・リパックキットセットアップ なしで viv ファイルをアンパックする方法です。ここでは ds3jp_repack_kit_ver.0.5.zip に含まれる Gibbed's Visceral Big Viewer を使用します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 2 - bigviewer.bat or Gibbed.Visceral.BigViewer.exe 実行、ds3jp_repack_kit_ver.0.5 フォルダにある bigviewer.bat を実行するか、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.BigViewer.exe を実行
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 2 - bigviewer.bat or Gibbed.Visceral.BigViewer.exe 実行、ds3jp_repack_kit_ver.0.5 フォルダにある bigviewer.bat を実行するか、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.BigViewer.exe を実行

ds3jp_repack_kit_ver.0.5 フォルダにある bigviewer.bat を実行するか、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.BigViewer.exe を実行します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 2 - bigviewer.bat or Gibbed.Visceral.BigViewer.exe 実行、Gibbed's Visceral Big Viewer 画面で左上にあるドロップダウンリストで Dead Space 3 を選択後、Open ボタンをクリックしてアンパック対象の bigfile4.viv ファイルを開く

Gibbed's Visceral Big Viewer 画面で左上にあるドロップダウンリストで Dead Space 3 を選択します。Open ボタンをクリックしてアンパック対象の bigfile4.viv ファイルを開きます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 2 - bigviewer.bat or Gibbed.Visceral.BigViewer.exe 実行、Gibbed's Visceral Big Viewer 画面で左上にあるドロップダウンリストで Dead Space 3 を選択後、Open ボタンをクリックしてアンパック対象の bigfile4.viv ファイルを開く、ツリーリストに Unknown がない状態かつ Known 以下にアンパック後のフォルダが表示されていることを確認して Save All ボタンをクリックして任意の場所にアンパック

bigfile4.viv を開くと画像のようにツリーリストが表示されます。

bigfile4.viv ファイルの場合、ツリーリストに Unknown がない状態かつ Known 以下にアンパック後のフォルダが表示されていることを確認して、Save All ボタンをクリックして任意の場所にアンパックできます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 2 - bigviewer.bat or Gibbed.Visceral.BigViewer.exe 実行、Gibbed's Visceral Big Viewer 画面で左上にあるドロップダウンリストで Dead Space 3 を選択後、Open ボタンをクリックしてアンパック対象の bigfile4.viv ファイルを開く、テキスト・フォントファイルのみが抽出したい場合はツリーリストの text_assets を右クリックから Save を選択してアンパック

必要なファイルだけをアンパックしたい場合はツリーリストで任意のフォルダ・ファイルを選択、右クリックから Save を選択することで任意の場所にアンパックできます。

ただ、一部の(階層が深いところにある)ファイルをアンパックしようとするとツールが落ちることがあります。一応、上の画像のように上位階層にあるフォルダ・ファイルを選択して保存するようにすれば落ちないようです。

~.viv ファイルアンパック方法 3 - Gibbed.Visceral.BigUnpack.exe+bat 実行

DS3 アンパック・リパックキットセットアップ なしで viv ファイルをアンパックする方法です。ここでは ds3jp_repack_kit_ver.0.5.zip に含まれる Gibbed.Visceral.BigUnpack.exe と bat ファイルを使用します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 3 - Gibbed.Visceral.BigUnpack.exe+bat 実行、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにアンパック用 bat ファイルとアンパック対象の bigfile4.viv ファイルを配置して bat ファイル実行

ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに以下のアンパック用 bat ファイル(ファイル名は任意)の作成とアンパック対象の bigfile4.viv ファイルを配置して、bat ファイルを使って Gibbed.Visceral.BigUnpack.exe を実行します。Gibbed.Visceral.BigUnpack.exe はコマンドプロンプトを使わないとアンパック処理できません。ここでは bat ファイルを使います。

バッチスクリプトの引数には bigfile4.viv を指定しています。別の viv ファイルをアンパックしたい場合は、アンパック対象のファイル名にあわせて書き換えることで、ほかの viv ファイルもアンパックできます。

引数にアンパック先フォルダ(このバッチスクリプトでは bigfile を設定)を指定しないと、ルートドライブにアンパックされるため注意してください。

bigfile4.viv ファイルアンパック用 Gibbed.Visceral.BigUnpack.exe 実行バッチスクリプト(~.bat)
Gibbed.Visceral.BigUnpack.exe -p="Dead Space 3" bigfile4.viv bigfile
pause
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 3 - Gibbed.Visceral.BigUnpack.exe+bat 実行、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにアンパック用 bat ファイルとアンパック対象の bigfile4.viv ファイルを配置して bat ファイル実行、コマンドプロンプト画面が表示されてアンパック処理開始~完了

作成したバッチファイル実行後にコマンドプロンプト画面が表示されてアンパック処理開始~完了です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルアンパック方法 3 - Gibbed.Visceral.BigUnpack.exe+bat 実行、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにアンパック用 bat ファイルとアンパック対象の bigfile4.viv ファイルを配置して bat ファイル実行、コマンドプロンプト画面が表示されてアンパック処理完了後、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに bigfile フォルダが生成されてアンパックしたファイル・フォルダが展開

作成したバッチファイルによる viv ファイルアンパック処理完了後、ds3jp_repack_kit_ver.0.5 フォルダ内に生成された bigfile フォルダ(バッチスクリプトの引数で指定したもの)です。このフォルダにアンパックしたファイルが展開されています。

アンパックした bigfile4.viv ファイル比較(オリジナル版と日本語化ファイル(DS3JP1080.exe))

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした bigfile4.viv ファイル比較(オリジナル版と日本語化ファイル(DS3JP1080.exe))、比較結果は text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)と text_assets\text フォルダの ae36703c.str(オリジナルはロシア語テキスト)と cbdf7f70.str(オリジナルは英語テキスト)ファイル、英語テキストを日本語化しているのでロシア語テキストの日本語化はおそらく意味がないはず、日本語化作者のミスか何らかの意図があって導入したのかは不明

オリジナル版と日本語化ファイル(DS3JP1080.exe)を適用した bigfile4.viv ファイルをアンパック(アンパック方法 1アンパック方法 2アンパック方法 3)した後、WinMerge で比較した結果です。

text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)と text_assets\text フォルダの ae36703c.str(オリジナルはロシア語テキスト)と cbdf7f70.str(オリジナルは英語テキスト)ファイルに差分がある形となっています。

DEAD SPACE 3 では英語テキストの cbdf7f70.str ファイルを日本語化していますが、どういうわけかロシア語テキストの ae36703c.str ファイルにもまったく同じ日本語テキストが適用されています。(DEAD SPACE シリーズの日本語化は、英語版を日本語化してプレイできるようにしてある)

ロシア語テキストを日本語化しているのは日本語化作者の人が何らかの意図があって導入したものか、消し忘れのただのミスなのかは不明です。

bigfile4.viv ファイルリパック方法

init_repack.bat でアンパックした bigfile4.viv のファイル・フォルダ をリパックする方法です。

アンパックしたファイルを差し替えたあとには、viv ファイルへのリパック作業が必要になります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、bigfile4.viv ファイルリパック方法、ds3jp_repack_kit_ver.0.5\jpn_src フォルダに 0000_ds3_global.en.lh2(テキスト)ファイルと text_assets_global.str(ビットマップフォント)ファイルを配置

ds3jp_repack_kit_ver.0.5\jpn_src フォルダに 0000_ds3_global.en.lh2(テキスト)ファイルと text_assets_global.str(ビットマップフォント)ファイルを配置します。

注意点として ds3jp_repack_kit_ver.0.5 フォルダにある readme.txt には、■ リパック手順に「1) 作業所データを CSV としてダウンロードし、jpn_src のフォルダに ds3jp.csv として保存する。jpn_src フォルダに ds3jp.csv がないと pack_all.bat がダウンロードするので、2) から実行でも構いません。jpn_src に ds3jp.csv がある場合はそのまま利用します。」とありますが、作業所閉鎖により ds3jp.csv ファイルはダウンロードできません。

そのため、同 readme.txt の ■ リパック手順に記載されている「※) jpn_src に直接 0000_ds3_global.en.lh2 を配置すると ds3jp.csv -> 0000_ds3_global.en.lh2 の変換処理はスキップされます。」に従い、0000_ds3_global.en.lh2 ファイルを配置する形でリパックする手順となっています。

text_assets_global.str ファイルと 0000_ds3_global.en.lh2 ファイルは以下の方法でアンパックしたファイルから入手できます。

text_assets_global.str ファイルは bigfile4.viv ファイルをアンパック(アンパック方法 1アンパック方法 2アンパック方法 3)した text_assets フォルダにあります。

0000_ds3_global.en.lh2 ファイルは、bigfile4.viv ファイルをアンパック(アンパック方法 1アンパック方法 2アンパック方法 3)した text_assets\text フォルダにある、cbdf7f70.str ファイルをアンパック した LH2 フォルダにあります。

text_assets\text フォルダには cbdf7f70.str 以外の str ファイルがありますが、英語版及び日本語化ファイルでは cbdf7f70.str を使用しているので、ほかの str ファイルはアンパック不要です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、bigfile4.viv ファイルリパック方法、ds3jp_repack_kit_ver.0.5\jpn_src フォルダに 0000_ds3_global.en.lh2(テキスト)ファイルと text_assets_global.str(ビットマップフォント)ファイルを配置後、ds3jp_repack_kit_ver.0.5 フォルダにある pack_all.bat 実行

ds3jp_repack_kit_ver.0.5\jpn_src フォルダに 0000_ds3_global.en.lh2 ファイルと text_assets_global.str ファイルを配置後、ds3jp_repack_kit_ver.0.5 フォルダにある pack_all.bat ファイルを実行します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、bigfile4.viv ファイルリパック方法、ds3jp_repack_kit_ver.0.5\jpn_src フォルダに 0000_ds3_global.en.lh2(テキスト)ファイルと text_assets_global.str(ビットマップフォント)ファイルを配置後、ds3jp_repack_kit_ver.0.5 フォルダにある pack_all.bat 実行、リパックした bigfile4.viv ファイル

pack_all.bat ファイル実行後、同フォルダ内にリパックされた bigfile4.viv ファイルが生成されます。

pack_all.bat 実行時の注意点として、すでに ds3jp_repack_kit_ver.0.5 フォルダに bigfile4.viv ファイルがある状態だと bigfile4.viv.old にリネームしてバックアップしてから bigfile4.viv が生成されますが、なぜかリパック処理に時間がかかるようになります。(bigfile4.viv ファイルがない状態であればリパック処理は早く終わります)

~.viv ファイルリパック方法

上で紹介した bigfile4.viv ファイルリパック方法 ですが、bigfile4.viv ファイル以外にアンパックした viv ファイルは pack_all.bat ファイルでリパックできません。

bigfile4.viv 以外のアンパックした viv ファイルをリパックしたい場合は次のいずれかの方法でリパックします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルリパック方法、ds3jp_repack_kit_ver.0.5 フォルダにある bigpack.bat ファイルにアンパック対象のフォルダをドラッグ&ドロップ、コマンドプロンプト画面が表示されてリパック処理完了後、リパック対象フォルダと同じフォルダ内にリパックされた viv ファイルが生成

ds3jp_repack_kit_ver.0.5 フォルダにある bigpack.bat ファイルに、アンパック対象のフォルダをドラッグ&ドロップします。

コマンドプロンプト画面が表示されてリパック処理完了後、リパック対象フォルダと同じフォルダ内にリパックされた viv ファイルが生成されます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.viv ファイルリパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.BigPack.exe ファイルにアンパック対象のフォルダをドラッグ&ドロップ、コマンドプロンプト画面が表示されてリパック処理完了後、リパック対象フォルダと同じフォルダ内にリパックされた viv ファイルが生成

または ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.BigPack.exe ファイルに、アンパック対象のフォルダをドラッグ&ドロップします。(上記 bigpack.bat で実行したのがこの Gibbed.Visceral.BigPack.exe ファイル)

コマンドプロンプト画面が表示されてリパック処理完了後、リパック対象フォルダと同じフォルダ内にリパックされた viv ファイルが生成されます。

上記どちらかの方法でリパックした場合、viv ファイル名はドラッグ&ドロップした時のフォルダ名のままとなりますので、元の viv ファイル名と違う場合はリネーム(名前変更)で修正します。リパック後の viv ファイルのリネーム作業をしないようにするには、リパックする前にフォルダ名をあらかじめ変更しておくことになります。

cbdf7f70.str(lh2 言語ファイル内包)ファイルアンパック方法

オリジナル版や日本語化ファイル適用した bigfile4.viv ファイルをアンパック(アンパック方法 1アンパック方法 2アンパック方法 3)した後、lh2 言語ファイルを内包している cbdf7f70.str ファイルをアンパックする方法です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、cbdf7f70.str(lh2 言語ファイル内包)ファイルアンパック方法、リパックキットを使って bigfile4.viv ファイルをリパックした場合、ds3jp_repack_kit_ver.0.5\temp\CBDF7F70_unpacked\LH2 フォルダに 0000_ds3_global.en.lh2 ファイルが展開

DS3 アンパック・リパックキットでアンパック(init_repack.bat) した場合は、ds3jp_repack_kit_ver.0.5 フォルダにある temp\CBDF7F70_unpacked\LH2 フォルダに 0000_ds3_global.en.lh2 ファイルがすでに展開されているので、cbdf7f70.str ファイルのアンパック作業はしなくて済みます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、cbdf7f70.str(lh2 言語ファイル内包)ファイルアンパック方法、リパックキットを使って bigfile4.viv ファイルをリパックした場合、ds3jp_repack_kit_ver.0.5\backup フォルダに cbdf7f70.str ファイルが展開
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、cbdf7f70.str(lh2 言語ファイル内包)ファイルアンパック方法、リパックキットを使って bigfile4.viv ファイルをリパックした場合、ds3jp_repack_kit_ver.0.5\unpack\bigfile\text_assets\text フォルダに cbdf7f70.str ファイルが展開

DS3 アンパック・リパックキットでアンパック(init_repack.bat) した場合、ds3jp_repack_kit_ver.0.5 フォルダにある backup フォルダと unpack\bigfile\text_assets\text フォルダに cbdf7f70.str ファイルが展開されます。どちらも同じファイルです。

Gibbed's Visceral Big ViewerGibbed.Visceral.BigUnpack.exe でアンパックした場合はそれぞれ指定したフォルダにアンパックされるので、その場合は text_assets\text フォルダに cbdf7f70.str ファイルが格納されています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、cbdf7f70.str(lh2 言語ファイル内包)ファイルアンパック方法、str ファイルを ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイルに str ファイルをドラッグ&ドロップ
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、cbdf7f70.str(lh2 言語ファイル内包)ファイルアンパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルに str ファイルをドラッグ&ドロップ

ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイル、もしくは ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルに str ファイルをドラッグ&ドロップすることでアンパックできます。

~.str ファイルリパック方法

アンパックした ~.str のファイル・フォルダ をリパックする方法です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.str ファイルリパック方法、str ファイルを ds3jp_repack_kit_ver.0.5 フォルダにある strpack.bat ファイルにアンパックした str フォルダをドラッグ&ドロップ
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、~.str ファイルリパック方法、str ファイルを tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrPack.exe ファイルにアンパックした str フォルダをドラッグ&ドロップ

ds3jp_repack_kit_ver.0.5 フォルダにある strpack.bat ファイル、もしくは ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrPack.exe ファイルに、アンパックした ~.str ファイルのフォルダをドラッグ&ドロップすることでリパックできます。

0000_ds3_global.en.lh2 言語ファイルフォーマット解析

0000_ds3_global.en.lh2 ファイルのフォーマットを FavBinEdit のウォッチデータを使って解析しました。

すでに lh2 ←→ csv ファイル アンパックリパック ツールがあるので、フォーマットを理解しなくてもテキスト編集できるようになっていますが、参考サイトに lh2 フォーマットに情報が残っていたのでついでに整理してまとめてみました。

なお、初代 DEAD SPACE および DEAD SPACE 2 の lh2 ファイルでも同じフォーマットとなっています。DEAD SPACE 3 DLC の Awakened のみフォーマットが違うので注意してください。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、0000_ds3_global.en.lh2 言語ファイルフォーマット解析、FavBinEdit のウォッチデータを使った 0000_ds3_global.en.lh2 ファイルフォーマット情報

画像は日本語化ファイル DS3JP1080.exe で日本語化した 0000_ds3_global.en.lh2 ファイルの FavBinEdit ウォッチデータです。ちなみに解像度別日本語化パッチ DS3JP1440.exe と DS3JP2160.exe でも中身が同じ lh2 ファイルが使われています。

ここでは一部のバイナリデータがどのようにして各種データを格納しているのかの流れを見るため、サンプルとしてウォッチデータの一部に 1~4 の数字を割り当てています。

0000_ds3_global.en.lh2 ファイルでは先頭アドレスから 32バイト(アドレス 0x1F)までがヘッダーに相当する部分かと思われます。

ウォッチデータ 0000_ds3_global.en.lh2 File Size(Japanese) は lh2 ファイルサイズです。この場合は 627,580 バイトになります。(=lh2 バイナリデータを全選択したときのサイズ)

ウォッチデータ Number of Text Data はテキストデータ数です。csv ファイルにアンパックしたときの 1行が 1 としてカウントされています。この場合は 10,140 なので csv ファイルでは 10,140 行になります。

ウォッチデータ Text ID ~ウォッチデータ Remain Text ID(~) は各オフセット・テキストデータにセットで紐づけされていると思われる固有のバイナリデータ(おそらくインデックス相当)になります。そのため、言語関係なくこのバイナリデータは固定となっており、オフセットやテキストデータを変更してもこのバイナリデータの内容が変わることはありません。

Text ID は1つのオフセット・テキストデータに対して 4バイト割り当てられており、これにテキストデータ数 10,140 をかけることで Text ID の総バイト数が求められますし(4バイト x 10,140 = 40,560バイト)、テキストデータ数を計算することができます。(40,560バイト / 4バイト = 10,140 テキストデータ数)

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、0000_ds3_global.en.lh2 言語ファイルフォーマット解析、FavBinEdit のウォッチデータを使った 0000_ds3_global.en.lh2 ファイルフォーマット情報

ウォッチデータ Text ID ~ - Offset(Jump to address 0x~)ウォッチデータ Remain Text ID Offset(~) はテキストデータが格納されているバイナリデータの先頭アドレスを指しています。ウォッチデータ Text ID 1 - Offset(Jump to address 0x13D00) ではアドレス 0x13D00 から 1つ目のテキストデータが格納されていることになります。

Text ID と同様に 1つのオフセットデータに対して 4バイト割り当てられており、これにテキストデータ数 10,140 をかけることでオフセットの総バイト数が求められますし(4バイト x 10,140 = 40,560バイト)、テキストデータ数を計算することができます。(40,560バイト / 4バイト = 10,140 テキストデータ数)

つまり、Text ID とオフセット(Offset)のバイト数は必ず同じサイズということになります。ただし、テキストデータの長さによってオフセットのバイナリデータは可変する点が Text ID と異なります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、0000_ds3_global.en.lh2 言語ファイルフォーマット解析、FavBinEdit のウォッチデータを使った 0000_ds3_global.en.lh2 ファイルフォーマット情報

ウォッチデータ Text ID ~ - Text Data からテキストデータが始まり、データ終端(ウォッチデータ Remain Text Data)まで続きます。フッターに相当するデータはありません。

アドレス 0x13D00 からテキストデータ(文字コード UTF-8)が格納されていますが、ヘッダー・Text ID およびオフセット(Offset)のデータサイズは固定なので、言語問わずアドレス 0x13D00 から各言語のテキストデータが格納されていることになります。

次のテキストデータとの間には必ず 1バイトの 00 データを入れて区切っています。

0000_ds3_global.en.lh2 → csv ファイルアンパック方法

アンパックした ~.str のファイル に含まれる 0000_ds3_global.en.lh2 ファイルを、csv ファイルにアンパックする方法です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、0000_ds3_global.en.lh2 → csv ファイルアンパック方法、cbdf7f70.str アンパック後 LH2 フォルダにある 0000_ds3_global.en.lh2 を csv ファイルにアンパック

cbdf7f70.str アンパック 後 LH2 フォルダにある 0000_ds3_global.en.lh2 を csv ファイルにアンパックします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、0000_ds3_global.en.lh2 → csv ファイルアンパック方法、cbdf7f70.str アンパック後 LH2 フォルダにある 0000_ds3_global.en.lh2 を csv ファイルにアンパック、ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダにある lh2_unpack.bat ファイルに 0000_ds3_global.en.lh2 ファイルをドラッグアンドドロップ

ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダにある lh2_unpack.bat ファイルに、0000_ds3_global.en.lh2 ファイルをドラッグアンドドロップします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、0000_ds3_global.en.lh2 → csv ファイルアンパック方法、cbdf7f70.str アンパック後 LH2 フォルダにある 0000_ds3_global.en.lh2 を csv ファイルにアンパック、ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダにある lh2_unpack.bat ファイルに 0000_ds3_global.en.lh2 ファイルをドラッグアンドドロップ後、コマンドプロンプト画面が表示されて lh2 → csv ファイルにアンパック処理~完了

lh2_unpack.bat ファイルに 0000_ds3_global.en.lh2 ファイルをドラッグアンドドロップ後、コマンドプロンプト画面が表示されて lh2 → csv ファイルにアンパック処理~完了です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、0000_ds3_global.en.lh2 → csv ファイルアンパック方法、cbdf7f70.str アンパック後 LH2 フォルダにある 0000_ds3_global.en.lh2 を csv ファイルにアンパック、ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダにある lh2_unpack.bat ファイルに 0000_ds3_global.en.lh2 ファイルをドラッグアンドドロップ後、コマンドプロンプト画面が表示されて lh2 → csv ファイルにアンパック処理~完了、0000_ds3_global.en.csv ファイルへのアンパック完了

ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダに 0000_ds3_global.en.dat とセットに 0000_ds3_global.en.csv ファイルがアンパックされます。(同時に生成された 0000_ds3_global.en.dat ファイルは csv → lh2 ファイルへのリパック 時に必要)

csv ファイルのフォーマットはカンマ区切りの ID(4バイト)、Offset(4バイト)、Text(文字コード UTF-8) で、このうち Text を編集することで字幕などを変更することができます。

csv → 0000_ds3_global.en.lh2 ファイルリパック方法

アンパックした csv ファイル を 0000_ds3_global.en.lh2 ファイルにリパックする方法です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、csv → 0000_ds3_global.en.lh2 ファイルリパック方法、ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダにある lh2_pack.bat ファイルに 0000_ds3_global.en.csv ファイルをドラッグアンドドロップ

ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダにある lh2_pack.bat ファイルに、0000_ds3_global.en.csv ファイルをドラッグアンドドロップします。

この時に アンパック時に生成された 0000_ds3_global.en.dat ファイル がないとリパックできない点に注意してください。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、csv → 0000_ds3_global.en.lh2 ファイルリパック方法、ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダにある lh2_pack.bat ファイルに 0000_ds3_global.en.csv ファイルをドラッグアンドドロップ、コマンドプロンプト画面が表示されて csv → lh2 ファイルにリパック

lh2_pack.bat ファイルに 00000_ds3_global.en.csv ファイルをドラッグアンドドロップ後、コマンドプロンプト画面が表示されて csv → lh2 ファイルにリパック処理~完了です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、csv → 0000_ds3_global.en.lh2 ファイルリパック方法、ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダにある lh2_pack.bat ファイルに 0000_ds3_global.en.csv ファイルをドラッグアンドドロップ、コマンドプロンプト画面が表示されて csv → lh2 ファイルにリパック、0000_ds3_global.en.lh2 ファイルへのリパック完了

ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダ内にリパックされた 0000_ds3_global.en.lh2 ファイルが生成(すでに同名の lh2 ファイルがある場合は上書き更新)されます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、csv → 0000_ds3_global.en.lh2 ファイルリパック方法、ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダにある lh2_pack.bat ファイルに一部の字幕を編集した 0000_ds3_global.en.csv ファイルをドラッグアンドドロップ、コマンドプロンプト画面が表示されて csv → lh2 ファイルにリパック、0000_ds3_global.en.lh2 ファイルへのリパック完了、bigfile4.viv ファイルにリパック後の字幕編集した場面のスクリーンショット、フォントファイルにない文字を使用した場合は豆腐文字(□)表示
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、csv → 0000_ds3_global.en.lh2 ファイルリパック方法、ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダにある lh2_pack.bat ファイルに一部の字幕を編集した 0000_ds3_global.en.csv ファイルをドラッグアンドドロップ、コマンドプロンプト画面が表示されて csv → lh2 ファイルにリパック、0000_ds3_global.en.lh2 ファイルへのリパック完了、bigfile4.viv ファイルにリパック後の字幕編集した場面のスクリーンショット、フォントファイルにない文字を使用した場合は豆腐文字(□)表示

上の画像は csv ファイルに適当な字幕内容に編集後、リパックした 0000_ds3_global.en.lh2 を DS3 アンパック・リパックキットで bigfile4.viv ファイルにリパック、ゲームインストール先にある bigfile4.viv ファイルと差し替えた後のゲーム内で字幕編集個所を表示させたスクリーンショットです。

字幕の編集・表示すること自体うまくいっていますが、一部の漢字が表示されずに □(豆腐)のままとなっています。これはフォントファイルに該当する漢字が登録されていないためです。(登録文字数は約 2,000 程度)

ちなみに DS3 アンパック・リパックキット を使わないでリパックしたい場合は、以下の手順でリパックすることになります。

アンパックした cbdf7f70.str ファイル の LH2 フォルダに 0000_ds3_global.en.lh2 ファイルが含まれているので、字幕編集してリパックした 0000_ds3_global.en.lh2 に差し替えて、strpack.bat か Gibbed.Visceral.StrPack.exe で cbdf7f70.str ファイルにリパックします。

いずれかの方法でアンパック(アンパック方法 1アンパック方法 2アンパック方法 3)した bigfile4.viv ファイルの text_assets\text フォルダに cbdf7f70.str ファイルが含まれているので、リパックした cbdf7f70.str に差し替えて bigpack.bat か Gibbed.Visceral.BigPack.exe で bigfile4.viv ファイルにリパックします。

text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法

オリジナル版や日本語化ファイル適用した bigfile4.viv ファイルをアンパック(アンパック方法 1アンパック方法 2アンパック方法 3)した後、ビットマップフォントファイルを内包している text_assets_global.str ファイルをアンパックする方法です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法、リパックキットを使って bigfile4.viv ファイルをリパックした場合、ds3jp_repack_kit_ver.0.5\backup フォルダに text_assets_global.str ファイルが展開
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法、リパックキットを使って bigfile4.viv ファイルをリパックした場合、unpack\bigfile\text_assets フォルダに text_assets_global.str ファイルが展開

DS3 アンパック・リパックキットでアンパック(init_repack.bat) した場合、ds3jp_repack_kit_ver.0.5 フォルダにある backup フォルダと unpack\bigfile\text_assets フォルダに text_assets_global.str ファイルが展開されています。どちらも同じファイルです。

Gibbed's Visceral Big ViewerGibbed.Visceral.BigUnpack.exe でアンパックした場合はそれぞれ指定したフォルダにアンパックされるので、その場合は text_assets フォルダに text_assets_global.str ファイルが格納されています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法、アンパックした解像度別日本語化ファイル bigfile4.viv 比較(DS3JP1080.exe と DS3JP1440.exe)、比較結果は text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)、text_assets\text フォルダの str(テキスト)ファイルには差分がなかったことから同じ日本語テキストファイルを使用

ちなみにこちらは日本語化ファイル DS3JP1080.exe と DS3JP1440.exe を適用した bigfile4.viv ファイルをアンパックして WinMerge で比較した結果です。

text_assets フォルダの text_assets_global.str ファイルのみ差分がある比較結果となっています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法、アンパックした解像度別日本語化ファイル bigfile4.viv 比較(DS3JP1080.exe と DS3JP2160.exe)、比較結果は text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)、text_assets\text フォルダの str(テキスト)ファイルには差分がなかったことから同じ日本語テキストファイルを使用

こちらは日本語化ファイル DS3JP1080.exe と DS3JP2160.exe を適用した bigfile4.viv ファイルをアンパックして WinMerge で比較した結果です。

先ほどと同様に text_assets フォルダの text_assets_global.str ファイルのみ差分がある比較結果となっています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法、アンパックした解像度別日本語化ファイル bigfile4.viv 比較(DS3JP1440.exe と DS3JP2160.exe)、比較結果は text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)、text_assets\text フォルダの str(テキスト)ファイルには差分がなかったことから同じ日本語テキストファイルを使用

こちらは日本語化ファイル DS3JP1440.exe と DS3JP2160.exe を適用した bigfile4.viv ファイルをアンパックして WinMerge で比較した結果です。

同様に text_assets フォルダの text_assets_global.str ファイルのみ差分がある比較結果となっています。

以上のことから、日本語化ファイル DS3JP1080.exe、DS3JP1440.exe、DS3JP2160.exe を適用してアンパックした bigfile4.viv ファイルの差分は、ビットマップフォントの text_assets_global.str ファイルのみということがわかります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法、str ファイルを ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイルに str ファイルをドラッグ&ドロップ
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルに str ファイルをドラッグ&ドロップ

ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイル、もしくは ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルに text_assets_global.str ファイルをドラッグ&ドロップすることでアンパックできます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法、ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイルまたは tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルに text_assets_global.str ファイルをドラッグアンドドロップ後、アンパックして展開された text_assets_global_unpacked フォルダの中身

ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイル、もしくは ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルにアンパックして展開された text_assets_global_unpacked フォルダの中身です。

アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)

ここではオリジナル版および解像度別日本語化ファイルの アンパックした text_assets_global.str ファイルWinMerge で比較した結果を確認します。この比較方法ではどのファイルに日本語フォントが含まれているのかわかるようになります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)WinMerge 比較結果、アンパックした解像度別日本語化ファイル text_assets_global.str 比較(オリジナル版と DS3JP1080.exe)、比較結果は FFN・tg4d・tg4h 各フォルダにある eurostileltstdbold32・russellsquare32・serpentinebold32・vervestd32b のファイル名があるファイルで差分あり

オリジナル版と日本語化ファイル DS3JP1080.exe の アンパックした text_assets_global.str ファイルWinMerge で比較した結果です。

FFN・tg4d・tg4h 各フォルダにある eurostileltstdbold32・russellsquare32・serpentinebold32・vervestd32b のファイル名があるファイルが、オリジナル版にあるファイルと異なる結果となっています。

FFN・tg4d・tg4h 各フォルダには元々 7つのファイルが含まれていますが、うち 4つのファイルに日本語フォントが組み込まれていることになります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)WinMerge 比較結果、アンパックした解像度別日本語化ファイル text_assets_global.str 比較(DS3JP1080.exe と DS3JP1440.exe)、比較結果は FFN・tg4d・tg4h 各フォルダにある eurostileltstdbold32 と russellsquare32 のファイル名があるファイルで差分あり
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)WinMerge 比較結果、アンパックした bigfile4.viv 解像度別日本語化ファイル比較(DS3JP1080.exe と DS3JP2160.exe)、比較結果は FFN・tg4d・tg4h 各フォルダにある eurostileltstdbold32 と russellsquare32 のファイル名があるファイルで差分あり
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)WinMerge 比較結果、アンパックした bigfile4.viv 解像度別日本語化ファイル比較(DS3JP1440.exe と DS3JP2160.exe)、比較結果は FFN・tg4d・tg4h 各フォルダにある eurostileltstdbold32 と russellsquare32 のファイル名があるファイルで差分あり

こちらの画像は上から、日本語化ファイル DS3JP1080.exe と DS3JP1440.exe、日本語化ファイル DS3JP1080.exe と DS3JP2160.exe、日本語化ファイル DS3JP1440.exe と DS3JP2160.exe の アンパックした text_assets_global.str ファイル の比較結果です。

いずれも FFN・tg4d・tg4h 各フォルダにある eurostileltstdbold32 と russellsquare32 のファイル名があるファイルがそれぞれ異なる結果となっています。

つまり、オリジナル版と DS3JP1080.exe との比較結果から serpentinebold32 と vervestd32b のファイル名があるファイルは、解像度別日本語化ファイルではすべて同じファイルを使用していることになります。

Noesis ツールを使ったビットマップフォント(tg4h と tg4g ファイル)エクスポート方法

Noesis というモデル・テクスチャビューワツールに、DEAD SPACE シリーズテクスチャファイル(tg4h / tg4d)閲覧 Python スクリプト(~.py) を導入することで、ビットマップフォントを画像ファイルとしてエクスポートすることができます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、Noesis ツールを使ったビットマップフォント(tg4h と tg4g ファイル)エクスポート方法、Noesis をダウンロードして展開・解凍、XeNTaX からダウンロードした tex_DeadSpace123_PC_PS3_X360_tg4h.py ファイルを plugins\python フォルダに配置

Noesis をダウンロードして展開・解凍したら、plugins\python フォルダに tex_DeadSpace123_PC_PS3_X360_tg4h.py をダウンロードして配置します。

tex_DeadSpace123_PC_PS3_X360_tg4h.py ファイルは XeNTaX にユーザー登録してログインしてないとダウンロードできません。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、Noesis ツールを使ったビットマップフォント(tg4h と tg4g ファイル)エクスポート方法、Noesis をダウンロードして展開・解凍、XeNTaX からダウンロードした tex_DeadSpace123_PC_PS3_X360_tg4h.py ファイルを plugins\python フォルダに配置後、Noesis.exe か Noesis64.exe を実行して起動

ダウンロードした tex_DeadSpace123_PC_PS3_X360_tg4h.py ファイルを plugins\python フォルダに配置後、Noesis.exe か Noesis64.exe を実行して起動します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、Noesis ツールを使ったビットマップフォント(tg4h と tg4g ファイル)エクスポート方法、Noesis をダウンロードして展開・解凍、XeNTaX からダウンロードした tex_DeadSpace123_PC_PS3_X360_tg4h.py ファイルを plugins\python フォルダに配置後、Noesis.exe か Noesis64.exe を実行して起動、Noesis が起動したらアンパックした text_assets_global.str の tg4h フォルダに移動、画像中央下にあるドロップダウンリストで Dead Space 1/2/3 [PC/PS3/X360] (*.tg4h)が選択されている状態で tg4h ファイルをダブルクリックすると、画面右側にフォントテクスチャのプレビュー画像が表示

Noesis が起動したらアンパックした text_assets_global.str の tg4h フォルダに移動します。

画像中央下にあるドロップダウンリストで Dead Space 1/2/3 [PC/PS3/X360] (*.tg4h) が選択されている状態で tg4h ファイルをダブルクリックすると、画面右側にフォントテクスチャのプレビュー画像が表示されます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、Noesis ツールを使ったビットマップフォント(tg4h と tg4g ファイル)エクスポート方法、Noesis をダウンロードして展開・解凍、XeNTaX からダウンロードした tex_DeadSpace123_PC_PS3_X360_tg4h.py ファイルを plugins\python フォルダに配置後、Noesis.exe か Noesis64.exe を実行して起動、Noesis が起動したらアンパックした text_assets_global.str の tg4h フォルダに移動、画像中央下にあるドロップダウンリストで Dead Space 1/2/3 [PC/PS3/X360] (*.tg4h)が選択されている状態で tg4h ファイルをダブルクリックすると、画面右側にフォントテクスチャのプレビュー画像が表示、フォントテクスチャをエクスポートしたい場合は tg4h ファイルを右クリック → Export を選択、Main output type でエクスポートしたいファイル形式が選択可能、Export ボタンをクリックすると指定した場所にエクスポート(デフォルトは tg4h ファイルと同じフォルダ内にエクスポート)
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、Noesis ツールを使ったビットマップフォント(tg4h と tg4g ファイル)エクスポート方法、Noesis をダウンロードして展開・解凍、XeNTaX からダウンロードした tex_DeadSpace123_PC_PS3_X360_tg4h.py ファイルを plugins\python フォルダに配置後、Noesis.exe か Noesis64.exe を実行して起動、Noesis が起動したらアンパックした text_assets_global.str の tg4h フォルダに移動、画像中央下にあるドロップダウンリストで Dead Space 1/2/3 [PC/PS3/X360] (*.tg4h)が選択されている状態で tg4h ファイルをダブルクリックすると、画面右側にフォントテクスチャのプレビュー画像が表示、フォントテクスチャをエクスポートしたい場合は tg4h ファイルを右クリック → Export を選択、Main output type でエクスポートしたいファイル形式が選択可能、Export ボタンをクリックすると指定した場所にエクスポート(デフォルトは tg4h ファイルと同じフォルダ内にエクスポート)

フォントテクスチャをエクスポートするには tg4h ファイルを右クリック → Export を選択してエクスポート画面を開きます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、Noesis ツールを使ったビットマップフォント(tg4h と tg4g ファイル)エクスポート方法、Noesis をダウンロードして展開・解凍、XeNTaX からダウンロードした tex_DeadSpace123_PC_PS3_X360_tg4h.py ファイルを plugins\python フォルダに配置後、Noesis.exe か Noesis64.exe を実行して起動、Noesis が起動したらアンパックした text_assets_global.str の tg4h フォルダに移動、画像中央下にあるドロップダウンリストで Dead Space 1/2/3 [PC/PS3/X360] (*.tg4h)が選択されている状態で tg4h ファイルをダブルクリックすると、画面右側にフォントテクスチャのプレビュー画像が表示、フォントテクスチャをエクスポートしたい場合は tg4h ファイルを右クリック → Export を選択、Main output type でエクスポートしたいファイル形式が選択可能、Export ボタンをクリックすると指定した場所にエクスポート(デフォルトは tg4h ファイルと同じフォルダ内にエクスポート)

Main output type でエクスポートしたいファイル形式が選択可能です。Export ボタンをクリックすると指定した場所にエクスポートします。(デフォルトは tg4h ファイルと同じフォルダ内にエクスポート)

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、Noesis ツールを使ったビットマップフォント(tg4h と tg4g ファイル)エクスポート方法、0006_russellsquare32out.dds ファイルフォーマット FavBinEdit ウォッチデータ、アドレス 0x0C ~ 0x0F 4バイトがテクスチャ画像の横幅、0x10 ~ 0x03 4バイトがテクスチャ画像の高さ、アドレス 0x80 以降はすべて tg4d ファイルのバイナリデータ

上の画像は Noesistex_DeadSpace123_PC_PS3_X360_tg4h.py を使ってエクスポートしたフォントテクスチャ 0006_russellsquare32out.dds ファイルを、FavBinEdit のウォッチデータで解析した内容です。

アドレス先頭から 128バイト(0x00x7F)は DDS ヘッダーです。

ほかの dds フォントテクスチャをエクスポートして比較してみましたが、アドレス 0x0C0x0F の 4バイトがテクスチャ画像の横幅、0x100x03 の 4バイトがテクスチャ画像の高さとなっています。それ以外のヘッダーはどの dds フォントテクスチャでも共通のバイナリデータとなっています。(参考情報 1参考情報 2

アドレス 0x80 以降はすべて tg4d ファイルのバイナリデータです。

これらの内容からテクスチャ画像の縦横サイズ(調べ方)に修正した DDS ヘッダーを用意して、tg4d ファイルのバイナリデータを追加することで dds ファイルを作成することができます。

tg4h(テクスチャヘッダー)ファイル解析

アンパックした text_assets_global.str ファイル に含まれる tg4h(テクスチャヘッダー)ファイルの解析情報です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、tg4h(テクスチャヘッダー)ファイル解析、アンパックした text_assets_global.str ファイルに含まれる 0002_eurostileltstdbold32.tg4h ファイル比較(オリジナル版と DS3JP1080.exe)WinMerge 比較結果、比較結果は 0003_eurostileltstdbold32.tg4d ファイルサイズ 2か所と DDS テクスチャ Width・Height サイズ
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、tg4h(テクスチャヘッダー)ファイル解析、アンパックした text_assets_global.str ファイルに含まれる 0006_russellsquare32.tg4h ファイル比較(オリジナル版と DS3JP1080.exe)WinMerge 比較結果、比較結果は 0007_russellsquare32.tg4d ファイルサイズ 2か所と DDS テクスチャ Width・Height サイズの全 4か所
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、tg4h(テクスチャヘッダー)ファイル解析、アンパックした text_assets_global.str ファイルに含まれる 0008_serpentinebold32.tg4h ファイル比較(オリジナル版と DS3JP1080.exe)WinMerge 比較結果、比較結果は 0009_serpentinebold32.tg4d ファイルサイズ 2か所と DDS テクスチャ Width・Height サイズの全 4か所
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、tg4h(テクスチャヘッダー)ファイル解析、アンパックした text_assets_global.str ファイルに含まれる 0010_vervestd32b.tg4h ファイル比較(オリジナル版と DS3JP1080.exe)、比較結果は 0011_vervestd32b.tg4d ファイルサイズ 2か所と DDS テクスチャ Width・Height サイズの全 4か所、オリジナル版アドレス 0x26 のバイナリデータが 0a(ほかの)

上記 4つの画像はそれぞれ、オリジナル版と日本語化ファイル DS3JP1080.exe のアンパックした text_assets_global.str ファイルに含まれる、0002_eurostileltstdbold32.tg4h・0006_russellsquare32.tg4h・0008_serpentinebold32.tg4h・0010_vervestd32b.tg4h ファイルを WinMerge で比較した結果です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、tg4h(テクスチャヘッダー)ファイル解析、アンパックした text_assets_global.str 日本語化ファイル(DS3JP1080.exe)に含まれる 0006_russellsquare32.tg4h ファイルの FavBinEdit ウォッチデータ、0007_russellsquare32.tg4d ファイルサイズ 2か所(4バイトx2か所)と DDS テクスチャ Width(画像横幅)(2バイト)・Height(画像高さ)(2バイト) サイズの全 4か所がオリジナル版との相違箇所

こちらの画像は 0006_russellsquare32.tg4h ファイルを FavBinEdit のウォッチデータで解析したものです。ウォッチデータに * を入れているのはオリジナル版と相違があるバイナリデータです。それ以外は一部を除き(後述)同じです。

4つあるウォッチデータのうち、最初と最後のウォッチデータがファイル名が一部の同じ 0007_russellsquare32.tg4d テクスチャファイルサイズのバイナリデータ(4バイト)、2番目と3番目のウォッチデータが同 DDS テクスチャの Width(画像横幅)(2バイト)・Height(画像高さ)(2バイト)となっています。

これらのことから、オリジナル版 tg4h ファイルでも 4か所のバイナリデータを日本語フォント用に正しく修正するだけで、日本語化ファイル用 tg4h ヘッダーファイルを作成できることになります。

ただ、各 tg4h ファイルのアドレス 0x26 のバイナリデータが 03 となっていますが、オリジナル版 0010_vervestd32b.tg4h ファイルのアドレス 0x26 のバイナリデータが 0a となっている理由はわかりませんでした。

既存の各 tg4h ファイルから対応する tg4d フォントテクスチャファイルの横幅・高さが判明するので、DDS ヘッダーファイルバイナリデータを作成・修正 したい場合はこの方法で調べられることになります。

オリジナル版と日本語化 inf(グリフデータ)ファイル比較

アンパックした text_assets_global.str ファイル に含まれる inf(グリフデータ)ファイルの一部比較内容です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、オリジナル版と日本語化 inf(グリフデータ)ファイル比較、アンパックした text_assets_global.str ファイルに含まれる 0802_eurostileltstdbold32.inf ファイル比較(オリジナル版と DS3JP1080.exe)WinMerge 比較結果
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、オリジナル版と日本語化 inf(グリフデータ)ファイル比較、アンパックした text_assets_global.str ファイルに含まれる 0804_russellsquare32.inf ファイル比較(オリジナル版と DS3JP1080.exe)WinMerge 比較結果
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、オリジナル版と日本語化 inf(グリフデータ)ファイル比較、アンパックした text_assets_global.str ファイルに含まれる 0805_serpentinebold32.inf ファイル比較(オリジナル版と DS3JP1080.exe)WinMerge 比較結果
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、オリジナル版と日本語化 inf(グリフデータ)ファイル比較、アンパックした text_assets_global.str ファイルに含まれる 0806_vervestd32b.inf ファイル比較(オリジナル版と DS3JP1080.exe)WinMerge 比較結果

上記 4つの画像はそれぞれ、オリジナル版と日本語化ファイル DS3JP1080.exe のアンパックした text_assets_global.str ファイルに含まれる 0802_eurostileltstdbold32.inf・0804_russellsquare32.inf・0805_serpentinebold32.inf・0806_vervestd32b.inf を WinMerge で比較した結果です。

inf ファイルの詳細な解析内容については 次のセクション で解説しますが、アドレス 0x440x443 にヘッダーと思われる謎のバイナリデータがあり、今回の調査ではよくわからなかった内容です。日本語化ファイルに使われているこのバイナリデータは、おそらく 3DM 版中文化ファイルの inf ファイルを流用したものではないかと思われます。

参考サイトの こちらこちら に、アドレス 0x440x443 のバイナリデータについて推測されている書き込みがありますが、このアドレス範囲内にあるバイナリデータの意味はよくわかりませんでした。

ただ、inf ファイルではデータ後半部分に連続した 00 データを埋める箇所があります。色々調べたところアドレス 0x440x443 のバイナリデータをもとに 00 データを埋めるバイト数が決まっているようなので、その計算方法については 次のセクション で説明します。

ここでは日本語化ファイル inf ファイルのアドレス 0x440x443 にあるバイナリデータについてわかった範囲内で内容を整理します。

アドレス 0x440x443 のバイナリデータサイズは 1,024 バイトです。

4バイトを一つの塊としてみて、先頭 2バイトは 00 040x400 = 1,024)で固定、残り 2バイトは 00 00 から 4バイト単位で増加、日本語化ファイルでは最後に fc 030x3fc=1,020)で終わっています。これは中文化ファイルでも同様となっているようです。オリジナル版では途中で 00 00 00 00 データが含まれているのがほとんどなので、fc 03 までカウントされません。

これが全部で 256個あり、4バイト×256個=1,024バイトとなっています。

inf(グリフデータ)ファイル解析

アンパックした text_assets_global.str ファイル に含まれる inf(グリフデータ)ファイルの解析情報です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイル解析、0804_russellsquare32.inf 日本語化ファイル(DS3JP1080.exe)FavBinEdit ウォッチデータ

画像は日本語化ファイル DS3JP1080.exe で日本語化した 0804_russellsquare32.inf ファイルの FavBinEdit ウォッチデータです。ウォッチデータに * を入れているのはオリジナル版と相違があるバイナリデータです。

inf ファイルは不明な点が多く、一部のウォッチデータについては解析できていません。また、ウォッチデータで各バイナリデータに区切りを入れて値を特定していますが、この区切り方は正確ではない可能性があります。

フォントの作成方法が不明なうえ、inf ファイルの解析が完全にできていない理由により、フォント作成の試みを断念しています。

ウォッチデータ * 0804_russellsquare32.inf File Size(Japanese 1080p)は inf ファイルサイズです。この場合は 309,304 バイトになります。

ウォッチデータ * Character Count はフォントの文字数です。

ウォッチデータ * Line Height ?過去ログの情報によると行高 となるようです。値の求め方は「Y 軸オフセット+文字高が最大となる文字の値」とありますが、これが具体的にどのデータのことを指しているのかわかりません。

後述する ウォッチデータ * heightウォッチデータ * yoffset のそれぞれの座標データ最大値(集計方法)を足したものかと思ったのですが、0804_russellsquare32.inf では値は一致しますが(height max 60 + yoffset max 16=76)、それ以外のいくつかの inf ファイルでは値が完全に一致しませんでした。

前後 2か所ある ウォッチデータ * ? についてはわかりませんでした。

ウォッチデータ * Jump to address 0xB7DC は連続した 00 データ(ウォッチデータ * 00 Data(261492bytes))の開始アドレス 0xB7DC のことかと思われます。

ウォッチデータ * Unknown Header はアドレス 0x440x443 まで続く謎データ集合体の一つです。データの法則性については こちら で説明。後述の ウォッチデータ * 00 Data(261492bytes) の求め方に関係している可能性があります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイル解析、0804_russellsquare32.inf 日本語化ファイル(DS3JP1080.exe)FavBinEdit ウォッチデータ

ウォッチデータ 248(0xF8) x 3 = 744(Unknown Footer 744bytes) は 248(0xF8)に 3 をかけた値が、データ終端にある ウォッチデータ Unknown Footer 744bytes のバイト数(744バイト)と一致します。つまり、ウォッチデータ Unknown Footer 744bytes のバイト数(744バイト)を 3 で割ることでも、このウォッチデータのアドレスにある値 248(0xF8)を求められることになります。

オリジナル版の 0804_russellsquare32.inf でもこの値(248(0xF8))が使われているので、日本語化フォントを導入しても変化がない固有のデータとなっています。

ウォッチデータ * Jump to Unknown Footer address(0x4B550)ウォッチデータ * Unknown Footer 744bytes)の開始アドレス 0x4B550 のことかと思われます。

ウォッチデータ ? 00 00 00 00 は次の文字座標データの前にある 4バイトの区切りデータとみていますが、内容としてあっているのかどうかわかりません。ただ、ほかの inf ファイルの同じアドレスでも、必ず 4バイトの 00 00 00 00 となっている点では共通しています。

ウォッチデータ * Unicodeウォッチデータ * y(end point)(= y(start point) + height) x 16(0x10)(すべて 2バイト単位)までが 1文字当たりの座標データのフォーマットです。こちら で解析された内容をもとにウォッチデータを作成しています。

ウォッチデータ * xoffsetウォッチデータ * yoffsetウォッチデータ * xadvance の 3か所についてはマイナス数値がある 16進数座標データとなっているので、符号付き整数(Signed Integer)で値を変換する必要があります。

2か所ある ウォッチデータ 00 00 は 1文字当たりの文字座標データとセットで存在する謎の 00 データです。オリジナル版では 00 以外の数値が含まれていることがありますが、こちら では特に言及していないため、この値の意味については不明です。

ウォッチデータ * Remain Glyph Data は残りの文字座標データです。座標データの終端アドレスは ウォッチデータ * Jump to address 0xB7DC で示したアドレスのひとつ前(0xB7DB)としています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイル解析、0804_russellsquare32.inf 日本語化ファイル(DS3JP1080.exe)FavBinEdit ウォッチデータ

ウォッチデータ * 00 Data(261492bytes) には大量の連続した 00 データで占めています。オリジナル版と日本語化ファイルではサイズが異なり、日本語化ファイルの 0804_russellsquare32.inf では 261,492バイトの 00 データがあります。

こちら に必要な 00 データの計算方法と思われる書き込みが残っていますが、具体的にどの数値でどのように計算しているのかがわからず、うまく内容を読み取ることはできませんでした。

ただ、いずれの inf ファイルでも共通しているのは ウォッチデータ * Jump to Unknown Footer address(0x4B550) のバイナリデータを ウォッチデータ * Jump to address 0xB7DC のバイナリデータで引いた数値と一致するようになっています。(この inf ファイルの場合は 0x4B550 - 0xB7DC = 0x3FD74(261,492)

以下、オリジナル版と初代 DEAD SPACE 中文化ファイルの inf ファイルを調べていた時に、法則性のようなものを見つけたのでその内容について解説します。興味があればクリックしてご覧ください。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイル解析、オリジナル版 0804_russellsquare32.inf ファイル FavBinEdit ウォッチデータ、オリジナル版 0802_eurostileltstdbold32.inf ファイル 00 データサイズ 10,244バイト(0x4BF0 - 0x23EC = 0x2804(10,244))、アドレス 0x44 ~ 0x443 にある 00 04 00 00 からスタートしたデータ個数は 10((0x24(36) / 4バイト)+1(00 04 00 00 も 1 としてカウント)=10)、データ個数 10 に 1,024(=0x400)をかけると 10,240 となり、これに 4 を加えた数字が 10,244 となって 00 データサイズ 10,244バイトと一致

オリジナル版 0802_eurostileltstdbold32.inf ファイルの 00 データサイズは 10,244バイトです。

00 データサイズ 10,244バイトについて、inf ファイル共通で次の方法で一応計算できます。

アドレス 0x44C0x44F にある Footer Data の開始位置を指すアドレスのバイナリデータ(この inf ファイルでは 0x4BF0)を、アドレス 0x44C0x44F にある 00 データ開始位置アドレスを指していると思われるバイナリデータ(この inf ファイルでは 0x23EC)で差し引くことで、この数値を導き出しています。(オリジナル版 0802_eurostileltstdbold32.inf ファイルでは 0x4BF0 - 0x23EC = 0x2804(10,244)

アドレス 0x440x443 にあるデータは 4バイト単位で区切ると、00 04 00 00 からスタートして 00 04 04 0000 04 08 00 と 2バイト目から 4単位で増加していきますが、00 00 00 00 データが埋められている区間がほとんどとなっています。

この 00 00 00 00 以外の 4バイトデータの中で最大値と思われるのが 00 04 24 00、データ個数をカウントすると 10個となります。((0x24(36) / 4バイト)+1(00 04 00 00 も 1 としてカウント)=10)

データ個数 10 に 1,024(=0x400)をかけると 10,240 となり、これに 4 を加えた数字が 10,244 となって 00 データサイズ 10,244バイトと一致するようになります。

初代 DEAD SPACE 中文化ファイル 0108_eurostileltstdbold32.inf ファイルについては 00 データサイズは 262,148バイトです。

アドレス 0x440x443 にあるデータは 00 04 00 00 からスタート、00 04 04 0000 04 08 00 とこちらも 2バイト目から 4単位で増加していきますが、オリジナル版にあった 00 00 00 00 データは一切なく、最後は 00 04 FC 03 で終わっています。

この 4バイトデータの中で最大値は最後の 00 04 FC 03 で、データ個数をカウントすると 256個となります。((0x3FC(1,020) / 4バイト)+1(00 04 00 00 も 1 としてカウント)=256)

データ個数 256 に 1,024(=0x400)をかけると ‭262,144‬ となり、これに 4 を加えた数字が ‭262,148 となって 00 データサイズ 262,148バイトと一致します。

以上のように、オリジナル版と初代 DEAD SPACE 中文化ファイルの inf では アドレス 0x440x443 の 4バイト単位であるデータ個数に 1,024(=0x400)をかけたあとに 4 を足すことで、座標データの後に必要な連続した 00 データサイズを求めることができます。

ただ、日本語化された inf ファイルではこの計算方法では完全に一致しないうえに、inf ファイルによっては 00 データサイズにバラつきがあります。過去ログでは ファイルサイズが大きくなるように 00 データを埋めたら落ちなくなった とあるので試行錯誤で増やして調整していたのかもしれません。

ちなみに 00 データサイズ(上の例でいう 10,244バイトや 262,148バイトなど)は必ず 4 で割り切れるようになっているようです。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイル解析、0804_russellsquare32.inf 日本語化ファイル(DS3JP1080.exe)FavBinEdit ウォッチデータ

ウォッチデータ Unknown Footer 744bytes はデータサイズ 744 を 3 で割った値が、データ終端にある ウォッチデータ 248(0xF8) x 3 = 744(Unknown Footer 744bytes) のバイト数(248(0xF8))と一致します。

オリジナル版の 0804_russellsquare32.inf でもこの 744バイトのデータがそのまま使われているので、日本語化フォントを導入しても変化がない固有のデータとなっています。

inf(グリフデータ)ファイルの Excel インポート・変換方法

アンパックした text_assets_global.str ファイル に含まれる inf(グリフデータ)ファイル の座標データ(バイナリデータ)を抽出して、テキスト化 → 正規表現で置換・データ整形 → Excel でインポートして16進数の座標データを 10進数に変換する方法を解説します。

ここでは日本語化ファイル DS3JP1080.exe の 0802_eurostileltstdbold32.inf ファイルを例に説明します。なお、成果物ファイルは PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析データ(2022年1月30日版)DS3_ENJP_parse.7z ファイルの GlyphData フォルダに txt ファイルと xlsx ファイルを格納しています。

バイナリエディタ FavBinEditinf(グリフデータ)ファイル を開き、座標データのあるバイナリデータをコピーします。

コピーする座標データの範囲はウォッチデータの * Unicode から * Remain Glyph Data のデータ終端までです。

コピーした座標データを正規表現が使える 秀丸エディタ にテキストデータとして貼り付けます。

以下の順序で Excel インポート用に置換と正規表現を実行します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイルの Excel インポート・変換方法、テキストファイルにコピーした inf(グリフデータ)ファイルの座標データを Excel インポート用にデータ整形、テキスト内にあるスペースを全削除

最初にテキスト内にあるスペースを全部削除します。検索欄には半角スペースを、置換欄には何も入力しない状態で置換処理します。この置換方法では正規表現は不要です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイルの Excel インポート・変換方法、テキストファイルにコピーした inf(グリフデータ)ファイルの座標データを Excel インポート用にデータ整形、24バイト単位(1文字あたりの座標データ)で改行するように正規表現で置換、検索欄に (.{48})、置換欄に \1\n を入力して置換

次にデータ整形のため 24バイト単位(1文字あたりの座標データ)で改行するように正規表現を使います。検索欄には (.{48}) を、置換欄には \1\n を入力して正規表現で置換します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイルの Excel インポート・変換方法、テキストファイルにコピーした inf(グリフデータ)ファイルの座標データを Excel インポート用にデータ整形、Excel インポート用に 2バイト単位でカンマ区切り挿入、検索欄に ^(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})$、置換欄に \1,\2,\3,\4,\5,\6,\7,\8,\9,\g{10},\g{11},\g{12} を入力して正規表現で置換

最後に Excel インポート用に 2バイト単位でカンマ区切りを挿入します。検索欄には ^(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})(.{4})$ を、置換欄には \1,\2,\3,\4,\5,\6,\7,\8,\9,\g{10},\g{11},\g{12} を入力して正規表現で置換します。

以上の置換処理後、固定幅フォントであれば上下行のテキスト文字が 1文字もズレなくそろっていることと、行数が ウォッチデータ * Character Count と同じになっているかどうか確認できたら、テキスト形式(.txt)で保存します。なお、GlyphData フォルダには上記の段階的に置換処理したテキストファイルを保存してあります。(ファイル名に Remove-Spaces、Remove-Spaces-24bytes-CRLF、Remove-Spaces-24bytes-CRLF-2bytes-Add-Comma とあるもの)

次にこのカンマ区切りテキストファイルを Excel にインポートしてみます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイルの Excel インポート・変換方法、Excel メニュー → データからテキストまたは CSV からボタン(データの取得 → ファイルから → テキストまたは CSV からでも可)をクリック、PC 環境によっては Microsoft Excel のセキュリティに関する通知が表示されるので OK ボタンで閉じる

Excel で新規ファイルを作成(Sheet1 のみがある状態)して、メニュー → データから「テキストまたは CSV から」ボタンをクリックして、インポートするテキストファイルを選択します。(もしくは、データの取得 → ファイルから → テキストまたは CSV からでも可)

PC 環境によっては上の画像のように Microsoft Excel のセキュリティに関する通知が表示されるので OK ボタンで閉じます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイルの Excel インポート・変換方法、Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック

データ型検出を「最初の 200 行に基づく」から「データ型を検出しない」に変更(0000 → 0 に勝手に変換されるの防止するため)にしてデータの変換ボタンをクリックします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイルの Excel インポート・変換方法、Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック

Power Query エディターが開くので、メニューバーにある「閉じて読み込む」ボタンをクリックします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイルの Excel インポート・変換方法、Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、(Sheet1 がすでにある状態なら)Sheet2 が作成・展開されたテキストデータ

(Sheet1 がすでにある状態なら)Sheet2 にインポートしたテキストファイルが展開されます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイルの Excel インポート・変換方法、Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、(Sheet1 がすでにある状態なら)Sheet2 が作成・展開されたテキストデータ、Sheet1 で数式・関数を使って Sheet2 のデータを加工・集計
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3(2013)日本語化ファイル解析メモとアンパック・解析データ公開、inf(グリフデータ)ファイルの Excel インポート・変換方法、Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、(Sheet1 がすでにある状態なら)Sheet2 が作成・展開されたテキストデータ、Sheet1 で数式・関数を使って Sheet2 のデータを加工・集計

Sheet2 にインポートした座標データを Sheet1 で参照して、関数や数式を使い 16進数のバイナリデータを 10進数に変換します。A 列から L 列までがインポートしたシートデータを参照して計算しているセル列で、N 列から O 列は A ~ L 列の計算結果をもとにさらに関数や式を使って求めている確認用のセル列となっています。

Sheet1 セル A2 に =HEX2DEC(RIGHT(Sheet2!A2,2)&LEFT(Sheet2!A2,2)) を入力して、セル C2 までコピーします。(A 列Unicode、B 列 width、C 列 height)

これはリトルエンディアンの 2バイト 16進数バイナリデータを RIGHT・LEFT 関数で並べ替えて、HEX2DEC 関数で 10進数に変換しています。

Sheet1 セル K2 も同様に =HEX2DEC(RIGHT(Sheet2!K2,2)&LEFT(Sheet2!K2,2)) を入力して、セル L2 までコピーします。ほとんど 0 データですが、値が入っていることもあるので一応変換するようにしています。

Sheet1 セル G2 に =(HEX2DEC(RIGHT(Sheet2!G2,2)&LEFT(Sheet2!G2,2)))/16 を入力して、セル J2 までコピーします。(G 列 x(start)、H 列 y(start)、I 列 x(end)、J 列 y(end))

16進数→10進数を関数で変換までは同じですが最後に 16で割っています。これは inf ファイルフォーマットの解析内容に x(start)、y(start)、x(end)、y(end) それぞれの座標には 16(0x10)をかけている データなので、16で割ることで座標データに戻しています。そのため、かならず 16で割り切れることになっています。(小数点以下は発生しない)

Sheet1 セル M2 に =UNICHAR(A2) を入力します。これは A 列の Unicode を文字に変換して確認するために入れています。ただ、特殊な記号・文字についてはゲームでは別の文字に置き換われていることがあるようです。

Sheet1 セル D2 に =IF(HEX2DEC(RIGHT(Sheet2!D2,2)&LEFT(Sheet2!D2,2))<16^LEN(RIGHT(Sheet2!D2,2)&LEFT(Sheet2!D2,2))/2,HEX2DEC(RIGHT(Sheet2!D2,2)&LEFT(Sheet2!D2,2)),HEX2DEC(RIGHT(Sheet2!D2,2)&LEFT(Sheet2!D2,2))-16^LEN(RIGHT(Sheet2!D2,2)&LEFT(Sheet2!D2,2))) を入力して、セル F2 までコピーします。(D 列 xoffset、E 列 yoffset、F 列 xadvance)

基本的には 16進数→10進数に関数で変換する内容ですが、マイナス数値があるデータの場合そのまま使うと、FF FF で -1 のところが 65,535 という数値に変換されてしまいます。座標データに関する数値なのでフォントテクスチャサイズを超えた値はおかしいということになります。(フォントテクスチャサイズは大きくても 縦横 4桁数値程度のため)

2バイト符号なし整数型(unsigned integer)なら 0 ~ 65,535 の範囲で済んでいましたが、マイナスを扱う場合は 2バイト符号付き整数型(signed integer)の -32,768~32,767 で変換することになります。

ここにある IF 文を使った符号付き整数型変換式 があるのでこれを流用しました。関数内のそれぞれの計算式の意味は以下の通りです。

IF 文の条件式では LEN 関数で対象セルにある文字数をカウント(4文字なので 4)、LEN 関数で求めた 4 を使って 16 を 4乗した数値を 2で割ります。

計算結果は (16^4=65,536)/2=32,768 となり、HEX2DEC 関数の数値が 32,768 より小さければ、そのままの結果を返しています(True 処理)。32,768 以上であれば、HEX2DEC 関数の数値を 16 を 4乗した数値で差し引きマイナス数値を返します(False 処理)。

あらかじめバイト数が判明していれば条件式で直接値を入力(32,768 や 32,769 数値と不等号の組み合わせ)することもできますが、判定式に 16 の文字数乗した結果を 2で割る、符号付き型で最大値を超える場合は 16 の文字数乗したものを引く ことで、16進数→10進数変換対象の文字数(バイト数)が変化しても数式で計算できる仕組みとなっています。

Sheet1 セル N2 に =G2+B2-I2 を入力します。これは x(start)+width-x(end) を計算する式で必ず 0 になります。

Sheet1 セル O2 には =H2+C2-J2 を入力します。これも y(start)+height-y(end) を計算する式で必ず 0 になります。

各セルの関数・数式の入力が終わったらセル A2 ~ O2 までをコピーして、画面左上にある名前ボックス(選択中のセルが表示される欄)に貼り付け先のセル範囲を指定します。この場合 Sheet2 の最大行数は 400 なので、名前ボックスには A2:O400 と入力します。

範囲指定したセルが選択状態になるので貼り付けます。これで、Sheet2 にあるすべての 16進数座標バイナリデータを 10進数に変換して計算することができます。

最後に MAX・MIN 関数を使って M 列(Unicode)以外の数値の最大値・最小値を求めています。

PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開

PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイルの解析内容とアンパック・解析データ PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析データ(2022年1月30日版)DS3_ENJP_parse.7z ファイル を公開します。

DDEAD SPACE 3 Awakened の日本語化ファイルは DEAD SPACE 3 で日本語化したフォントを使用しているため、フォントファイルは含まれておらず言語ファイルのみです。オリジナル版も同様にフォントは含まれていません。そのためフォントに関する解析データはありません。

このセクションでの解説は DEAD SPACE 3 で説明した内容と共通する部分があります。ただ、DS3 アンパック・リパックキット がそのままでは使えない点や、ツール単体でアンパック・リパックを実行する場合はアンパック用ファイルの配置やバッチファイルの記述が必要など多少の作業が伴います。

一番大きな違いとして DEAD SPACE シリーズの中で唯一 Awakened の lh2 ファイル(言語データ)のフォーマットが異なる 点です。

DEAD SPACE シリーズ(1~3)は 1言語 1ファイルという形式だったのが、Awakened では 1ファイルにすべての言語データを収めています。そのため、アンパック・リパックツールではこの形式に対応しておらず正しくアンパック・リパックできません。

ここではアンパック・リパックそのものができないのではなく、アンパック・リパック自体は可能だが他の言語データを消失させずにアンパック・リパックができないという意味です。ちなみに Awakened 日本語化ファイルでは書き換え先対象の英語以外の言語データは消失させずにうまくリパックさせています。

Awakened の lh2 ファイルの基本的なフォーマット(データ項目の並び方)に変更はなく、単純に言語データを規則的に詰めているシンプルな構造だけなので、lh2 ファイルのフォーマットがわかれば解析はかんたんです。

リパック方法については Excel を使った方法で今回実現させました。コピペを必要としているので非効率ですがテキストエディタの正規表現と Excel 関数の組み合わせで実現させたので、オフセットの計算方法などは参考になるのではないかと思います。

解析ファイル内容については以下のリストにまとめました。解析データやデータ作成方法などは以降の各セクションで説明します。

map_epilogue.viv ファイルアンパック方法

DEAD SPACE 3 インストール先 dlc\map_epilogue フォルダにある map_epilogue.viv ファイルをアンパックする方法です。

Gibbed's Visceral Big ViewerGibbed.Visceral.BigUnpack.exe+bat ファイル と同じ方法でアンパックできますが、アンパックに必要なファイルが別途必要なため、まずはそのファイルを用意する必要があります。

以下、そのファイルの入手方法です。ファイルの入手方法はいくつかありますが、最悪ダウンロードできなくなっても自力でファイルを作成することができます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、ZenHAX から ds3.rar をダウンロードして展開・解凍、Dead Space 3\files\pc フォルダにある dlc.filelist ファイルをコピー

map_epilogue.viv ファイルアンパック用ファイル入手方法その 1。

ZenHAX から ds3.rar をダウンロード して展開・解凍すると、Dead Space 3\files\pc フォルダにある dlc.filelist ファイルがあるのでコピーします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、ZenHAX から ds3.rar をダウンロードして展開・解凍、Dead Space 3\files\pc フォルダにある dlc.filelist ファイルをコピー、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral\projects\Dead Space 3\files\pc フォルダに dlc.filelist ファイルを配置

ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral\projects\Dead Space 3\files\pc フォルダに dlc.filelist ファイルを配置します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、ZenHAX から bin.rar をダウンロードして展開・解凍、bin\projects\Dead Space 3\files\pc\dlc\map_epilogue フォルダにある map_epilogue.filelist ファイルをコピー

map_epilogue.viv ファイルアンパック用ファイル入手方法その 2。

ZenHAX から bin.rar をダウンロード して展開・解凍すると、bin\projects\Dead Space 3\files\pc\dlc\map_epilogue フォルダにある map_epilogue.filelist ファイルがあるのでコピーします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、ZenHAX から bin.rar をダウンロードして展開・解凍、bin\projects\Dead Space 3\files\pc\dlc\map_epilogue フォルダにある map_epilogue.filelist ファイルをコピー、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral\projects\Dead Space 3\files\pc フォルダに map_epilogue.filelist ファイルを配置

ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral\projects\Dead Space 3\files\pc フォルダに map_epilogue.filelist ファイルを配置します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、バイナリエディタで map_epilogue.viv ファイルを開き、アドレス 0x3000~0xF2DD にあるバイナリデータが map_epilogue.viv ファイルをアンパックするのに必要な情報、ZenHAX からダウンロードできなくなった場合は map_epilogue.viv ファイルからアンパックに必要なファイルが生成可能(バイナリエディタで アドレス 0x3000~0xF2DD のデータをコピー、バイナリエディタで新規作成してコピーしたバイナリデータを貼り付けて拡張子 filelist で保存、拡張子 filelist の中身はテキストエディタで閲覧可能)
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、バイナリエディタで map_epilogue.viv ファイルを開き、アドレス 0x3000~0xF2DD にあるバイナリデータが map_epilogue.viv ファイルをアンパックするのに必要な情報、ZenHAX からダウンロードできなくなった場合は map_epilogue.viv ファイルからアンパックに必要なファイルが生成可能(バイナリエディタで アドレス 0x3000~0xF2DD のデータをコピー、バイナリエディタで新規作成してコピーしたバイナリデータを貼り付けて拡張子 filelist で保存、拡張子 filelist の中身はテキストエディタで閲覧可能)

map_epilogue.viv ファイルアンパック用ファイル入手方法その 3。

上の画像は map_epilogue.viv ファイルをバイナリエディタで開いた時のアドレス 0x30000xF2DD にあるバイナリデータです。

先ほどダウンロードして入手した dlc.filelist と map_epilogue.filelist ファイルの中身と同じで、おそらくこれをもとに作成されたファイルだと思われます。

バイナリエディタで map_epilogue.viv ファイルのアドレス 0x30000xF2DD をコピー、同じくバイナリエディタで新規作成した状態で貼り付けて保存時に任意のファイル名で拡張子を filelist にすることで、dlc.filelist と map_epilogue.filelist ファイルと同じものを作成することができます。

ちなみに dlc.filelist と map_epilogue.filelist ファイルの中身はテキストデータなので、テキストエディタで中身を確認することができます。

これで map_epilogue.viv ファイルのアンパックに必要なファイルの配置が完了しました。次に実際に map_epilogue.viv ファイルをアンパックします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral\projects\Dead Space 3\files\pc フォルダに dlc.filelist or map_epilogue.filelist ファイル配置後 Gibbed.Visceral.BigViewer.exe 実行

Gibbed's Visceral Big Viewer を使ったアンパック方法です。

ds3jp_repack_kit_ver.0.5\tools\\gibbed.visceral フォルダ内にある Gibbed.Visceral.BigViewer.exe ファイルを実行します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral\projects\Dead Space 3\files\pc フォルダに dlc.filelist or map_epilogue.filelist ファイル配置後 Gibbed.Visceral.BigViewer.exe 実行、Gibbed's Visceral Big Viewer 画面で左上にあるドロップダウンリストで Dead Space 3 を選択後、Open ボタンをクリックしてアンパック対象の map_epilogue.viv ファイルを開く、ツリーリストに Unknown の数値が 1の状態かつ Known 以下に map_epilogue フォルダが表示されていることを確認して Save All ボタンをクリックして任意の場所にアンパック

ツリーリストに Unknown の数値が 1の状態かつ Known 以下に map_epilogue フォルダが表示されていることを確認して、Save All ボタンをクリックして任意の場所にアンパックします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに map_epilogue.viv ファイルとアンパック用 bat ファイルを作成して配置(bat ファイル名は任意)

こちらは Gibbed.Visceral.BigUnpack.exe+bat ファイル を使ったアンパック方法です。

ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに以下のアンパック用 bat ファイル(ファイル名は任意)の作成とアンパック対象の map_epilogue.viv ファイルを配置して、bat ファイルを使って Gibbed.Visceral.BigUnpack.exe を実行します。

map_epilogue.viv ファイルアンパック用 Gibbed.Visceral.BigUnpack.exe 実行バッチスクリプト(~.bat)
Gibbed.Visceral.BigUnpack.exe -p="Dead Space 3" map_epilogue.viv map_epilogue
pause
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに map_epilogue.viv ファイルとアンパック用 bat ファイルを作成して配置(bat ファイル名は任意)、コマンドプロンプト画面が表示されてアンパック処理完了後

作成したバッチファイル実行後にコマンドプロンプト画面が表示されてアンパック処理開始~完了です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、map_epilogue.viv ファイルアンパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに map_epilogue.viv ファイルとアンパック用 bat ファイルを作成して配置(bat ファイル名は任意)、コマンドプロンプト画面が表示されてアンパック処理完了後、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに展開された map_epilogue フォルダ

作成したバッチファイルによる viv ファイルアンパック処理完了後、ds3jp_repack_kit_ver.0.5 フォルダ内に生成された map_epilogue フォルダ(バッチスクリプトの引数で指定したもの)です。このフォルダにアンパックしたファイルが含まれます。

アンパックした map_epilogue.viv ファイルのリパック方法については DEAD SPAC3 3 本編の viv ファイルリパック方法 の内容で行います。

アンパックした map_epilogue.viv ファイル比較(オリジナル版と日本語化ファイル(Awakened_JP.exe))

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした map_epilogue.viv ファイル比較(オリジナル版と日本語化ファイル(Awakened_JP.exe))、アンパックしたオリジナル版と日本語化(Awakened_JP.exe)した map_epilogue.viv ファイルの WinMerge 比較結果、複数のファイルで差分があるが、global_assets フォルダにある global_assets_global.str ファイル、pdlc_assets フォルダにある pdlc_assets_global.str ファイル、pdlc_assets\pdlc_globals\pdlc_globals\frontend フォルダにある frontend.str ファイルの 3つの str ファイルが lh2 言語ファイルを格納しているファイル、残りの差分ファイルは日本語化したファイルデータの終端に連続した 00 データを付加したのみ(ツールによるリパック時に付加されたもの?)

オリジナル版と日本語化ファイル(Awakened_JP.exe)を適用した map_epilogue.viv ファイルを アンパック した後、WinMerge で比較した結果です。

複数のファイルで差分がありますが、global_assets フォルダにある global_assets_global.str ファイル、pdlc_assets フォルダにある pdlc_assets_global.str ファイル、pdlc_assets\pdlc_globals\pdlc_globals\frontend フォルダにある frontend.str ファイルの 3つの str ファイルが lh2 言語ファイルを格納しているファイルとなっています。

残りの差分ファイルは日本語化したファイルデータの終端に連続した 00 データを付加したのみです。おそらく、ツールによるリパック時に付加されたものと思われます。

~.str ファイルアンパック方法

map_epilogue.viv ファイルを アンパック した後、lh2 言語ファイルを内包している 3つの str ファイル(global_assets_global.str、pdlc_assets_global.str、frontend.str)のアンパック方法です。

やり方は DEAD SPACE 3 本編の str ファイルアンパック方法 と同じで、ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイル、もしくは ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルに str ファイルをドラッグ&ドロップすることでアンパックできます。

以下、str ファイルアンパック処理結果です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、~.str ファイルアンパック方法、global_assets_global.str ファイルを ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイルか tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルに str ファイルをドラッグ&ドロップしてアンパック後、アンパックして展開された global_assets_global_unpacked\LH2 フォルダにある 0186_ds3_dlc_epilogue_global.lh2 ファイル

global_assets_global.str ファイルアンパック後、global_assets_global_unpacked\LH2 フォルダに展開された 0186_ds3_dlc_epilogue_global.lh2 言語ファイルです。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、~.str ファイルアンパック方法、pdlc_assets_global.str ファイルを ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイルか tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルに str ファイルをドラッグ&ドロップしてアンパック後、アンパックして展開された pdlc_assets_global_unpacked\LH2 フォルダにある 0115_ds3_dlc_epilogue.lh2 ファイル

pdlc_assets_global.str ファイルアンパック後、pdlc_assets_global_unpacked\LH2 フォルダに展開された 0115_ds3_dlc_epilogue.lh2 言語ファイルです。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、~.str ファイルアンパック方法、frontend.str ファイルを ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイルか tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルに str ファイルをドラッグ&ドロップしてアンパック後、アンパックして展開された frontend_unpacked\LH2 フォルダにある 0003_ds3_dlc_epilogue_frontend.lh2 ファイル

frontend.str ファイルアンパック後、frontend_unpacked\LH2 フォルダに展開された 0003_ds3_dlc_epilogue_frontend.lh2 言語ファイルです。

アンパックした str ファイルのリパック方法については DEAD SPAC3 3 本編の str ファイルリパック方法 の内容で行います。

アンパックした ~.str ファイル比較(オリジナル版と日本語化ファイル(Awakened_JP.exe))

オリジナル版と日本語化ファイル(Awakened_JP.exe)を適用した map_epilogue.viv ファイルに含まれる 3つの str ファイル(global_assets_global.str、pdlc_assets_global.str、frontend.str)を アンパック した後、WinMerge で比較した結果です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした ~.str ファイル比較(オリジナル版と日本語化ファイル(Awakened_JP.exe))、アンパックしたオリジナル版と日本語化(Awakened_JP.exe)した global_assets_global.str ファイルの WinMerge 比較結果、LH2 フォルダにある 0186_ds3_dlc_epilogue_global.lh2 ファイルのみ差分検出
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした ~.str ファイル比較(オリジナル版と日本語化ファイル(Awakened_JP.exe))、アンパックしたオリジナル版と日本語化(Awakened_JP.exe)した pdlc_assets_global.str ファイルの WinMerge 比較結果、LH2 フォルダにある 0115_ds3_dlc_epilogue.lh2 ファイルのみ差分検出
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした ~.str ファイル比較(オリジナル版と日本語化ファイル(Awakened_JP.exe))、アンパックしたオリジナル版と日本語化(Awakened_JP.exe)した frontend.str ファイルの WinMerge 比較結果、LH2 フォルダにある 0003_ds3_dlc_epilogue_frontend.lh2 ファイルのみ差分検出

3つの str ファイル(global_assets_global.str、pdlc_assets_global.str、frontend.str)をアンパックするといくつかのフォルダ・ファイルが展開されますが、いずれも差分があるファイルは 0186_ds3_dlc_epilogue_global.lh2、0115_ds3_dlc_epilogue.lh2、0003_ds3_dlc_epilogue_frontend.lh2 の言語ファイルのみとなっています。

そのため、DLC Awakened ではこの lh2 ファイルをアンパック→ csv テキスト編集→リパックすることで、ゲーム内テキストを日本語化できるということになります。

lh2 ファイルフォーマット解析(Awakened_JP.exe)

アンパックした str ファイル に含まれる DLC Awakened の lh2 ファイルのフォーマットを FavBinEdit のウォッチデータを使って解析しました。

DLC Awakened の lh2 ファイルの大まかなフォーマットについては過去ログ(lh2 ファイルフォーマットlh2 ファイル注意点)にてすでに解析済みです。

DEAD SPACE 3 本編の lh2 ファイル とは違い、1つの lh2 ファイルに複数の言語データが格納されている形となっています。ただ、言語データが追加されている以外は DEAD SPACE 3 本編の lh2 ファイル とほぼ同じシンプルなフォーマット(ID、オフセット(言語分)、テキストデータ(言語分))でしたので、ウォッチデータの作成は難しくありませんでした。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルフォーマット解析(Awakened_JP.exe)、FavBinEdit のウォッチデータを使った 0003_ds3_dlc_epilogue_frontend.lh2 ファイルフォーマット情報、Dead Space 3 本編 lh2 ファイルとの違いは一つの lh2 ファイルに 1言語収録されていたのに対して、Awakened では一つのファイルに複数の言語(6言語)収録されているところ

画像は日本語化ファイル Awakened_JP.exe で日本語化した 0003_ds3_dlc_epilogue_frontend.lh2 ファイルの FavBinEdit ウォッチデータです。ウォッチデータに * を入れているのはオリジナル版と相違があるバイナリデータです。

ウォッチデータ * 0003_ds3_dlc_epilogue_frontend.lh2 File Size(Awakened_JP.exe)は lh2 ファイルサイズです。この場合は 6,633 バイトになります。

ウォッチデータ * Jump to Footer address 0x19B9 はデータ終端にある ウォッチデータ Footer Data の開始アドレス 0x19B9 を指しているようです。各言語のテキストデータのサイズによってこのアドレスは可変しますので、英語と日本語の場合ではこのアドレスデータは異なることになります。

ウォッチデータ Number of Languages は言語数です。6言語が収録(オリジナル版では英語・ドイツ語・スペイン語・フランス語・イタリア語・ロシア語が収録)されています。

ウォッチデータ Text ID(4byte x 12sentences) は各言語の各オフセット・テキストデータにセットで紐づけされていると思われる固有のバイナリデータになります。このバイナリデータは固定となっており、オフセットやテキストデータを変更してもバイナリデータの内容が変わることはありません。

Text ID は 1つのオフセット・テキストデータに対して 4バイト割り当てられているので、Text ID のデータサイズを 4 で割ることでテキストデータ数を求めることができます。この場合の Text ID サイズは 48バイトなので 4 で割ると 12 となり、テキストデータ数は 12 となります。

ウォッチデータ * English(EN) -> Japanese Text ID - Offset(4byte x 12sentences)ウォッチデータ * Russian(RU) -> ? Japanese Text ID - Offset(4byte x 12sentences) は、各言語のテキストデータが格納されているバイナリデータの先頭アドレス(オフセット)を指しています。

そのため、テキストデータに変更があれば該当するオフセットデータ以降、すべてのバイナリデータが増減する形となっています。

Text ID と同様に 1つのオフセット・テキストデータに対して 4バイト割り当てられており、データサイズは先ほどの Text ID と同じです。このファイルの場合は 48 バイトが各言語のオフセットデータサイズとなっています。

ウォッチデータ * English(EN) -> Japanese Text Data Size 0x4DA(1242bytes)ウォッチデータ ? * Russian(RU) -> ? Japanese Text Data Size 0x4DA(1242bytes) までが各言語のテキストデータが格納されています。フォーマットは DEAD SPACE 3 本編と同様 でテキストデータの文字コードは UTF-8、次のテキストデータとの間には必ず 1バイトの 00 データを入れて区切りを入れています。

DEAD SPACE 3 本編の日本語化ファイルでもそうでしたが、DLC でも英語とロシア語の両方が同じ日本語テキストに置き換えられています。本編でも DLC でも英語版として起動すれば日本語でプレイできるようになっているので、ロシア語を日本語に置き換えている理由については不明です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルフォーマット解析(Awakened_JP.exe)、FavBinEdit のウォッチデータを使った 0003_ds3_dlc_epilogue_frontend.lh2 ファイルフォーマット情報、Dead Space 3 本編 lh2 ファイルとの違いは一つの lh2 ファイルに 1言語収録されていたのに対して、Awakened では一つのファイルに複数の言語(6言語)収録されているところ

ウォッチデータ Footer Data はデータ終端にある固有のバイナリデータです。アドレスの開始位置は ウォッチデータ * Jump to Footer address 0x19B9 で指しています。

lh2 → csv ファイルアンパック方法(DEAD SPACE 3 Awakened 用)

アンパックした str ファイル に含まれる DLC Awakened の lh2 ファイルを csv ファイルにアンパックする方法です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 → csv ファイルアンパック方法(DEAD SPACE 3 Awakened 用)、ds3strings_v1_3_0 フォルダに lh2 ファイル(0186_ds3_dlc_epilogue_global.lh2、0115_ds3_dlc_epilogue.lh2、0003_ds3_dlc_epilogue_frontend.lh2)とアンパック用 bat ファイルを作成して配置(bat ファイル名は任意)

str ファイルアンパック後、各 LH2 フォルダにある 3つの 0186_ds3_dlc_epilogue_global.lh2、0115_ds3_dlc_epilogue.lh2、0003_ds3_dlc_epilogue_frontend.lh2 ファイルをまとめて csv ファイルにアンパックします。

ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダに 3つの 0186_ds3_dlc_epilogue_global.lh2、0115_ds3_dlc_epilogue.lh2、0003_ds3_dlc_epilogue_frontend.lh2 ファイルを配置、以下の bat ファイルを作成(ファイル名は任意)して実行します。

DLC Awakened - lh2 → csv ファイルアンパック用バッチスクリプト(~.bat)
ds3strings.exe -u 0003_ds3_dlc_epilogue_frontend.lh2 0003_ds3_dlc_epilogue_frontend.csv
ds3strings.exe -u 0115_ds3_dlc_epilogue.lh2 0115_ds3_dlc_epilogue.csv
ds3strings.exe -u 0186_ds3_dlc_epilogue_global.lh2 0186_ds3_dlc_epilogue_global.csv
pause
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 → csv ファイルアンパック方法(DEAD SPACE 3 Awakened 用)、ds3strings_v1_3_0 フォルダに lh2 ファイル(0186_ds3_dlc_epilogue_global.lh2、0115_ds3_dlc_epilogue.lh2、0003_ds3_dlc_epilogue_frontend.lh2)とアンパック用 bat ファイルを作成して配置(bat ファイル名は任意)、コマンドプロンプト画面が表示されてアンパック処理完了

bat ファイル実行後、コマンドプロンプト画面が表示されて lh2 → csv ファイルにアンパック処理~完了です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 → csv ファイルアンパック方法(DEAD SPACE 3 Awakened 用)、ds3strings_v1_3_0 フォルダに lh2 ファイル(0186_ds3_dlc_epilogue_global.lh2、0115_ds3_dlc_epilogue.lh2、0003_ds3_dlc_epilogue_frontend.lh2)とアンパック用 bat ファイルを作成して配置(bat ファイル名は任意)、コマンドプロンプト画面が表示されてアンパック処理完了後、ds3strings_v1_3_0 フォルダにアンパックされた csv ファイル(0186_ds3_dlc_epilogue_global.csv、0115_ds3_dlc_epilogue.csv、0003_ds3_dlc_epilogue_frontend.csv)

ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダ内に ~.dat ファイルとセットに 0186_ds3_dlc_epilogue_global.csv、0115_ds3_dlc_epilogue.csv、0003_ds3_dlc_epilogue_frontend.csv ファイルが生成されます。(同時に生成された ~.dat ファイルは csv → lh2 ファイルへのリパック 時に必要)

なお、lh2_unpack.bat ファイルでもドラッグアンドドロップでアンパックできますが、DEAD SPACE 3 本編のファイル名(0000_ds3_global.en)となるので、リパック処理のことを考えるとアンパック後はファイルのリネーム(名前変更)する必要があります。(単純に lh2 → csv ファイルを変換して中身をチェックする程度なら lh2_unpack.bat で十分です)

なお、csv ファイルには 6つある言語のうち一番上にある言語(オリジナル版では英語、日本語化ファイルでは日本語)のみしかありません。これはツールが DEAD SPACE 3 本編にしか対応していないため、残りの言語はごっそりそぎ落とされてる形となります。

そのため csv ファイルを編集して lh2 ファイルにリパック後したものを利用すると 問題が発生 するようです。

対応したツールがないため残りの言語を削除しないでテキストを書き換えるには、リパックした lh2 ファイルのバイナリデータ(オフセットとテキストデータ)を使って、オリジナル版の lh2 ファイルにあるバイナリデータの修正作業(オフセット再計算、英語→日本語テキスト差し替え) をすることで暫定的に対応できるようにしました。

csv → lh2 ファイルリパック方法(DEAD SPACE 3 Awakened 用)

アンパックした csv ファイル を DLC Awakened 用 lh2 ファイルにリパックする方法です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、csv → lh2 ファイルリパック方法(DEAD SPACE 3 Awakened 用)、ds3strings_v1_3_0 フォルダに csv ファイル(0186_ds3_dlc_epilogue_global.csv、0115_ds3_dlc_epilogue.csv、0003_ds3_dlc_epilogue_frontend.csv)とリパック用 bat ファイルを作成して配置(bat ファイル名は任意)

ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダに csv ファイルとアンパック時に生成された dat ファイルがある状態で、以下の bat ファイルを作成(ファイル名は任意)して実行します。(アンパック時に生成された dat ファイルがないとリパックできない点に注意)

DLC Awakened - csv → lh2 ファイルリパック用バッチスクリプト(~.bat)
ds3strings.exe -p 0003_ds3_dlc_epilogue_frontend.csv 0003_ds3_dlc_epilogue_frontend.lh2
ds3strings.exe -p 0115_ds3_dlc_epilogue.csv 0115_ds3_dlc_epilogue.lh2
ds3strings.exe -p 0186_ds3_dlc_epilogue_global.csv 0186_ds3_dlc_epilogue_global.lh2
pause
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、csv → lh2 ファイルリパック方法(DEAD SPACE 3 Awakened 用)、ds3strings_v1_3_0 フォルダに csv ファイル(0186_ds3_dlc_epilogue_global.csv、0115_ds3_dlc_epilogue.csv、0003_ds3_dlc_epilogue_frontend.csv)とリパック用 bat ファイルを作成して配置(bat ファイル名は任意)、コマンドプロンプト画面が表示されてリパック処理完了

bat ファイル実行後、コマンドプロンプト画面が表示されて csv → lh2 ファイルにリパック処理~完了です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、csv → lh2 ファイルリパック方法(DEAD SPACE 3 Awakened 用)、ds3strings_v1_3_0 フォルダに csv ファイル(0186_ds3_dlc_epilogue_global.csv、0115_ds3_dlc_epilogue.csv、0003_ds3_dlc_epilogue_frontend.csv)とリパック用 bat ファイルを作成して配置(bat ファイル名は任意)、コマンドプロンプト画面が表示されてリパック処理完了後、ds3strings_v1_3_0 フォルダにリパックされた lh2 ファイル(0186_ds3_dlc_epilogue_global.lh2、0115_ds3_dlc_epilogue.lh2、0003_ds3_dlc_epilogue_frontend.lh2)

ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダ内にあった csv ファイルがそれぞれ lh2 ファイルにリパックされます。(すでに同名の lh2 ファイルがある場合は上書き更新)

なお、lh2_pack.bat ファイルでもドラッグアンドドロップでリパックできますが、DEAD SPACE 3 本編のファイル名(0000_ds3_global.en)となるので、リパック処理後はファイルをリネーム(名前変更)する必要があります。

この方法でリパックした lh2 ファイルには 6つある言語のうち 1言語(オリジナル版では英語、日本語化ファイルでは日本語)のみしかない状態です。これは csv ファイルにアンパック したときにツールが 1言語(バイナリデータ上では一番上にある言語)にしか対応していないためです。

そのため アンパックした csv ファイル を編集して lh2 ファイルにリパック後したものを利用すると 問題が発生 する可能性があります。

残りの言語を削除しないでテキストを書き換えるには、リパックした lh2 ファイルのバイナリデータ(オフセットとテキストデータ)を使って、オリジナル版の lh2 ファイルにあるバイナリデータの修正作業(オフセット再計算、英語→日本語テキスト差し替え) が必要となります。

にそのやり方を説明します。

lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)

リパックした(された)日本語化 lh2 ファイル とこちらで用意した DEAD SPACE 3 Awakened 日本語化ファイル解析データ(2022年1月30日版)DS3_ENJP_parse.7z ファイル の OffsetData フォルダにある Excel ファイルと、FavBinEdit のウォッチデータを使って、DLC Awakened オリジナル版 lh2 ファイルに日本語データ(オフセット・テキストデータ・ファイルサイズ・フッターアドレスデータ)に差し替える方法を 0003_ds3_dlc_epilogue_frontend.lh2 ファイルを使って説明します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、オリジナル版 frontend.str ファイルアンパック後の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルをバイナリエディタ FavBinEdit で開き、用意したウォッチデータ読み込み、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)のバイナリデータを削除

オリジナル版 frontend.str ファイルアンパック後の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルを、バイナリエディタ FavBinEdit で開き、こちらで用意した DEAD SPACE 3 Awakened 日本語化ファイル解析データ(2022年1月30日版)DS3_ENJP_parse.7z ファイルEnglish\FavBinEdit\lh2 フォルダにあるウォッチデータ 0003_ds3_dlc_epilogue_frontend.lh2.FavBinEdit-W ファイルを読み込みます。

ウォッチデータ English(EN) Text Data Size 0x35A(858bytes) のバイナリデータを削除します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、オリジナル版 frontend.str ファイルアンパック後の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルをバイナリエディタ FavBinEdit で開き、用意したウォッチデータ読み込み、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)のバイナリデータを削除、ウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)のバイナリデータを削除

続けて、ウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences) のバイナリデータを削除します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、オリジナル版 frontend.str ファイルアンパック後の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルをバイナリエディタ FavBinEdit で開き、用意したウォッチデータ読み込み、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)のバイナリデータを削除、ウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)のバイナリデータを削除、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)とウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)バイナリデータ削除の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルバイナリデータ

ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)ウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences) バイナリデータ削除後の DLC Awakened オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 ファイルです。

次に削除したバイナリデータのあったアドレスに リパックした日本語化 lh2 ファイル(0003_ds3_dlc_epilogue_frontend.lh2) のオフセットとテキストデータを挿入します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、オリジナル版 frontend.str ファイルアンパック後の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルをバイナリエディタ FavBinEdit で開き、用意したウォッチデータ読み込み、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)のバイナリデータを削除、ウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)のバイナリデータを削除、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)とウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)バイナリデータ削除の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルバイナリデータ、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルをバイナリエディタでウォッチデータ English(EN) -> Japanese Text ID - Offset(4byte x 12sentences)以下にある日本語テキストバイナリデータをすべてコピーとバイナリデータサイズをメモ(今回の場合は 0x4DA)

リパックした日本語化 lh2 ファイル(0003_ds3_dlc_epilogue_frontend.lh2)FavBinEdit で開き、DEAD SPACE 3 Awakened 日本語化ファイル解析データ(2022年1月30日版)DS3_ENJP_parse.7z ファイルAwakened_JP.exe\FavBinEdit\Offset フォルダにあるウォッチデータ 0003_ds3_dlc_epilogue_frontend.lh2-Offset.FavBinEdit-W ファイルを読み込みます。

ウォッチデータ English(EN) -> Japanese Text ID - Offset(4byte x 12sentences) 以下にある日本語テキストバイナリデータをすべてコピーすると同時に、バイナリデータ 16進数サイズをメモします。今回の場合は 0x4DA でこれをあとで Excel でのオフセット計算用に使います。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、オリジナル版 frontend.str ファイルアンパック後の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルをバイナリエディタ FavBinEdit で開き、用意したウォッチデータ読み込み、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)のバイナリデータを削除、ウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)のバイナリデータを削除、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)とウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)バイナリデータ削除の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルバイナリデータ、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルをバイナリエディタでウォッチデータ English(EN) -> Japanese Text ID - Offset(4byte x 12sentences)以下にある日本語テキストバイナリデータをすべてコピーとバイナリデータサイズをメモ(今回の場合は 0x4DA)、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルからコピーした日本語テキストバイナリデータを、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 ファイルのウォッチデータ English(EN) Text Data Size 0x35A(858bytes)があった個所(ウォッチデータ Russian(RU) Text ID - Offset(4byte x 12sentences)の下)に貼り付け

オリジナル版 lh2 ファイルのバイナリエディタ画面に戻り、先ほど削除した ウォッチデータ English(EN) Text Data Size 0x35A(858bytes) があったところに、コピーした日本語テキストデータを貼り付けます。

上の画像では ウォッチデータ Russian(RU) Text ID - Offset(4byte x 12sentences)ウォッチデータ German(DE) Text Data Size 0x3AD(941bytes) の間に日本語テキストデータがある形となっています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、オリジナル版 frontend.str ファイルアンパック後の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルをバイナリエディタ FavBinEdit で開き、用意したウォッチデータ読み込み、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)のバイナリデータを削除、ウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)のバイナリデータを削除、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)とウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)バイナリデータ削除の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルバイナリデータ、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルをバイナリエディタでウォッチデータ English(EN) -> Japanese Text ID - Offset(4byte x 12sentences)以下にある日本語テキストバイナリデータをすべてコピーとバイナリデータサイズをメモ(今回の場合は 0x4DA)、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルからコピーした日本語テキストバイナリデータを、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 ファイルのウォッチデータ English(EN) Text Data Size 0x35A(858bytes)があった個所(ウォッチデータ Russian(RU) Text ID - Offset(4byte x 12sentences)の下)に貼り付け、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルをバイナリエディタでウォッチデータ English(EN) -> Japanese Text ID - Offset(4byte x 12sentences)のバイナリデータをコピー

リパックした日本語化 lh2 ファイル(0003_ds3_dlc_epilogue_frontend.lh2) を開いたバイナリエディタ画面に戻って、ウォッチデータ English(EN) -> Japanese Text ID - Offset(4byte x 12sentences) の日本語オフセットデータをコピーします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、オリジナル版 frontend.str ファイルアンパック後の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルをバイナリエディタ FavBinEdit で開き、用意したウォッチデータ読み込み、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)のバイナリデータを削除、ウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)のバイナリデータを削除、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)とウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)バイナリデータ削除の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルバイナリデータ、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルをバイナリエディタでウォッチデータ English(EN) -> Japanese Text ID - Offset(4byte x 12sentences)以下にある日本語テキストバイナリデータをすべてコピーとバイナリデータサイズをメモ(今回の場合は 0x4DA)、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルからコピーした日本語テキストバイナリデータを、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 ファイルのウォッチデータ English(EN) Text Data Size 0x35A(858bytes)があった個所(ウォッチデータ Russian(RU) Text ID - Offset(4byte x 12sentences)の下)に貼り付け、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルをバイナリエディタでウォッチデータ English(EN) -> Japanese Text ID - Offset(4byte x 12sentences)のバイナリデータをコピー、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルからコピーした日本語オフセットバイナリデータを、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 ファイルのウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)があった個所(ウォッチデータ Text ID(4byte x 12sentences)の下)に貼り付

オリジナル版 lh2 ファイルのバイナリエディタ画面に戻り、先ほど削除した ウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences) があったところに、コピーした日本語オフセットデータを貼り付けます。

上の画像では ウォッチデータ Text ID(4byte x 12sentences)ウォッチデータ German(DE) Text ID - Offset(4byte x 12sentences) の間に日本語オフセットデータがある形となっています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、オリジナル版 frontend.str ファイルアンパック後の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルをバイナリエディタ FavBinEdit で開き、用意したウォッチデータ読み込み、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)のバイナリデータを削除、ウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)のバイナリデータを削除、ウォッチデータ English(EN) Text Data Size 0x35A(858bytes)とウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)バイナリデータ削除の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルバイナリデータ、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルをバイナリエディタでウォッチデータ English(EN) -> Japanese Text ID - Offset(4byte x 12sentences)以下にある日本語テキストバイナリデータをすべてコピーとバイナリデータサイズをメモ(今回の場合は 0x4DA)、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルからコピーした日本語テキストバイナリデータを、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 ファイルのウォッチデータ English(EN) Text Data Size 0x35A(858bytes)があった個所(ウォッチデータ Russian(RU) Text ID - Offset(4byte x 12sentences)の下)に貼り付け、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルをバイナリエディタでウォッチデータ English(EN) -> Japanese Text ID - Offset(4byte x 12sentences)のバイナリデータをコピー、0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルからコピーした日本語オフセットバイナリデータを、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 ファイルのウォッチデータ English(EN) Text ID - Offset(4byte x 12sentences)があった個所(ウォッチデータ Text ID(4byte x 12sentences)の下)に貼り付け、ウォッチデータ English(EN) Text ID から Russian(RU) Text ID までのバイナリデータをコピーしてテキストファイルに貼り付け

lh2 ファイルの英語テキストデータから日本語テキストデータに変更したので、各言語のオフセットデータを再計算します。

ウォッチデータ Text ID(4byte x 12sentences) より下、追加した日本語テキストデータの間にある 6言語分のオフセットデータをコピーして、テキストエディタ 秀丸エディタ に貼り付けます。

Excel へインポートできるようにするため、以下の順序で置換と正規表現を実行します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、テキストファイルにコピーした lh2 ファイルの全言語オフセットデータを Excel インポート用にデータ整形、テキスト内にあるスペースを全削除

最初にテキスト内にあるスペースを削除します。検索欄には半角スペースを、置換欄には何も入力しない状態で置換処理します。この置換方法では正規表現は不要です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、テキストファイルにコピーした lh2 ファイルの全言語オフセットデータを Excel インポート用にデータ整形、16バイト単位(1文字あたりの座標データ)で改行するように正規表現で置換、検索欄に (.{32})、置換欄に \1\n を入力して置換

次にデータ整形のため 16バイト単位(バイナリエディタの 1行当たりのバイト表示数)で改行するように正規表現を使います。検索欄には (.{32}) を、置換欄には \1\n を入力して正規表現で置換します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、テキストファイルにコピーした lh2 ファイルの全言語オフセットデータを Excel インポート用にデータ整形、Excel インポート用に 2バイト単位でカンマ区切り挿入。検索欄に (.{8})(.{8})(.{8})(.{8})、置換欄に \1,\2,\3,\4 を入力して正規表現で置換

最後に Excel インポート用に 4バイト単位でカンマ区切りを挿入します。検索欄には (.{8})(.{8})(.{8})(.{8}) を、置換欄には \1,\2,\3,\4 を入力して正規表現で置換します。

以上の置換処理後、固定幅フォントであれば上下行のテキスト文字が 1文字もズレなくそろっていることが確認できたら、テキスト形式(.txt)で保存します。なお、OffsetData フォルダには上記の段階的に置換処理したテキストファイルを保存してあります。(ファイル名に Remove-Spaces、Remove-Spaces-16bytes-CRLF、Remove-Spaces-16bytes-CRLF-4bytes-Add-Comma とあるもの)

次にこのカンマ区切りテキストファイルを Excel にインポートしてみます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック

PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析データ(2022年1月30日版)DS3_ENJP_parse.7z ファイルAwakened_JP.exe\OffsetData\xlsx フォルダにある 0003_ds3_dlc_epilogue_frontend.lh2.xlsx ファイルを開きます。

Excel のメニュー → データから「テキストまたは CSV から」ボタンをクリックして、インポートするテキストファイルを選択します。(もしくは、データの取得 → ファイルから → テキストまたは CSV からでも可)

データ型検出を「最初の 200 行に基づく」から「データ型を検出しない」に変更(0000 → 0 に勝手に変換されるの防止するため)にしてデータの変換ボタンをクリックします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック

Power Query エディターが開くので、メニューバーにある「閉じて読み込む」ボタンをクリックします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、Sheet3 にインポートされたテキストデータ(バイナリデータ)をコピー

Sheet3 にインポートされたデータがあるセルをコピーします。上の画像ではセル A2:D19 を範囲選択した状態です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、Sheet3 にインポートされたテキストデータ(バイナリデータ)をコピー、Sheet2 の同じセルに Sheet3 のテキストデータ(バイナリデータ)を上書き貼り付け

Sheet2 を開きコピーした Sheet3 のデータを、同じセル範囲(この場合は A2:D19)に上書きで貼り付けます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、Sheet3 にインポートされたテキストデータ(バイナリデータ)をコピー、Sheet2 の同じセルに Sheet3 のテキストデータ(バイナリデータ)を上書き貼り付け、Sheet1 のセル G10 を 0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルの日本語テキストバイナリデータサイズ(16進数)に書き換え(今回の場合は 0x4DA なので 4DA)

Sheet1 のセル G10 を 0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルの日本語テキストバイナリデータサイズ(16進数)に書き換えます。今回の場合は 0x4DA なので 4DA を入力しています。

これで日本語テキストデータ追加時の各言語のオフセットデータの値を再計算します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、Sheet3 にインポートされたテキストデータ(バイナリデータ)をコピー、Sheet2 の同じセルに Sheet3 のテキストデータ(バイナリデータ)を上書き貼り付け、Sheet1 のセル G10 を 0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルの日本語テキストバイナリデータサイズ(16進数)に書き換え(今回の場合は 0x4DA なので 4DA)、計算後のオフセットデータがあるグリーンセル T2 から W19 までコピー

計算後のオフセットデータがあるグリーンセル(ここではセル T2:W19)をコピーして、コピー元である lh2 ファイルの 6言語オフセットデータがある個所に上書き貼り付けして書き換えます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、Sheet3 にインポートされたテキストデータ(バイナリデータ)をコピー、Sheet2 の同じセルに Sheet3 のテキストデータ(バイナリデータ)を上書き貼り付け、Sheet1 のセル G10 を 0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルの日本語テキストバイナリデータサイズ(16進数)に書き換え(今回の場合は 0x4DA なので 4DA)、計算後のオフセットデータがあるグリーンセル T2 から W19 までコピー、Excel でコピーしたデータを FavBinEdit に貼り付ける際に表示されるメッセージ「クリップボードの文字列が HEX データに変換可能です。HEX データとして貼り付けますか?」→はいボタンをクリック

Excel でコピーしたセルデータを FavBinEdit に貼り付ける際に「クリップボードの文字列が HEX データに変換可能です。HEX データとして貼り付けますか?」というメッセージが表示されますが、はいボタンをクリックすると貼り付けることができます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、Sheet3 にインポートされたテキストデータ(バイナリデータ)をコピー、Sheet2 の同じセルに Sheet3 のテキストデータ(バイナリデータ)を上書き貼り付け、Sheet1 のセル G10 を 0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルの日本語テキストバイナリデータサイズ(16進数)に書き換え(今回の場合は 0x4DA なので 4DA)、計算後のオフセットデータがあるグリーンセル T2 から W19 までコピー、Excel でコピーしたデータを FavBinEdit に貼り付ける際に表示されるメッセージ「クリップボードの文字列が HEX データに変換可能です。HEX データとして貼り付けますか?」→はいボタンをクリック、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 の English ~ Russian までの Text ID オフセットデータ書き換え

オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 の English ~ Russian 全 6言語のオフセットデータ(アドレス 0x500x16F)を書き換えたところです。

次にオフセット修正後の lh2 ファイルのファイルサイズとフッターデータのアドレスがあるバイナリデータを書き換えます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、Sheet3 にインポートされたテキストデータ(バイナリデータ)をコピー、Sheet2 の同じセルに Sheet3 のテキストデータ(バイナリデータ)を上書き貼り付け、Sheet1 のセル G10 を 0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルの日本語テキストバイナリデータサイズ(16進数)に書き換え(今回の場合は 0x4DA なので 4DA)、計算後のオフセットデータがあるグリーンセル T2 から W19 までコピー、Excel でコピーしたデータを FavBinEdit に貼り付ける際に表示されるメッセージ「クリップボードの文字列が HEX データに変換可能です。HEX データとして貼り付けますか?」→はいボタンをクリック、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 の English ~ Russian までの Text ID オフセットデータ書き換え、Excel ファイル Sheet1 セル G20 の LH2 File Size(LE) バイナリデータコピー

Excel ファイルの Sheet1 にあるグリーンセル G20 の LH2 File Size(LE) バイナリデータをコピーします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、Sheet3 にインポートされたテキストデータ(バイナリデータ)をコピー、Sheet2 の同じセルに Sheet3 のテキストデータ(バイナリデータ)を上書き貼り付け、Sheet1 のセル G10 を 0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルの日本語テキストバイナリデータサイズ(16進数)に書き換え(今回の場合は 0x4DA なので 4DA)、計算後のオフセットデータがあるグリーンセル T2 から W19 までコピー、Excel でコピーしたデータを FavBinEdit に貼り付ける際に表示されるメッセージ「クリップボードの文字列が HEX データに変換可能です。HEX データとして貼り付けますか?」→はいボタンをクリック、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 の English ~ Russian までの Text ID オフセットデータ書き換え、Excel ファイル Sheet1 セル G20 の LH2 File Size(LE)バイナリデータコピーして、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 のウォッチデータ 0003_ds3_dlc_epilogue_frontend.lh2 File Size(Awakened English)に上書き貼り付け

オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 ファイルのアドレス 0x40x7 にある ウォッチデータ 0003_ds3_dlc_epilogue_frontend.lh2 File Size(Awakened English) に、Excel の Sheet1 からコピーしたセル G20 を上書き貼り付けして書き換えます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、Sheet3 にインポートされたテキストデータ(バイナリデータ)をコピー、Sheet2 の同じセルに Sheet3 のテキストデータ(バイナリデータ)を上書き貼り付け、Sheet1 のセル G10 を 0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルの日本語テキストバイナリデータサイズ(16進数)に書き換え(今回の場合は 0x4DA なので 4DA)、計算後のオフセットデータがあるグリーンセル T2 から W19 までコピー、Excel でコピーしたデータを FavBinEdit に貼り付ける際に表示されるメッセージ「クリップボードの文字列が HEX データに変換可能です。HEX データとして貼り付けますか?」→はいボタンをクリック、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 の English ~ Russian までの Text ID オフセットデータ書き換え、Excel ファイル Sheet1 セル G20 の LH2 File Size(LE)バイナリデータコピーして、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 のウォッチデータ 0003_ds3_dlc_epilogue_frontend.lh2 File Size(Awakened English)に上書き貼り付け、Excel ファイル Sheet1 セル G21 の Footer Address(LE) バイナリデータコピー

Excel ファイルの Sheet1 にあるグリーンセル G21 の Footer Address(LE) バイナリデータをコピーします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、Awakened 用オフセット計算 Excel ファイルを開き Excel メニュー → データからテキストまたは CSV からボタンをクリック、インポートしたいCSV またはテキストファイルを選択して区切り記号にコンマ、データ型検出を最初の 200 行に基づくからデータ型を検出しないに変更(0000 → 0 に変換されてしまうため)にしてデータの変換ボタンをクリック、Power Query エディターが開くのでメニューバーにある閉じて読み込むボタンをクリック、Sheet3 にインポートされたテキストデータ(バイナリデータ)をコピー、Sheet2 の同じセルに Sheet3 のテキストデータ(バイナリデータ)を上書き貼り付け、Sheet1 のセル G10 を 0003_ds3_dlc_epilogue_frontend.lh2 日本語化ファイルの日本語テキストバイナリデータサイズ(16進数)に書き換え(今回の場合は 0x4DA なので 4DA)、計算後のオフセットデータがあるグリーンセル T2 から W19 までコピー、Excel でコピーしたデータを FavBinEdit に貼り付ける際に表示されるメッセージ「クリップボードの文字列が HEX データに変換可能です。HEX データとして貼り付けますか?」→はいボタンをクリック、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 の English ~ Russian までの Text ID オフセットデータ書き換え、Excel ファイル Sheet1 セル G20 の LH2 File Size(LE)バイナリデータコピーして、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 のウォッチデータ 0003_ds3_dlc_epilogue_frontend.lh2 File Size(Awakened English)に上書き貼り付け、Excel ファイル Sheet1 セル G21 の Footer Address(LE) バイナリデータコピーして、オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 のウォッチデータ Jump to address Footer 0x185B に上書き貼り付け

オリジナル版 0003_ds3_dlc_epilogue_frontend.lh2 ファイルのアドレス 0xC0xF ウォッチデータ Jump to address Footer 0x185B に、Excel の Sheet1 からコピーしたセル G21 を上書き貼り付けして差し替えます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、0115_ds3_dlc_epilogue.lh2.xlsx ファイルでリトルエンディアンに変換した各言語の修正後オフセットデータセルをコピーして FavBinEdit に貼り付けるとき、コピーしたセルに空白セルがあると HEX データとして正しく貼り付けられないことがあるので、一度テキストエディタに貼り付けて再度コピーして FavBinEdit に貼り付けることで対処

なお、0115_ds3_dlc_epilogue.lh2.xlsx ファイルでは上の画像のように、範囲選択で空白セル含む状態でコピーして FavBinEdit に貼り付けるとき、HEX データとして貼り付けることができません。(HEX データとして貼り付ける際に表示される FavBinEdit の確認メッセージ が表示されない)

対策として一度テキストエディタに貼り付けてから再度コピーすることで、HEX データ としてFavBinEdit に貼り付けることができます。

以上が DLC Awakened lh2 ファイルのオフセット・テキストデータ・ファイルサイズ・フッターアドレスデータを正規表現と Excel を使って追加・修正する方法となります。

完成した lh2 ファイルを、アンパックした str ファイルに含まれている元の lh2 ファイル と差し替えて str ファイルにリパックstr ファイルにリパックしたファイル も同様に アンパックした map_epilogue.viv ファイルに含まれている元の str ファイル と差し替えて、map_epilogue.viv ファイルにリパック して一連のテキストデータ差し替えは完了となります。

オリジナルの map_epilogue.viv ファイルをリパックした map_epilogue.viv に差し替えてゲームが起動できるかどうか、置き換えたテキストが表示されるかどうか、文字化けが発生しないかどうかをチェックします。

以下、DLC Awakened の一部の字幕テキストを書き換えたスクリーンショットを公開します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータ書き換え方法(DEAD SPACE 3 Awakened 用)、lh2 ファイルバイナリデータ日本語テキスト書き換え後スクリーンショット

lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説

DEAD SPACE 3 Awakened の lh2 ファイルのバイナリデータを書き換えるために使用した Excel ファイル で使った関数や数式について解説します。

PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析データ(2022年1月30日版)DS3_ENJP_parse.7z ファイルAwakened_JP.exe\OffsetData\xlsx フォルダに各 lh2 ファイル(0186_ds3_dlc_epilogue_global.lh2、0115_ds3_dlc_epilogue.lh2、0003_ds3_dlc_epilogue_frontend.lh2)に対応した Excel ファイルを 3つ用意しています。

これはそれぞれの lh2 ファイルで再計算対象のオフセットデータの数が違うためファイルを分けています。計算に必要な関数や数式についてはどの Excel ファイルでも全く同一のもので構成させています。

ここではオフセットデータ数が一番少ない 0003_ds3_dlc_epilogue_frontend.lh2.xlsx ファイルを使って説明します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、Sheet2 にある 16進数オフセットデータをセル参照、リトルエンディアンのため MID 関数で並び替えて HEX2DEC 関数で 10進数に変換

Sheet1 の A 列から D 列(セル A2:D19)には Sheet2 にある 16進数オフセットデータをセル参照しています。(Sheet2 は Sheet3 でインポートしたオフセットテキストデータを上書きしたものに反映

オフセットデータはリトルエンディアンのため、MID 関数で並び替えて HEX2DEC 関数で計算用に 10進数に変換しています。

E 列でオフセットデータに対応する言語を手入力でメモしています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、DLC Awakened の 0003_ds3_dlc_epilogue_frontend.lh2 ファイルの各バイナリデータサイズ(16進数と 10進数、10進数は HEX2DEC 関数を使用)

セル F2:H16 では DLC Awakened の 0003_ds3_dlc_epilogue_frontend.lh2 ファイル内の各バイナリデータのサイズを入力しています。サイズの調べ方は FavBinEdit で解析・作成したウォッチデータでバイナリデータを範囲選択してサイズを調べたものです。

G 列に 16進数で入力、H 列に HEX2DEC 関数を使用して計算用に 10進数変換しています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、太文字が lh2 ファイルによって可変(Header と Footer Size は固定)、各言語の Text ID Offset Size はファイルごとに同じサイズで固定、オレンジセルの JP Data Size は lh2 日本語テキストバイナリデータサイズを入力(手動で入力するセルはここだけ)、残りの ~ Data Size はドイツ語(DE)以降の各言語先頭 Text ID Offset の差分でも求められる(ロシア語(RU)のみ次の言語がなく差分計算ができないため、Footer があるバイナリデータまでが RU Data Size となる)

セル G3:G15 で 16進数が太字になっているものは lh2 ファイルによってサイズが異なります。セル G2 の Header Size とセル G16 の Footer Size は固定サイズです。

オレンジセル(セル G10)は 英語から日本語テキストに書き換えたことにより、テキストサイズに変更 があったので目安としてセルに色を付けています。日本語テキスト内容を追加・削除などがあってサイズが変更した場合は必ず入力する部分です。これ以外のセルでは手入力する必要はありません。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、Header Size から Footer Size までの 10進数数値を SUM 関数で合計し LH2 File Size を計算

セル H17 で lh2 ファイルサイズを計算しています。

セル H2:H16 の Header Size から Footer Size までの各 10進数数値を SUM 関数で合計を求めています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、Header から Footer Size までの 10進数数値を SUM 関数で合計し DEX2HEX 関数で 16進数 8桁(4バイト)に変換して LH2 File Size を計算

セル H17 で計算した lh2 ファイルサイズ 10進数を、DEX2HEX 関数で 16進数 8桁(4バイト)に変換しています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、Header から RU Data Size までの 10進数数値を SUM 関数で合計し Footer Data のアドレスを計算

セル H18 で Footer Data があるアドレスを計算しています。

ここではセル H2 Header Size からセル H15 の RU Data Size までの 10進数数値を、SUM 関数で合計を求めることで Footer Data のアドレスを計算しています。

別の計算方法として lh2 ファイルサイズ(0x1A0B)から Footer Size0x30 を差し引くことでも求めることができます。(0x1A0B - 0x30 = 0x19DB

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、Header から RU Data Size までの 10進数数値を SUM 関数で合計し DEX2HEX 関数で 16進数 8桁(4バイト)に変換して Footer Data のアドレスを計算

セル H18 で計算した Footer Data のアドレス 10進数を、DEX2HEX 関数で 16進数 8桁(4バイト)に変換しています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、計算した 16進数 8桁(4バイト) LH2 File Size を MID 関数を使ってリトルエンディアンに変換、LH2 ファイル先頭ウォッチデータ ~.lh2 File Size ~ 書き換え

計算した 16進数 8桁(4バイト) lh2 ファイルサイズ(セル G17)を MID 関数を使ってリトルエンディアンに変換しています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、計算した 16進数 8桁(4バイト) Footer Address を MID 関数を使ってリトルエンディアンに変換、LH2 ファイル2番目ウォッチデータ Jump to address Footer 0x~ 書き換え

計算した 16進数 8桁(4バイト) Footer Data アドレス(セル G18)を MID 関数を使ってリトルエンディアンに変換しています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、日本語テキストのオフセットデータ修正、日本語テキストの各オフセットデータ(セル A2:D4)(10進数)にドイツ語(DE)からロシア語(RU)までのオフセットサイズ(セル $H$5:$H$9)(10進数)を合計したものを加えて修正
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、日本語テキストのオフセットデータ修正、日本語テキストの各オフセットデータ(セル A2:D4)(10進数)にドイツ語(DE)からロシア語(RU)までのオフセットサイズ(セル $H$5:$H$9)(10進数)を合計したものを加えて修正

セル J2:M4 では リパックした日本語化 lh2 ファイル のオフセットデータ(セル A2:D4)を再計算で修正しています。

リパックした日本語化 lh2 ファイル では 1言語分のオフセットデータしかないため、ほかの 5言語のオフセットデータ分が抜けています。

そのため、日本語テキストの各オフセットデータ(セル A2:D4)(10進数)に、抜けているドイツ語(DE)からロシア語(RU)までのオフセットサイズ(セル $H$5:$H$9)(10進数)を合計したものを加えて、オフセットデータ(セル J2:M4)を再計算しています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、日本語テキストのオフセットデータ修正、日本語テキストの各オフセットデータ(セル A2:D4)(10進数)にドイツ語(DE)からロシア語(RU)までのオフセットサイズ(セル $H$5:$H$9)(10進数)を合計したものを加えて調整後、ドイツ語(DE)先頭オフセットデータ(セル A5)を、修正した日本語先頭オフセットデータ(セル J2)(10進数)と日本語テキストデータサイズ(セル H10)(10進数)を合計したものに修正

日本語テキストオフセットデータ(セル J2:M4)を再計算で修正したことにより、以降のすべての言語のオフセットデータもずれることになるため再計算の対象となります。

ドイツ語(DE)先頭オフセットデータ(セル A5)を、再計算した日本語先頭オフセットデータ(セル J2)(10進数)と日本語テキストデータサイズ(セル H10)(10進数)を合計したものに修正します。

このドイツ語(DE)先頭オフセットデータ(セル J5)を計算の起点として、残りの言語のオフセットデータも修正します。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、日本語テキストのオフセットデータ修正、日本語テキストの各オフセットデータ(セル A2:D4)(10進数)にドイツ語(DE)からロシア語(RU)までのオフセットサイズ(セル $H$5:$H$9)(10進数)を合計したものを加えて調整後、ドイツ語(DE)先頭オフセットデータ(セル A5)を、修正した日本語先頭オフセットデータ(セル J2)(10進数)と日本語テキストデータサイズ(セル H10)(10進数)を合計したものに修正後、インポートしたドイツ語(DE)2番目以降のすべての各オフセットデータ(セル B5 ~ D19 まで)(10進数)の計算方法は、ドイツ語(DE)先頭オフセットデータ(セル A5)(10進数)の絶対参照(セル $A$5)で差し引き(差分取得)、修正後のドイツ語(DE)先頭オフセットデータ(セル J5)(10進数)を絶対参照(セル $J$5)で加える、これをロシア語(RU)終端データ(セル D19)まで計算を続ける
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、日本語テキストのオフセットデータ修正、日本語テキストの各オフセットデータ(セル A2:D4)(10進数)にドイツ語(DE)からロシア語(RU)までのオフセットサイズ(セル $H$5:$H$9)(10進数)を合計したものを加えて調整後、ドイツ語(DE)先頭オフセットデータ(セル A5)を、修正した日本語先頭オフセットデータ(セル J2)(10進数)と日本語テキストデータサイズ(セル H10)(10進数)を合計したものに修正後、インポートしたドイツ語(DE)2番目以降のすべての各オフセットデータ(セル B5 ~ D19 まで)(10進数)の計算方法は、ドイツ語(DE)先頭オフセットデータ(セル A5)(10進数)の絶対参照(セル $A$5)で差し引き(差分取得)、修正後のドイツ語(DE)先頭オフセットデータ(セル J5)(10進数)を絶対参照(セル $J$5)で加える、これをロシア語(RU)終端データ(セル D19)まで計算を続ける

インポートしたドイツ語(DE)2番目以降のすべての各オフセットデータ(セル B5 ~ D19 まで)(10進数)の再計算方法は以下の通りです。

上の画像のセル K5(ドイツ語(DE)2番目のオフセットデータ)での計算式は、インポートしたドイツ語(DE)2番目のオフセットデータ(セル B5)を、ドイツ語(DE)先頭オフセットデータ(セル A5)(10進数)の絶対参照(セル $A$5)で差し引いて差分を求めます。

差分結果を、修正後のドイツ語(DE)先頭オフセットデータ(セル J5)(10進数)を絶対参照(セル $J$5)で加えたものにして修正します。

あとはロシア語(RU)終端データ(セル D19)まで計算を続けます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、各言語の修正後オフセットデータ(セル J2:M19)を DEC2HEX 関数で 16進数 8桁(4バイト)バイナリデータに変換

各言語の修正後オフセットデータ(セル J2:M19)を、DEC2HEX 関数で 16進数 8桁(4バイト)バイナリデータに変換しています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 3 Awakened 日本語化ファイル解析メモとアンパック・解析データ公開、lh2 ファイルバイナリデータオフセット書き換え用 Excel ファイル解説、各言語の修正後オフセットデータ(セル J2:M19)を DEC2HEX 巻子で 16進数 8桁(4バイト)バイナリデータに変換後、MID 関数を使ってリトルエンディアンに変換、LH2 ファイルの各言語のウォッチデータ ~ Text ID Offset ~ 書き換え

各言語の修正後オフセットデータ(セル J2:M19)を DEC2HEX 関数で 16進数 8桁(4バイト)バイナリデータに変換したセル O2:R19 を、MID 関数を使ってリトルエンディアンに変換しています。

PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開

PC ゲーム DEAD SPACE 2(2011)日本語化ファイルの解析内容とアンパック・解析データ PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析データ(2022年1月30日版)DS2_ENJP_parse.7z ファイル を公開します。

解析データのフォーマットや解析方法などは DEAD SPACE 3 とほぼ同じ内容が多いため、説明内容に重複する部分があります。ただ、DS3 アンパック・リパックキット がそのままでは使えないところがある点(バッチファイル書き換えで対応可)と、ツール単体でアンパック・リパックを実行する場合はバッチファイルの記述が別途必要な点があります。

解析ファイル内容については以下のリストにまとめました。解析データについては各セクションで説明します。

~.DAT ファイルアンパック方法

DEAD SPACE 2 の~.DAT ファイルをアンパックする方法です。DEAD SPACE 3 の ~.viv ファイルをアンパックする方法とほぼ同じ 3つの方法でアンパック可能です。

特に理由がなければ 2つ目に紹介する Gibbed's Visceral Big Viewer でアンパックする方法がかんたんでしょう。

1つ目の方法は DS3 アンパック・リパックキットinit_repack.bat 実行 でアンパックしたい場合、init_repack.bat ファイルを以下のバッチスクリプトに書き換えて ~.DAT ファイルをドラッグ&ドロップすることでアンパックできます。

書き換え前の init_repack.bat ファイル との違いについては WinMerge で比較してみてください。

DS2DAT0.DAT ファイルアンパック用 init_repack.bat バッチスクリプト
@cd /d %0\..
@set PATH=%PATH%;.\tools\ds3strings;.\tools\gibbed.visceral;

@set UNPACK_DIR=unpack\DS2DAT
@set BACKUP_DIR=backup
@set TEMP_DIR=temp
@set ENTEXTFILE=f40cc683

@echo.
@echo ---------------------------------------------------------
@echo %1 を展開します。
@echo ---------------------------------------------------------

@echo off
IF EXIST %UNPACK_DIR% (
  @echo.
  @echo %UNPACK_DIR% フォルダを削除します。
  rmdir /s /q %UNPACK_DIR%
)
@echo on

Gibbed.Visceral.BigUnpack.exe -p="Dead Space 2" %1 %UNPACK_DIR%

@echo.
@echo ---------------------------------------------------------
@echo オリジナルのファイルをバックアップします
@echo ---------------------------------------------------------


copy /y %UNPACK_DIR%\text_assets\text\%ENTEXTFILE%.str %BACKUP_DIR%
copy /y %UNPACK_DIR%\text_assets\text_assets_global.str %BACKUP_DIR%

@echo.
@echo ---------------------------------------------------------
@echo テキストファイル%ENTEXTFILE%.strをtempフォルダーに展開します
@echo ---------------------------------------------------------

@echo off
IF NOT EXIST %BACKUP_DIR%\%ENTEXTFILE%.str (
  @echo.
  @echo ERROR: %ENTEXTFILE%.str が見つかりませんでした。
  @goto cancel
)
@echo on

Gibbed.Visceral.StrUnpack.exe %BACKUP_DIR%\%ENTEXTFILE%.str %TEMP_DIR%\%ENTEXTFILE%_unpacked

@echo.
:cancel
@echo 処理を終了します。
@pause
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、~.DAT ファイルアンパック方法、ds3jp_repack_kit_ver.0.5 フォルダにある bigviewer.bat か ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.BigViewer.exe 実行、Gibbed's Visceral Big Viewer 画面で左上にあるドロップダウンリストで Dead Space 2 を選択後、Open ボタンをクリックしてアンパック対象の DS2DAT0.DAT ファイルを開く、ツリーリストに Unknown の数値が 105 の状態かつ Known 以下に 3つのフォルダ名(audiostreams、text_assets、text)が表示されていることを確認して Save All ボタンをクリックして任意の場所にアンパック

2つ目の方法は ds3jp_repack_kit_ver.0.5 フォルダにある bigviewer.bat か ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.BigViewer.exe 実行して Gibbed's Visceral Big Viewer でアンパックする方法 です。

Gibbed's Visceral Big Viewer 画面で左上にあるドロップダウンリストで Dead Space 2 を選択 後、Open ボタンをクリックしてアンパック対象の DS2DATx.DAT ファイルを開きます。

ツリーリストに Unknown の数値が 105 の状態かつ、Known 以下に 3つのフォルダ名(audiostreams、text_assets、text)が表示されていることを確認して、Save All ボタンをクリックして任意の場所にアンパックします。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、~.DAT ファイルアンパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに DS2DAT0.DAT ファイルとアンパック用 bat ファイルを作成して配置(bat ファイル名は任意)

3つ目の方法は ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに以下のアンパック用 bat ファイル(ファイル名は任意)の作成とアンパック対象の DS2DATx.DAT ファイルを配置して、bat ファイルを使って Gibbed.Visceral.BigUnpack.exe でアンパックする方法 です。

以下のバッチスクリプトの引数では DS2DAT0.DAT をしているので、別の DAT ファイルをアンパックしたい場合は、アンパック対象のファイル名にあわせて書き換えます。

引数にアンパック先フォルダ(このバッチスクリプトでは DS2DAT0)を指定しないと、ルートドライブにアンパックされるため注意してください。

DS2DAT0.DAT ファイルアンパック用 Gibbed.Visceral.BigUnpack.exe 実行バッチスクリプト(~.bat)
Gibbed.Visceral.BigUnpack.exe -p="Dead Space 2" DS2DAT0.DAT DS2DAT0
pause
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、~.DAT ファイルアンパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに DS2DAT0.DAT ファイルとアンパック用 bat ファイルを作成して配置(bat ファイル名は任意)、コマンドプロンプト画面が表示されてアンパック処理完了

作成したバッチファイル実行後にコマンドプロンプト画面が表示されてアンパック処理開始~完了です。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、~.DAT ファイルアンパック方法、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに DS2DAT0.DAT ファイルとアンパック用 bat ファイルを作成して配置(bat ファイル名は任意)、コマンドプロンプト画面が表示されてアンパック処理完了後、ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダに展開された DS2DAT0 フォルダ

作成したバッチファイルによる DAT ファイルアンパック処理完了後、ds3jp_repack_kit_ver.0.5 フォルダ内に生成された DS2DAT0 フォルダ(バッチスクリプトの引数で指定したもの)です。このフォルダにアンパックしたファイルが含まれます。

アンパックした DS2DAT0.DAT ファイル比較(オリジナル版と日本語化ファイル)

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした DS2DAT0.DAT ファイル比較(オリジナル版と日本語化ファイル)、オリジナル版と DS2JP1080.exe の WinMerge 比較結果は text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)と text_assets\text フォルダの f40cc683.str(オリジナルは英語テキスト)ファイル、それ以外の差分がある日本語化ファイルにはデータ終端に連続した 00 データを付加(おそらくリパック時に付加された 00 データと思われる)

こちらの画像はオリジナル版と日本語化ファイル(DS2JP1080.exe)を適用した DS2DAT0.DAT ファイルをアンパック した後、WinMerge で比較した結果です。

text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)と text_assets\text フォルダの f40cc683.str(オリジナルは英語テキスト)ファイルに差分がある形となっています。

残りの差分ファイルは日本語化したファイルデータの終端に連続した 00 データを付加したのみです。おそらく、ツールによるリパック時に付加されたものと思われます。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした DS2DAT0.DAT ファイル比較(オリジナル版と日本語化ファイル)、DS2JP1080.exe と DS2JP720.exe の WinMerge 比較結果は text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)のみ、text_assets\text フォルダの f40cc683.str ファイルは DS2JP1080.exe と DS2JP720.exe で共通

日本語化ファイル DS2JP1080.exe と DS2JP720.exe を適用した DS2DAT0.DAT ファイルをアンパック した後、WinMerge で比較した結果です。

text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)のみ差分がある形となっています。

このことから日本語化ファイル DS2JP1080.exe と DS2JP720.exe では text_assets\text フォルダにある f40cc683.str(日本語テキスト)ファイルは同じものを使用していることになります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした DS2DAT0.DAT ファイル比較(オリジナル版と日本語化ファイル)、DS2JP720.exe と DS2JP720br.exe の WinMerge 比較結果は text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)と text_assets\text フォルダの f40cc683.str(オリジナルは英語テキスト)ファイル

日本語化ファイル DS2JP720.exe と DS2JP720br.exe を適用した DS2DAT0.DAT ファイルをアンパック した後、WinMerge で比較した結果です。

こちらは text_assets フォルダの text_assets_global.str ファイル(ビットマップフォント)と text_assets\text フォルダの f40cc683.str(オリジナルは英語テキスト)ファイルに差分がある形となっています。

このことから日本語化ファイル DS2JP720br.exe では text_assets\text フォルダにある f40cc683.str(日本語テキスト)ファイルは、DS2JP1080.exe と DS2JP720.exe とは異なるテキストファイルを使用していることになります。

~.DAT ファイルリパック方法

DEAD SPACE 2 の~.DAT ファイルをリパックする方法です。DEAD SPACE 3 の ~.viv ファイルをアンパックする方法とほぼ同じ 2つの方法でリパック可能です。

1つ目の方法は DS3 アンパック・リパックキットpack_all.bat 実行 でリパックしたい場合、pack_all.bat ファイルを以下のバッチスクリプトに書き換えて実行することでリパックできます。

この方法でリパックする条件として事前に DS3 アンパック・リパックキット init_repack.bat ファイル書き換え方法 でアンパックした DS2DAT0.DAT ファイルのみとなっています。

書き換え前の pack_all.bat ファイル との違いについては WinMerge で比較してみてください。

DS2DAT0.DAT ファイルリパック用 pack_all.bat バッチスクリプト
@cd /d %0\..
@set PATH=%PATH%;.\tools\ds3strings;.\tools\ds3strings\ds3csv_tool;.\tools\gibbed.visceral;

@rem テキストのスペース変換オプションの指定
@rem 利用する場合は以下のDS3CONVの変数に -c を指定する。
@rem 例 DS3CONV=-c
@set DS3CONV=-c

@rem DS3関連ファイル名
@set DS3TEXT_NAME=f40cc683
@set DS3TEXT=%DS3TEXT_NAME%.str
@set DS3FONT=text_assets_global.str
@set LH2TEXT=0000_deadspace2_global.en.lh2
@set BIGFILE=DS2DAT0.DAT

@rem 作業所csvファイル
@set DS3CSV=ds3jp.csv
@rem 日本語フォントstrファイル
@set DS3JPFONT=%DS3FONT%

@rem repack kit設定
@set DS3REPACK_SRC=jpn_src
@set DS3REPACK_TEMP=temp
@set DS3CSV_TOOL=tools\ds3strings\ds3csv_tool
@set DS3UNPACKED=unpack\DS2DAT
@set DS3UNPACKED_TEXTDIR=%DS3UNPACKED%\text_assets

@rem 作業所KEY&GID
@set SHEET_KEY=0Auy9IWcn8DvAdHk1cnlUVVlfTWJSamdNNWpoWV95MlE
@set SHEET_GID=6

@echo off
IF NOT EXIST tools\ds3strings\ds3strings.exe (
  @echo.
  @echo ERROR: ds3strings がインストールされていません。
  @goto cancel
)
@echo on

@echo.
@echo ---------------------------------------------------------
@echo ds3jp.csvから %LH2TEXT% ファイルを生成します
@echo ---------------------------------------------------------

@echo off
IF EXIST %DS3REPACK_SRC%\%LH2TEXT% (
  @echo %DS3REPACK_SRC% に %LH2TEXT% が見つかりました。%LH2TEXT% 作成はスキップされます。
  @copy /y %DS3REPACK_SRC%\%LH2TEXT% %DS3REPACK_TEMP%\%LH2TEXT%
  @goto skip_create_lh2
)

IF NOT EXIST %DS3REPACK_SRC%\%DS3CSV% (
  @echo.
  @echo %DS3REPACK_SRC% に %DS3CSV% が見つかりません。%DS3CSV% をダウンロードします。
  cscript //nologo .\tools\csvget.vbs %SHEET_KEY% %SHEET_GID% %DS3REPACK_SRC%\%DS3CSV%
)

IF NOT EXIST %DS3REPACK_SRC%\%DS3CSV% (
  @echo.
  @echo ERROR: %DS3CSV% のダウンロードに失敗しました。
  @goto cancel
)
@echo on

@rem 作業所のCSVに1,2カラムのデータを追加する。
merge_column %DS3CSV_TOOL%\1-2_Column.csv %DS3REPACK_SRC%\%DS3CSV% %DS3REPACK_TEMP%\ds3jp_merged.csv

@rem ds3stringsの入力CSV形式へ変換
ds3csv_tool %DS3CONV% %DS3REPACK_TEMP%\ds3jp_merged.csv %DS3CSV_TOOL%\0000_ds3_global.jp.csv

@rem ds3stringsでlh2へpack
ds3strings -p %DS3CSV_TOOL%\0000_ds3_global.jp.csv %DS3REPACK_TEMP%\%LH2TEXT%

@echo off
IF NOT EXIST %DS3REPACK_TEMP%\%LH2TEXT% (
  @echo ERROR: %LH2TEXT% が作成できませんでした。
  @goto cancel
)
@echo on

:skip_create_lh2

@echo.
@echo ---------------------------------------------------------
@echo f40cc683.strを生成します
@echo ---------------------------------------------------------

@echo off
IF NOT EXIST %DS3REPACK_TEMP%\%DS3TEXT_NAME%_unpacked (
  @echo ERROR: %DS3REPACK_TEMP%\%DS3TEXT_NAME%_unpacked フォルダが見つかりません。
  @goto cancel
)
@echo on

copy /y %DS3REPACK_TEMP%\%LH2TEXT% %DS3REPACK_TEMP%\%DS3TEXT_NAME%_unpacked\LH2

del %DS3REPACK_TEMP%\%DS3TEXT%

@rem f40cc683.strをpack
Gibbed.Visceral.StrPack.exe %DS3REPACK_TEMP%\%DS3TEXT_NAME%_unpacked %DS3REPACK_TEMP%\%DS3TEXT%

@echo off
IF NOT EXIST %DS3REPACK_TEMP%\%DS3TEXT% (
  @echo ERROR: %DS3TEXT% が作成できませんでした。
  @goto cancel
)
@echo on

@echo.
@echo ---------------------------------------------------------
@echo 日本語フォントファイルをコピーします
@echo ---------------------------------------------------------

@echo off
IF NOT EXIST %DS3REPACK_SRC%\%DS3JPFONT% (
  @echo ERROR: %DS3REPACK_SRC%\%DS3JPFONT% が見つからないためコピーを中止しました。
  @goto not_copy_jpn_font
)
@echo on
copy /y %DS3REPACK_SRC%\%DS3JPFONT% %DS3UNPACKED_TEXTDIR%

:not_copy_jpn_font

@echo.
@echo ---------------------------------------------------------
@echo DS2DAT0.DATをリパックします
@echo ---------------------------------------------------------

copy /y %DS3REPACK_TEMP%\%DS3TEXT% %DS3UNPACKED_TEXTDIR%\text

@echo off
IF EXIST %BIGFILE%.old (
  del %BIGFILE%.old
)
IF EXIST %BIGFILE% (
  ren %BIGFILE% %BIGFILE%.old
)
@echo on

Gibbed.Visceral.BigPack.exe %BIGFILE% %DS3UNPACKED%

@echo off
IF NOT EXIST %BIGFILE% (
  @echo ERROR: %BIGFILE% が作成できませんでした。
  @goto cancel
)
@echo on

@echo.
@echo ---------------------------------------------------------
@echo %BIGFILE%の作成が完了しました。リパックを終了します。
@echo ---------------------------------------------------------
@echo.

@goto done

@echo off
:cancel
@echo.
@echo ------ リパック処理を中止します。 ------
@echo.

:done
@pause
@echo on

2つ目の方法は ds3jp_repack_kit_ver.0.5 フォルダにある bigpack.bat ファイル、または ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.BigPack.exe ファイルに、リパック対象のフォルダをドラッグ&ドロップしてリパックする方法 です。

コマンドプロンプト画面が表示されてリパック処理完了後、リパック対象フォルダと同じフォルダ内にリパックされた viv ファイルが生成されますので、拡張子を DAT に変更します。

上記どちらかの方法でリパックした場合、DAT ファイル名はドラッグ&ドロップした時のフォルダ名のままとなりますので、元の DAT ファイル名と違う場合はリネーム(名前変更)で修正します。リパック後の DAT ファイルのリネーム作業をしないようにするには、リパックする前にフォルダ名をあらかじめ変更することになります。

~.str ファイルアンパック方法

DEAD SPACE 2 の~.str ファイルをアンパックする方法です。

DEAD SPACE 3 の~.str ファイルをアンパックする方法(cbdf7f70.str ファイルアンパック方法text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法)と同じ方法でアンパック可能です。

ds3jp_repack_kit_ver.0.5 フォルダにある strunpack.bat ファイル、もしくは ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrUnpack.exe ファイルに ~.str ファイルをドラッグ&ドロップすることでアンパックできます。

0000_deadspace2_global.en.lh2 ファイルアンパック・リパック方法

DEAD SPACE 2 の 0000_deadspace2_global.en.lh2 ファイルをアンパック・リパックする方法です。

0000_deadspace2_global.en.lh2 ファイルの csv ファイルへのアンパック方法は 2つあります。

1つ目は DEAD SPACE 3 の 0000_ds3_global.en.lh2 → csv ファイルアンパック方法 と同じ方法で、ds3strings_v1_3_0 フォルダにある lh2_unpack.bat ファイルに 0000_deadspace2_global.en.lh2 ファイルをドラッグアンドドロップする方法です。

もう 1つの方法は ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダに 0000_deadspace2_global.en.lh2 ファイルを配置して、以下の bat ファイルを作成(ファイル名は任意)して実行する方法 です。

アンパックされた csv ファイルにテキストデータがあるので、テキストエディタ(文字コード UTF-8)で編集できるようになります。

DEAD SPACE 2 - lh2 → csv ファイルアンパック用バッチスクリプト(~.bat)
ds3strings.exe -u 0000_deadspace2_global.en.lh2 0000_deadspace2_global.en.csv
pause

csv ファイルから 0000_deadspace2_global.en.lh2 ファイルへのリパック方法も 2つあります。

1つ目は DEAD SPACE 3 の csv → 0000_ds3_global.en.lh2 ファイルリパック方法 と同じ方法で、ds3strings_v1_3_0 フォルダにある lh2_pack.bat ファイルに csv ファイルをドラッグアンドドロップする方法です。

もう 1つの方法は ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダに csv ファイルとアンパック時に生成された dat ファイルがある状態で、以下の bat ファイルを作成(ファイル名は任意)して実行 してリパックする方法です。

どちらの方法でもアンパック時に生成された dat ファイルがないとリパックできない点に注意してください。

DEAD SPACE 2 - csv → lh2 ファイルリパック用バッチスクリプト(~.bat)
ds3strings.exe -p 0000_deadspace2_global.en.csv 0000_deadspace2_global.en.lh2
pause
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、日本語テキストデータ書き換えサンプルスクリーンショット

上の画像は csv ファイルに適当な字幕内容に編集後、ゲーム内で字幕編集個所を表示させたスクリーンショットです。編集した字幕がゲーム内で正常に表示されていることが確認できます。

やり方は csv から lh2 ファイルにリパックした 0000_deadspace2_global.en.lh2 ファイルを、アンパックした f40cc683.str ファイル に含まれている元の lh2 ファイル と差し替えて f40cc683.str ファイルにリパック

f40cc683.str ファイルにリパック したファイルを、アンパックした DS2DAT0.DAT ファイル に含まれている元の str ファイル と差し替えて DS2DAT0.DAT ファイルにリパック 後、ゲームインストール先にある DS2DAT0.DAT ファイルと差し替えています。

~.str ファイルリパック方法

アンパックした ~.str のファイル・フォルダ をリパックする方法です。

DEAD SPACE 3 と同じ方法で ds3jp_repack_kit_ver.0.5 フォルダにある strpack.bat ファイル、もしくは ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrPack.exe ファイルに、アンパックした ~.str ファイルのフォルダをドラッグ&ドロップすることでリパック できます。

アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(オリジナル版と DS2JP1080.exe)WinMerge 比較結果、比較結果は FFN・tg4d・tg4h 各フォルダにある russellsquare32・eurostileltstdbold32 のファイル名があるファイルで差分あり

こちらの画像はオリジナル版と日本語化ファイル(DS2JP1080.exe)を適用した DS2DAT0.DAT ファイルをアンパック した後、さらに双方の text_assets フォルダにある text_assets_global.str ファイルをアンパック したものを WinMerge で比較した結果です。

FFN・tg4d・tg4h 各フォルダにある russellsquare32 と eurostileltstdbold32 のファイル名があるファイルに差分がある形となっています。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(DS2JP1080.exe と DS2JP720.exe)WinMerge 比較結果、比較結果は FFN・tg4d・tg4h 各フォルダにある russellsquare32 のファイル名があるファイルで差分あり

日本語化ファイル DS2JP1080.exe と DS2JP720.exe を適用した DS2DAT0.DAT ファイルをアンパック した後、さらに双方の text_assets フォルダにある text_assets_global.str ファイルをアンパック したものを WinMerge で比較した結果です。

FFN・tg4d・tg4h 各フォルダにある russellsquare32 のファイル名があるファイルに差分がある形となっています。

このことから日本語化ファイル DS2JP1080.exe と DS2JP720.exe では eurostileltstdbold32 のファイル名があるファイルは、双方とも同じファイルを使用していることになります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE 2(2011)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(DS2JP720.exe と DS2JP720br.exe)WinMerge 比較結果、比較結果は FFN フォルダにある 0512_russellsquare32.inf と 0513_eurostileltstdbold32.inf ファイル

日本語化ファイル DS2JP720.exe と DS2JP720br.exe を適用した DS2DAT0.DAT ファイルをアンパック した後、さらに双方の text_assets フォルダにある text_assets_global.str ファイルをアンパック したものを WinMerge で比較した結果です。

FFN フォルダにある 0512_russellsquare32.inf と 0513_eurostileltstdbold32.inf ファイル名があるファイルに差分がある形となっています。

このことから日本語化ファイル DS2JP720.exe と DS2JP720br.exe では tg4d・tg4h 各フォルダにある russellsquare32 と eurostileltstdbold32 のファイル名があるファイルは、双方とも同じファイルを使用していることになります。

PC ゲーム DEAD SPACE(2008)日本語化ファイル解析メモとアンパック・解析データ公開

PC ゲーム DEAD SPACE(2008)日本語化ファイルの解析内容とアンパック・解析データ PC ゲーム DEAD SPACE(2008)日本語化ファイル解析データ(2022年1月30日版)DS1_ENJP_parse.7z ファイル を公開します。

解析データのフォーマットや解析方法などは DEAD SPACE 3DEAD SPACE 2 とほぼ同じ内容が多く、説明内容に重複する部分があります。大きな違いとしてはアーカイブファイル(~.viv、~.DAT)がないため、アンパック・リパックは str ファイルのみで完結するところです。

ちなみに 2017年の過去ログ(過去ログ 1過去ログ 2)に初代 DEAD SPACE に関する日本語化テキストおよびフォントに関するやり取りが残っています。

過去ログにあるレス内容の URL に、Dead Space 関連日本語化(リパック版)アップローダ にある日本語化ツール(2013年公開)より新しいバージョンと思われるツールやデータが公開されていたようですが、すべて期限切れのためかどれもダウンロードすることはできませんでした。

そのため 2022年3月時点では、2017年7月のレスを最後に更新していたと思われるツールやデータは公開されていないままとなっているようです。

解析ファイル内容については以下のリストにまとめました。解析データについては各セクションで説明します。

  • DS1_ENJP_parse.7z に格納されている English、DS1JP720.exe、DS1JP720br.exe、DS1JP1200.exe、DS1JP2160.exe 各フォルダについて
    • 各フォルダに日本語化パッチ適用前(English フォルダはオリジナル)・適用後(解像度別に DS1JP720.exe、DS1JP720br.exe、DS1JP1200.exe、DS1JP2160.exe フォルダに分類)のデータ抽出と解析データを格納(一部を除き、言語別・解像度別の重複データは除外)
  • DDSHeader フォルダについて
  • ds3strings フォルダについて
  • FavBinEdit フォルダについて
  • GlyphData フォルダについて
  • noesisv446 フォルダについて
    • Noesistex_DeadSpace123_PC_PS3_X360_tg4h.py(要ログイン)を使って、フォントファイル tg4h と tg4d から dds と png 形式ビットマップフォントファイルをエクスポート
    • DS1JP720br.exe の 0014_serpentinebold32.tg4h ファイルのみ 2か所のバイナリデータ(ファイルサイズ)が正しくないため、修正した 0014_serpentinebold32.tg4h ファイルを使ってエクスポートした dds・png ファイルを fix フォルダに格納(tg4h ファイルにある tg4d ファイルサイズのバイナリデータが正しくない場合 Noesis で画像ファイルが正常にエクスポートできない)
    • エクスポートした dds ファイルの実態は dds ヘッダー(128バイト)+ tg4d ファイルのファイル結合
    • 日本語ビットマップフォントは一部残して残りの重複分は除外
    • 関連項目
  • str_unpack フォルダについて
    • text_assets_global.str、6B0631DC.str をアンパックしたファイルを格納
    • text_assets_global_unpacked フォルダ(inf・tg4d・tg4h フォントファイル)と 6B0631DC_unpacked フォルダ(lh2 字幕ファイル)
    • 日本語化ファイルについてはオリジナル(English フォルダ)と差分があるファイルのみ抽出、重複ファイルは除外
    • 日本語化した lh2 言語ファイルは解像度関係なく共通(同じテキストデータ)
    • DS1JP720br.exe の 0014_serpentinebold32.tg4h ファイルのみ 2か所のバイナリデータ(ファイルサイズ)が正しくないため、fix フォルダに修正した 0014_serpentinebold32.tg4h ファイルを格納(tg4h ファイルにある tg4d ファイルサイズのバイナリデータが正しくない場合、Noesis で画像ファイルが正常にエクスポートできない)
    • オリジナル viv アンパック → オリジナル str アンパック → 日本語化 lh2・inf・tg4d・tg4h ファイル差し替え → str リパック → viv リパックの順序で日本語化可能
    • 関連項目
  • text_assets フォルダについて
    • オリジナル版と日本語化した text_assets_global.str と 6B0631DC.str(英語・日本語化)格納
  • copy_b-DDSHeader-tg4d-Output-DDS-Image.bat ファイルについて
    • DDSHeader フォルダの dds ヘッダーファイルと str_unpack フォルダの tg4d ファイルを、copy /b コマンドでファイル結合して dds ファイルを作成するバッチファイル
    • バッチファイル実行後、temp フォルダが作成されて dds ファイルを生成

~.str ファイルアンパック方法

DEAD SPACE の ~.str ファイルのアンパック方法は、DEAD SPACE 3 本編の str ファイルアンパック方法(cbdf7f70.str(lh2 言語ファイル内包)ファイルアンパック方法text_assets_global.str(ビットマップフォントファイル内包)ファイルアンパック方法)と同じやり方でアンパックできます。

0000_deadspace_global.en.LH2 ファイルアンパック・リパック方法

DEAD SPACE の 0000_deadspace_global.en.LH2 ファイルをアンパック・リパックする方法です。

0000_deadspace_global.en.LH2 ファイルの csv ファイルへのアンパック方法は 2つあります。

1つ目は DEAD SPACE 3 の 0000_ds3_global.en.lh2 → csv ファイルアンパック方法 と同じ方法で、ds3strings_v1_3_0 フォルダにある lh2_unpack.bat ファイルに 0000_deadspace_global.en.LH2 ファイルをドラッグアンドドロップする方法です。

もう 1つの方法は ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダに 0000_deadspace_global.en.LH2 ファイルを配置して、以下の bat ファイルを作成(ファイル名は任意)して実行する方法 です。

アンパックされた csv ファイルにテキストデータがあるので、テキストエディタ(文字コード UTF-8)で編集できるようになります。

DEAD SPACE - csv → lh2 ファイルリパック用バッチスクリプト(~.bat)
ds3strings.exe -u 0000_deadspace_global.en.LH2 0000_deadspace_global.en.csv
pause

csv ファイルの 0000_deadspace_global.en.LH2 ファイルへのリパック方法も 2つあります。

1つ目は DEAD SPACE 3 の csv → 0000_ds3_global.en.lh2 ファイルリパック方法 と同じ方法で、ds3strings_v1_3_0 フォルダにある lh2_pack.bat ファイルに csv ファイルをドラッグアンドドロップする方法です。

もう 1つの方法は ds3jp_repack_kit_ver.0.5\tools\ds3strings フォルダに csv ファイルとアンパック時に生成された dat ファイルがある状態で、以下の bat ファイルを作成(ファイル名は任意)して実行 してリパックする方法です。(アンパック時に生成された dat ファイルがないとリパックできない点に注意)

どちらの方法でもアンパック時に生成された dat ファイルがないとリパックできない点に注意してください。

DEAD SPACE - lh2 → csv ファイルリパック用バッチスクリプト(~.bat)
ds3strings.exe -p 0000_deadspace_global.en.csv 0000_deadspace_global.en.LH2
pause
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE(2008)日本語化ファイル解析メモとアンパック・解析データ公開、日本語テキストデータ書き換えサンプルスクリーンショット
PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE(2008)日本語化ファイル解析メモとアンパック・解析データ公開、日本語テキストデータ書き換えサンプルスクリーンショット

上の画像は csv ファイルに適当な字幕内容に編集後、ゲーム内で字幕編集個所を表示させたスクリーンショットです。編集した字幕がゲーム内で正常に表示されていることが確認できます。

やり方は csv から lh2 ファイルにリパックした 0000_deadspace_global.en.LH2 ファイルを、アンパックした 6B0631DC.str ファイル に含まれている元の lh2 ファイル と差し替えて 6B0631DC.str ファイルにリパック 後、ゲームインストール先 text_assets\text フォルダにある同名の 6B0631DC.str ファイルと差し替えます。

~.str ファイルリパック方法

アンパックした ~.str のファイル・フォルダ をリパックする方法です。

DEAD SPACE 3 と同じ方法で ds3jp_repack_kit_ver.0.5 フォルダにある strpack.bat ファイル、もしくは ds3jp_repack_kit_ver.0.5\tools\gibbed.visceral フォルダにある Gibbed.Visceral.StrPack.exe ファイルに、アンパックした ~.str ファイルのフォルダをドラッグ&ドロップすることでリパック できます。

アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE(2008)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(オリジナル版と DS1JP1200.exe)WinMerge 比較結果、比較結果は FFN・tg4d・tg4h 各フォルダにある russellsquare32・briemakademistdsemibold32・serpentinebold32・eurostileltstdbold32・rotissansserif32 のファイル名があるファイルで差分あり

こちらの画像はオリジナル版と日本語化ファイル DS1JP1200.exe を適用した text_assets_global.str ファイルをアンパック した後、WinMerge で比較した結果です。

FFN・tg4d・tg4h 各フォルダにある russellsquare32・briemakademistdsemibold32・serpentinebold32・eurostileltstdbold32・rotissansserif32 のファイル名があるファイルが、オリジナル版にあるファイルと異なる結果となっています。

FFN・tg4d・tg4h 各フォルダには元々 10つのファイルが含まれていますが、うち 5つのファイルに日本語フォントが組み込まれていることになります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE(2008)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(DS1JP1200.exe と DS1JP2160.exe)WinMerge 比較結果、比較結果は FFN・tg4d・tg4h 各フォルダにある russellsquare32 のファイル名があるファイルで差分あり

日本語化ファイル DS1JP1200.exe と DS1JP2160.exe を適用した text_assets_global.str ファイルをアンパック した後、WinMerge で比較した結果です。

FFN・tg4d・tg4h 各フォルダにある russellsquare32 のファイル名があるファイルのみ差分がある形となっています。

このことから日本語化ファイル DS1JP1200.exe と DS1JP2160.exe では FFN・tg4d・tg4h 各フォルダにある briemakademistdsemibold32・serpentinebold32・eurostileltstdbold32・rotissansserif32 のファイル名があるファイルは、同じファイルを使用していることになります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE(2008)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(DS1JP1200.exe と DS1JP720.exe)WinMerge 比較結果、比較結果は FFN・tg4d・tg4h 各フォルダにある russellsquare32 のファイル名があるファイルで差分あり

日本語化ファイル DS1JP1200.exe と DS1JP720.exe を適用した text_assets_global.str ファイルをアンパック した後、WinMerge で比較した結果です。

FFN・tg4d・tg4h 各フォルダにある russellsquare32 のファイル名があるファイルのみ差分がある形となっています。

このことから日本語化ファイル DS1JP1200.exe と DS1JP2160.exe および DS1JP720.exe では FFN・tg4d・tg4h 各フォルダにある briemakademistdsemibold32・serpentinebold32・eurostileltstdbold32・rotissansserif32 のファイル名があるファイルは、同じファイルを使用していることになります。

PC ゲーム旧版 DEAD SPACE シリーズ(2008~2013)日本語化ファイル解析情報、PC ゲーム DEAD SPACE(2008)日本語化ファイル解析メモとアンパック・解析データ公開、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(オリジナル版と日本語化ファイル)、アンパックした text_assets_global.str ファイル比較(DS1JP720.exe と DS1JP720br.exe)WinMerge 比較結果、比較結果は FFN・tg4d・tg4h 各フォルダにある briemakademistdsemibold32・rotissansserif32・serpentinebold32 ファイルと、FFN フォルダにある 0105_russellsquare32.inf・0108_eurostileltstdbold32.inf のファイル名があるファイルで差分あり

日本語化ファイル DS1JP720.exe と DS1JP720br.exe を適用した text_assets_global.str ファイルをアンパック した後、WinMerge で比較した結果です。

FFN・tg4d・tg4h 各フォルダにある briemakademistdsemibold32・rotissansserif32・serpentinebold32 ファイルと、FFN フォルダにある 0105_russellsquare32.inf・0108_eurostileltstdbold32.inf のファイル名があるファイルに差分がある形となっています。

このことから日本語化ファイル DS1JP1200.exe と DS1JP2160.exe、DS1JP720.exe と DS1JP720br.exeでは tg4d・tg4h 各フォルダにある russellsquare32・eurostileltstdbold32 のファイル名があるファイルは、同じファイルを使用していることになります。

awgs
Posted by awgs