アフィリエイト・アドセンス広告を利用しています。詳細は こちら

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法

PC ゲーム Dishonored - Definitive Edition には 日本語化ファイル がありますが、一部の DLC は翻訳されていません。

調べてみると 2013年の過去ログに残っている当時の有志翻訳者の書き込みによれば、DLC The Knife of Dunwall の一部のファイル DLC06_Tower_Script.upk(DLC 開始直後のセリフ字幕) を今までの日本語化作業通りアンパック → 英語字幕を日本語に翻訳 → リパックでゲームが落ちる現象が発生 してしまい、ここで翻訳作業がストップ。

最終的に翻訳 → リパック後のクラッシュ問題を解決することができず DLC The Knife of Dunwall の日本語化を中断、最後の DLC Dishonored: The Brigmore Witches も未着手のままとなってしまったようです。

ただ、DLC The Knife of Dunwall についてはセリフ字幕を管理している upk ファイルのみ発生した問題なので、字幕以外の日本語ファイル(INT)は問題なく日本語化できているようです。

ちょくちょく PC 版 Dishonored 日本語化関連情報や DLC の翻訳状況に関する情報をチェックしていましたが、2020年8月までこの DLC 字幕翻訳表示問題は未解決のままだったようです。

この問題についていろいろ調べてファイルを解析してみたところ手間はかかりますが、DLC The Knife of Dunwall において日本語字幕を表示することに成功しましたので、そのやり方を説明します。

なお、この記事では日本語字幕を表示できるようになる手順を説明するだけの内容となっています。翻訳はしてないので日本語字幕を表示するファイル公開はありません。字幕の翻訳作業は別途必要です。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)を日本語字幕で表示するのに必要なデータ・ツール

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 選択画面
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) タイトル画面

PC ゲーム Dishonored の DLC The Knife of Dunwall を日本語字幕を表示するために必要なデータとツールを以下まとめました。

英語版・中文化・日本語化で動作する各ゲームデータ(約 15GB×3)を用意し、さらに字幕データ特定のため DLC の upk ファイルをアンパックして作業することがあるため、十分な空き領域のあるストレージが必要です。

今回はすべての DLC が含まれている Steam 版 Dishonored - Definitive Edition のみの環境で動作確認しています。

  1. 英語版 Dishonored - Definitive Edition ゲームデータ
    • 中文化 するために英語版のゲームデータが必要
    • すでに日本語化済みでプレイできる状態であれば、ゲームデータ丸ごと別の場所にバックアップ、後で再利用
  2. 日本語化 済み Dishonored - Definitive Edition ゲームデータ
    • DLC で日本語字幕を表示するには、日本語化したゲームデータ(正確には日本語フォント)が必要
  3. Dishonored 中文化インストーラー
    • 英語版 Dishonored - Definitive Edition ゲームデータを中文化するため、ネットからダウンロードとインストールが必要
    • 中文化した DLC ファイルのバイナリデータを書き換えて日本語字幕を表示
  4. (オプション) Universal Extractor
  5. Unreal Package Decompressor (upk デコンプレスツール)(参考情報
    • 英語版 upk ファイルをアンパックするために Unreal Package Decompressor での前処理が必要(英語版 upk ファイルはセリフ字幕バイナリデータ特定のため使用するのみで、中文化セリフ字幕 → 日本語セリフ字幕作業ではファイル不要)
    • 同ツールは Dishonored 中文化インストーラー にも同梱済み
    • 中文化 upk ファイルでは upk デコンプレス不要
  6. Unreal Package Extractor (upk アンパックツール)
    • WinMerge で字幕バイナリデータ特定のため、英語版・中文化 upk ファイルをアンパック
    • 日本語化ファイル に同梱されているアンパックツール UPKunpack.exe でも可
    • 中文化 upk ファイルのバイナリを直接書き換えのためリパック作業は不要
    • upk ファイルをアンパックするとパス名が非常に長くなり、WinMerge などのツールで正しくファイル比較ができないことがあるので、なるべくルートドライブにフォルダ(X:\work など)を作成してそこでアンパックすることを推奨
  7. WinMerge
    • アンパックした英語版・中文化 upk 字幕ファイルのバイナリデータ比較(バイナリエディタの比較機能でも可能だがアンパック後のファイル数が非常に多いため、フォルダ内ファイルをまとめて比較できる WinMerge を推奨)
    • 英語セリフ字幕バイナリデータ → 中文化セリフ字幕バイナリデータの特定
  8. 日本語テキストデータ 16進数表記(UTF-16LE)に変換、それをバイナリデータとして上書き挿入できるバイナリエディタ
    • 中文化 upk ファイルのセリフ字幕個所のバイナリデータを、バイナリエディタを使って直接書き換え
    • 今回の作業では xedit を使用
    • バイナリエディタ Stirling ならキャラクターセットを Unicode にすることで、ASCII 部に直接日本語文字入力が可能とバイナリデータ UTF-16LE 形式に変換
    • 日本語 → UTF-16LE 変換にはオンラインサービス DenCode を利用

日本語字幕を表示するための大まかな作業手順は以下の通りです。

  1. 中文化したゲームデータから DLC の upk ファイルをコピー
  2. バイナリエディタで upk ファイルを直接開き、中国語セリフのバイナリデータを UTF-16LE 形式の日本語セリフ字幕に書き換え
  3. 日本語化済みのゲームデータに日本語セリフ字幕に書き換えた中文化 upk ファイルに差し替えて動作確認とセリフ表示チェック

PC ゲーム Dishonored 中文化ファイルインストール方法

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe をインストールするため、英語版 Dishonored フォルダごとコピー

中文化のため英語版 Dishonored - Definitive Edition のゲームデータを作業用フォルダにコピーします。

インストール先のゲームデータを直接中文化したり、そのまま中文化した状態でゲームプレイすることも可能ですが、最終的な動作確認には日本語化したゲームデータでゲームを起動する必要がある点に注意してください。

再ダウンロードや中文化、日本語化の手間を省くためにも、それぞれの言語状態のゲームデータをバックアップを取っておき、いつでも戻せる状態にしておくことを推奨します。(特に vbs を使った日本語化は時間がかかるため)

「Dishonored 漢化」 で検索すると 「【心得】 漢化分享 MEGA 載點」 というページが見つかるので、そのページに記載されている MEGA アップローダーリンクから DGOTYCNv1.4.exe ファイルをダウンロードしてインストールします。

Steam コミュニティガイド にも中文化ファイルのダウンロード先が公開されていますが、目的のファイルをダウンロードするのに専用アプリ?が必要なためブラウザからのダウンロードができません。

そのため別のユーザーが公開している MEGA アップローダーからダウンロードしたほうが余計なアプリを入れずに済み、目的のファイルを入手できます。

Steam コミュニティガイド では中文化ファイルのハッシュ値(MD5、SHA1、CRC32)を公開しているので、MEGA アップローダーからダウンロードしたファイルのハッシュ値と一致するかどうか確認してほうがよいでしょう。

以下、どちらかの手順で中文化します。動作確認はしていますが、ファイルの安全性を保証するものではありません。細心の注意を払ったうえでインストールしてください。

Dishonored 中文化インストーラー DGOTYCNv1.4.exe 実行

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 実行、DGOTYCNv1.4.exe セットアップ画面、下一歩ボタンをクリック

DGOTYCNv1.4.exe を実行してセットアップ画面が表示されたら、下一歩ボタンをクリックします。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 実行、DGOTYCNv1.4.exe セットアップ画面、我同意~ をクリックして下一歩ボタンをクリック

我同意~ をクリックして下一歩ボタンをクリックします。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 実行、DGOTYCNv1.4.exe セットアップ画面、下一歩ボタンをクリック

下一歩ボタンをクリックします。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 実行、DGOTYCNv1.4.exe セットアップ画面、英語版 Dishonored フォルダ選択画面
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 実行、DGOTYCNv1.4.exe セットアップ画面、英語版 Dishonored フォルダパス名を選択して下一歩ボタンをクリック

中文化対象の英語版 Dishonored フォルダを選択します。

インストール先フォルダを必ず指定する必要はなく、作業用フォルダにコピーした英語版 Dishonored フォルダ を指定しても問題ありません。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 実行、DGOTYCNv1.4.exe セットアップ画面、安装ボタンをクリックするとインストール開始

安装ボタンをクリックするとインストールが開始します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 実行、インストール中に表示されるコマンドプロンプト画面、subimport.exe 処理で 151 of 151 到達後キーを押して画面を閉じる

インストール中に表示されるコマンドプロンプト画面です。同梱のプログラム subimport.exe が処理して 151 of 151 に到達後、キーを押して画面を閉じます。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 実行、DGOTYCNv1.4.exe セットアップ画面、チェックボックスの内容が不明のためすべてのチェックマークを外して完成ボタンをクリック、セットアップ画面を閉じて Dishonored 中文化完了

チェックボックスの内容が不明のため、すべてのチェックマークを外して完成ボタンをクリックします。

セットアップ画面を閉じて Steam 版 Dishonored - Definitive Edition の中文化は完了です。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 実行、DGOTYCNv1.4.exe インストール後の英語版 Dishonored フォルダ内にある Sub_Import フォルダ、log.txt、Sub_Import.bat ファイル、汉化説明.rtf ファイルは不要になるため削除可

DGOTYCNv1.4.exe インストール後の英語版 Dishonored フォルダ内にある Sub_Import フォルダ、log.txt、Sub_Import.bat ファイル、汉化説明.rtf ファイルです。

中文化後はこれらのフォルダ・ファイルは不要なので削除して問題ありません。

インストール先フォルダにある英語版 Dishonored フォルダを、中文化した Dishonored フォルダに丸ごと差し替えれば中文化版 Dishonored をプレイできます。

中文化後、DLC 中文化 upk ファイルのバイナリデータを書き換え、日本語化済み Dishonored の同名ファイルと差し替え れば、日本語字幕を表示できるようになります。

Dishonored 中文化インストーラー DGOTYCNv1.4.exe を Universal Extractor で展開・解凍、Sub_Import.bat(subimport.exe) 実行

DGOTYCNv1.4.exe から必要なファイルを取り出してから中文化する方法です。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe を Universal Extractor で展開・解凍、Sub_Import.bat(subimport.exe) 実行、Universal Extractor を使って Dishonored 中文化インストーラー DGOTYCNv1.4.exe を展開・解凍

Universal Extractor を使って DGOTYCNv1.4.exe を展開・解凍します。

なお、Universal Extractor をデフォルトの状態から使用する際には、Inno Setup (innounp)の差し替え が必要です。(関連記事

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe を Universal Extractor で展開・解凍、Sub_Import.bat(subimport.exe) 実行、Dishonored 中文化インストーラー DGOTYCNv1.4.exe を Universal Extractor で展開・解凍後、{app} フォルダにある DishonoredGame フォルダ、Sub_Import フォルダ、Sub_Import.bat ファイルをコピー

DGOTYCNv1.4.exeUniversal Extractor で展開・解凍後、{app} フォルダにある DishonoredGame フォルダ、Sub_Import フォルダ、Sub_Import.bat ファイルをコピーします。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe を Universal Extractor で展開・解凍、Sub_Import.bat(subimport.exe) 実行、英語版 Dishonored フォルダにコピーした DishonoredGame フォルダ、Sub_Import フォルダ、Sub_Import.bat ファイルを上書き配置

作業用フォルダにコピーした英語版 Dishonored フォルダDGOTYCNv1.4.exe から抽出した DishonoredGame フォルダ、Sub_Import フォルダSub_Import.bat ファイルを上書き配置します。

ちなみに、DishonoredGame フォルダは中国語を表示するフォント upk ファイルや字幕以外の中国語を表示する int ファイルが入っているだけです。

そのため、日本語字幕を表示するのに必要な中文化 upk ファイルのみ入手するだけなら、Sub_Import フォルダSub_Import.bat ファイルで十分なので、DishonoredGame フォルダの上書きは不要です。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe を Universal Extractor で展開・解凍、Sub_Import.bat(subimport.exe) 実行、英語版 Dishonored フォルダにコピーした DishonoredGame フォルダ、Sub_Import フォルダ、Sub_Import.bat ファイルを上書き配置後、Sub_Import.bat ファイルを実行して中文化ファイルインストール

作業用フォルダにコピーした英語版 Dishonored フォルダDGOTYCNv1.4.exe から抽出した DishonoredGame フォルダ、Sub_Import フォルダ、Sub_Import.bat ファイルを上書き配置したら、Sub_Import.bat ファイルを実行します。

Sub_Import.bat 実行後、コマンドプロンプト画面 が表示されて中文化処理が動き、151 of 151 到達後キーを押して画面を閉じれば中文化完了です。Sub_Import フォルダ、Sub_Import.bat ファイルは不要になるので削除して問題ありません。

中文化後、DLC 中文化 upk ファイルのバイナリデータを書き換え、日本語化済み Dishonored の同名ファイルと差し替え れば、日本語字幕を表示できるようになります。

Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語フォント環境下での中文化スクリーンショット

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語フォント環境下での中文化スクリーンショット(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション)
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語フォント環境下での中文化スクリーンショット(The Knife of Dunwall - The Outsider 冒頭セリフ)
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語フォント環境下での中文化スクリーンショット(The Knife of Dunwall - 畜殺場棟(Slaughterhouse Row) Billie Lurk 冒頭セリフ)

Dishonored 中文化インストーラー DGOTYCNv1.4.exe手順 1 または 手順 2 の方法でインストール後、日本語化した Dishonored - Definitive EditionDishonoredGame\DLC\PCConsole にある DLC0(数字) フォルダに中文化した同名の DLC upk ファイルに差し替えることで、日本語フォントのまま中文化字幕を表示するようになります。

画像は DLC The Knife of Dunwall の NEW GAME 開始時に表示されるセリフ字幕の一部です。

字幕の □ 部分は日本語フォントに含まれていない文字のため表示されていません。

Dishonored 中文化インストーラー DGOTYCNv1.4.exe 展開・解凍、Sub_Import フォルダ内容

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 展開・解凍、Sub_Import フォルダ内容、各ファイルの役割(推測)、decompress.exe で英語版 Dishonored upk ファイルを処理(アンパック・リパックツールや処理はなし)、subimport.exe - Python プログラム exe 化?(同梱ファイル python27.dll、w9xpopen.exe、library.zip 中身の拡張子 pyc ファイル、拡張子 pyd ファイルから推測)、dis.db と texts.db - バイナリデータ処理内容?subimport.exe でデコンプレス(decompress.exe)した upk ファイルを dis.db と texts.db の内容でバイナリデータを処理(推測)、upklist.db - デコンプレス(decompress.exe)および中文化処理対象の upk ファイルリスト

Dishonored 中文化インストーラー DGOTYCNv1.4.exeUniversal Extractor で展開・解凍した際に生成される Sub_Import フォルダ内にあるファイルです。

それぞれのファイルは以下のように機能するものと推測されます。

decompress.exe は英語版 Dishonored の upk ファイルを処理するためのプログラムで、おそらく upk デコンプレスツールの Unreal Package Decompressor と同じものと思われます。

subimport.exe は同梱ファイル python27.dll、w9xpopen.exe、library.zip 中身の拡張子 pyc ファイル、拡張子 pyd ファイルから、Python プログラムを exe 化したものと思われます。

dis.db と texts.db はテキストエディタで内容が見れます。16進数の数値が記述してあることと、アンパック・リパックツールが含まれていないことから、subimport.exe でデコンプレス(decompress.exe)した upk ファイルを dis.db と texts.db の記述内容に従ってバイナリデータを書き換えているものと思われます。

upklist.db もテキストエディタで内容が見れて、記述内容からデコンプレス(decompress.exe)および中文化処理対象の upk ファイルリストと思われます。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 展開・解凍、Sub_Import フォルダ内容、subimport.exe 実行中のコマンドプロンプト画面
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored 中文化ファイルインストール方法、Dishonored 中文化インストーラー DGOTYCNv1.4.exe 展開・解凍、Sub_Import フォルダ内容、subimport.exe 処理中(コマンドプロンプト画面が表示されている間) Dishonored フォルダ内に unpacked フォルダが生成されてそこに decompress.exe で処理された upk ファイルが一時的に格納さえてバイナリデータを書き換え、バイナリデータ書き換え後は英語版 Dishonored の元のファイルと差し替えられて unpacked フォルダ内の upk ファイルは削除、すべての処理終了後は unpacked フォルダも削除

subimport.exe 処理中(コマンドプロンプト画面が表示されている間)に Dishonored フォルダ内に unpacked フォルダが生成されます。

そのフォルダ内に decompress.exe で処理された upk ファイルが一時的に格納されてバイナリデータを書き換えるようです。

バイナリデータ書き換え後は英語版 Dishonored の元のファイルと差し替えられて、unpacked フォルダ内の upk ファイルは削除されます。

すべての処理終了後は unpacked フォルダも削除されるという流れとなっているようです。

PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト

DLC The Knife of Dunwall 序盤のセリフ字幕を日本語で表示してみます。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、DishonoredGame\DLC\PCConsole\DLC06 フォルダにある DLC06_Tower_Script.upk ファイルをコピー

DGOTYCNv1.4.exe で中文化した Dishonored フォルダの DishonoredGame\DLC\PCConsole\DLC06 フォルダにある DLC06_Tower_Script.upk ファイルをコピーします。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、バイナリエディタ xedit で DLC06_Tower_Script.upk ファイルを開く

バイナリエディタで upk ファイルを開きます。今回は xedit を使用します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、xedit で upk ファイルを開いた時のメッセージ 「読み込み専用(パッチ編集)で開きますか?」 は、バイナリデータを書き換えるためいいえボタンをクリック

xedit でファイルを開く際に 「読み込み専用(パッチ編集)で開きますか?」 というメッセージが表示されますが、バイナリデータを書き換えるため 「いいえ」 ボタンをクリックします。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、xedit で upk ファイルを開いた後 Ctrl + F キーで検索・置換画面を表示、検索データに書き換え対象の中国語バイナリデータ(The Knife of Dunwall ゲーム開始時のメッセージ 「One more job shouldn't have mattered.」 と同一)の一部を入力して検索

xedit で upk ファイルを開いた後 Ctrl + F キーで検索・置換画面を表示します。

検索データに書き換え対象の中国語バイナリデータ(The Knife of Dunwall ゲーム開始時のメッセージ 「One more job shouldn't have mattered.」 と同一)を入力して検索します。

ここではセリフの一部のバイナリデータを入力して検索します。

英語セリフ字幕と同一内容の中国語セリフ字幕のバイナリデータの探し方については こちら で説明します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、xedit の検索機能では検索位置によっては 「データが見つかりません」 というメッセージが表示されることがあり、その場合は F3 キー(次を検索)や Ctrl + F3 キー(前を検索)で続けて検索することでみつかることがある

xedit の検索機能では検索位置によっては 「データが見つかりません」 というメッセージが表示されることがあります。

その場合は F3 キー(次を検索)や Ctrl + F3 キー(前を検索)で続けて検索することで、検索対象のバイナリデータがあれば見つかります。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、DLC06_Tower_Script.upk ファイル書き換え対象の中国語セリフ字幕バイナリデータ(The Knife of Dunwall ゲーム開始時のメッセージ 「One more job shouldn't have mattered.」)に移動

DLC06_Tower_Script.upk ファイルの書き換え対象、中国語セリフ字幕バイナリデータ(The Knife of Dunwall ゲーム開始時のメッセージ 「One more job shouldn't have mattered.」 と同一)に移動します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、バイナリデータ FF FF FF 以降からセリフ終端 4バイト除く(ここでは 00 00 E6 1C)バイナリデータが表示されるセリフ内容、日本語を UTF-16LE に変換して書き換え、セリフのバイナリデータ選択範囲は 0x18(24バイト)、日本語は 2バイト で1文字を表示するため、このセリフ箇所で表示できる日本語文字数は原則 12文字まで

バイナリデータ FF FF FF 以降からセリフ終端 4バイト除く(ここでは 00 00 E6 1C)バイナリデータが、表示されるセリフ字幕内容です。

表示させたい日本語を UTF-16LE変換 して書き換えます。

セリフのバイナリデータ選択範囲は 0x18(24バイト)、日本語は 2バイト で1文字を表示するため、このセリフ箇所で表示できる日本語文字数は原則 12文字までとなります。

upk ファイルの解析内容 から表示するセリフの文字数を増やせそうな気がしますが、バイナリデータの書き換え箇所が非常に多くなる上に動作する保証はないため、今回の記事では試していません。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、日本語を UTF-16LE に変換してコピー(区切りの有無や大文字・小文字は xedit では影響なし)、ここでは DenCode エンコード&デコード オンラインツールを使って 12文字の日本語を UTF-16LE に変換

16進数バイナリ文字列変換 日本語変換 Online の DenCode にアクセスして、UTF-16LE に選択されていることを確認して適当に日本語文字 12文字を入力します。

エンコード結果に表示された 16進数文字列をコピーします。

ここでは区切りを 2バイトごと、小文字が設定されていてエンコード結果に反映されていますが、これらの表記方法による違いはコピー先のバイナリエディタ xedit では気にしなくて大丈夫です。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、バイナリデータ FF FF FF 以降からセリフ終端 4バイト除く(ここでは 00 00 E6 1C) バイナリデータが表示されるセリフ内容を日本語 UTF-16LE に変換した日本語に書き換え

バイナリデータ FF FF FF 以降からセリフ終端 4バイト除く(ここでは 00 00 E6 1C)バイナリデータを、DenCode で日本語文字を UTF-16LE に変換してコピーした英数字を貼り付けて書き換えます。

この時セリフ終端 4バイト(ここでは 00 00 E6 1C) 以降のバイナリデータがズレないようにしてください。バイナリデータがズレてしまうと upk ファイル読み込み時にゲームがクラッシュしてしまいます。

ちなみに、バイナリエディタ Stirling ならキャラクターセットを Unicode にすることで、ASCII 部に直接日本語文字入力が可能とバイナリデータ UTF-16LE 形式に変換します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、The Knife of Dunwall ニューゲーム開始時のローディング画面、DLC06_Tower_Script.upk ファイルのバイナリ書き換えに問題がある場合はここでクラッシュまたはフリーズ

日本語セリフ字幕に書き換えた中文化 DLC06_Tower_Script.upk ファイルを、日本語化済み Dishonored フォルダの DishonoredGame\DLC\PCConsole\DLC06 フォルダにある同名ファイルと差し替えます。

ゲームを起動して DLC The Knife of Dunwall に切り替えて NEW GAME から始めます。

DLC06_Tower_Script.upk ファイルの場合、ファイルになにか問題があるとロード後の PRESS KEY 画面でゲームがクラッシュまたはゲームがフリーズします。今回はセリフ字幕バイナリデータを書き換えているので、バイナリデータが 1バイトでもズレているとおそらくほぼ確実にクラッシュします。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - DLC06_Tower_Script.upk 中文化ファイル、セリフ字幕バイナリデータ書き換えと日本語字幕表示テスト、日本語表示サンプルスクリーンショット

ゲームがクラッシュせずに日本語セリフ字幕が表示されたら成功です。

次に英語セリフ字幕と同一内容の中国語セリフ字幕のバイナリデータの探し方 について説明します。

PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法

先ほど中文化 upk ファイルの中文化セリフ字幕 → 日本語セリフ字幕を表示 する方法を説明しましたが、書き換え対象のセリフ字幕のバイナリデータは一定の手順を踏まないと見つけ出すことができません。

ここではそのセリフ字幕バイナリデータを見つけるための手順を説明します。

2021/11/13 追記

ZenHAXInternet Archive) にてテキストデータを抽出するツールを見つけましたので こちら で紹介します。テキストデータだけほしいのであればこちらのツールを使ったほうが楽です。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル、セリフ字幕イナリデータ調査方法と計算方法、decompress.exe で英語版 DLC06_Tower_Script.upk ファイルを処理、デコンプレスされた unpacked フォルダの英語版 DLC06_Tower_Script.upk ファイル

英語版 Dishonored - Definitive Edition ゲームデータ DishonoredGame\DLC\PCConsole フォルダの DLC0(数字) フォルダにある upk ファイル(ここでは DLC06_Tower_Script.upk を使用)を作業用フォルダにコピーします。

コピーした upk ファイルを upk デコンプレスツール Unreal Package Decompressor の decompress.exe にドラッグ&ドロップします。

uppacked フォルダが生成されて、その中にファイルサイズが増えた upk ファイルが入っていることを確認します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、デコンプレスされた英語版 DLC06_Tower_Script.upk ファイルを Unreal Package Extractor か UPKunpack.exe でアンパック

upk アンパックツール Unreal Package Extractor の extract.exe か 日本語化ファイル に含まれているアンパックツール UPKunpack.exe に、uppacked フォルダにある upk ファイルをドラッグ&ドロップします。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、デコンプレスされた英語版 DLC06_Tower_Script.upk ファイルを UPKunpack.exe でアンパック後生成された DLC06_Tower_Script フォルダ

uppacked フォルダにある upk ファイルがアンパックされて、フォルダ内に同名のフォルダ名(ここでは DLC06_Tower_Script フォルダ)が生成されていることを確認します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、中文化 DLC06_Tower_Script.upk ファイルを UPKunpack.exe でアンパック後生成された DLC06_Tower_Script フォルダ(中文化 DLC06_Tower_Script.upk ファイルのデコンプレスは不要)

次に中文化した同名の upk ファイル(DLC06_Tower_Script.upk)を同じように upk アンパックツール Unreal Package Extractor の extract.exe かアンパックツール UPKunpack.exe にドラッグ&ドロップしてアンパックします。

ちなみに中文化 upk ファイルでは Unreal Package Decompressor を使う必要はありません。

DLC 英語版 upk ファイルと中文化 upk ファイルをアンパックしたら、 WinMerge で DLC06_Tower_Script フォルダを比較します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、WinMerge - オプション(比較>バイナリ) - バイナリファイルとして扱うパターンに 「;*.DisConv_Blurb;*.DisConv_NonWord;*.UPKpkginfo」 を追加、該当する拡張子を比較した場合バイナリ形式で比較するようになる

WinMerge のオプション(比較>バイナリ) - バイナリファイルとして扱うパターンに 「;*.DisConv_Blurb;*.DisConv_NonWord;*.UPKpkginfo」 を追加します。

これでアンパックした Dishonored 用 upk ファイルで該当する拡張子を比較した場合にバイナリ形式で比較するようになります。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、WinMerge - オプション(比較>バイナリ) - Frhed 設定 - 表示設定、「自動的に 1 行あたりのバイト数を調整する」 チェックマークを外す

一緒に WinMerge のオプション(比較>バイナリ) - Frhed 設定 - 表示設定をクリックして、「自動的に 1 行あたりのバイト数を調整する」 のチェックマークを外して、1行あたりの表示バイト数の初期値 16 に固定します。

この設定をしておくことで比較結果のウィンドウサイズを変更しても、ほかのバイナリエディタと同じようにバイト表示数を固定できます。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、アンパックした英語版と中文化 DLC06_Tower_Script フォルダ WinMerge 比較結果、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル

DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイルが、DLC The Knife of Dunwall 開始時のセリフ字幕 「One more job shouldn't have mattered.」 に該当するファイルです。

基本的にアンパックした TheWorld フォルダ以下にある拡張子 .DisConv_Blurb ファイルのいずれかのファイルに、セリフ字幕が格納されているようです。

目的のセリフ字幕ファイルをピンポイントで見つけるには、grep 機能があるソフト(私の環境では 秀丸エディタ を使用)を使用したほうがよいでしょう。

連続したセリフ字幕は同じフォルダ内にまとまっているようなので、この場合だと DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある拡張子 .DisConv_Blurb ファイル群が 「One more job shouldn't have mattered.」 に続くセリフ字幕があるとみることができます。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDLC06DialogOneShot_0\DisDialogTree_OneShot_9\DisConversation_43 フォルダにある DisConv_Blurb_710.DisConv_Blurb ファイル(The Knife of Dunwall - The Outsider 冒頭セリフ) WinMerge 比較結果
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Slaughter_Ext_Assn\TheWorld\PersistentLevel\DisDLC06DialogOneShot_15\DisDialogTree_OneShot_14\DisConversation_72 フォルダにある DisConv_Blurb_710.DisConv_Blurb ファイル(The Knife of Dunwall - 畜殺場棟(Slaughterhouse Row) Billie Lurk 冒頭セリフ)の WinMerge 比較結果

ちなみに DLC06_Tower_Script\TheWorld\PersistentLevel\DisDLC06DialogOneShot_0\DisDialogTree_OneShot_9\DisConversation_43 フォルダにある DisConv_Blurb_710.DisConv_Blurb ファイルが、次のシーンで登場する The Outsider の冒頭セリフ字幕ファイル。

DLC06_Slaughter_Ext_Assn.upk ファイルアンパック後の DLC06_Slaughter_Ext_Assn\TheWorld\PersistentLevel\DisDLC06DialogOneShot_15\DisDialogTree_OneShot_14\DisConversation_72 フォルダにある DisConv_Blurb_710.DisConv_Blurb ファイルが、最初のステージ畜殺場棟(Slaughterhouse Row)開始時登場キャラ Billie Lurk 冒頭セリフ字幕ファイルとなっています。

次にセリフ字幕以外のバイナリデータが違う部分について判明している内容について説明します。

なお、セリフ字幕のバイナリデータの内容がわかれば、あとは中文化で表示できる文字数内に UTF-16LE に変換した 16進数の日本語に書き換えるだけなので、これ以降の説明はセリフ字幕書き換えにおいては覚えておく必要はありません。

必要となる可能性があるのは、セリフ字幕バイナリデータ書き換え以外に文字数(バイト数)を増やしたり新たにセリフ字幕ファイルを翻訳・追加することになった場合に、upk ファイルのバイナリデータ、サイズとオフセットの値を直接書き換える ときになるかと思われれます。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション) WinMerge 比較結果、アドレス 0x9B から 3バイト、英語版 00 00 00、中文化 FF FF FF

DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイルの WinMerge によるバイナリデータ比較結果です。

一見、アドレス 0x92 以降のバイナリデータの値がバラバラに見える結果となっていますが、これはアドレス 0x92 ~ セリフ終端 2バイト (ここでは e6 1c、ファイルによって値が異なる) (英語版アドレス 0xC5、中文化アドレス 0xB8) までが差分内容で、それ以降のバイナリデータは双方のファイルとも違いはありません。

そのため基本的にセリフ字幕先頭数バイト+セリフ字幕本体以外のバイナリデータは英語版・中文化ともに差分はなく、バイナリデータ書き換え対象は限定的になります。

セリフ字幕バイナリデータの手前、アドレス 0x9B から 3バイト分、英語版では 00 00 00、中文化では FF FF FF になっているのが確認できます。

基本的に Unreal Engine 3 時代のゲームでは 00 00 00 だと英語などの 1バイト言語、FF FF FF だと 2バイト言語という意味で判断していいようです。

なお、中文化ファイルの FF FF FF を含むアドレス 0x9A からの 4バイトは、セリフ字幕の文字数から値を計算 できます。計算方法については後ほど説明します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション) WinMerge 比較結果、英語版セリフ 38バイト+4バイト(26 00 00 00)=42バイト、アドレス 0x92 の値 0x2A(42) と一致
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション)WinMerge  比較結果、英語版セリフ 38バイト+4バイト(26 00 00 00)=42バイト、アドレス 0x92 の値 0x2A(42) と一致

英語版セリフ字幕ファイルのアドレス 0x92 の値が 2a(HEX) になっており、中文化セリフ字幕ファイルの同アドレスの値 1e(HEX) と異なっていますが、これはセリフ字幕の長さで値が変わります。

英語版セリフ字幕ファイルのアドレス 0x9A から 4バイト(26 00 00 00) + セリフ字幕分 38バイト(セリフ後のアドレス 0xC4 から 2バイト e6 1c はセリフ終端を示す値で字幕バイト数にカウントしない、ファイルによって値が異なる) = 42バイトとなります。

この 42バイトを 16進数に変換すると 2A(HEX) となってアドレス 0x92 の値 2a(HEX) と一致します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション) WinMerge 比較結果、英語版セリフ 38バイト、アドレス 0x9A の値 0x26(38) と一致
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション) WinMerge 比較結果、英語版セリフ 38バイト、アドレス 0x9A の値 0x26(38) と一致

英語版セリフ字幕ファイルのアドレス 0x9A の値 26(HEX) も中文化セリフ字幕ファイルの同アドレスの値 f3(HEX) と異なっていますが、こちらもセリフ字幕の長さで値が変わる仕様です。

セリフ字幕分 38バイト(セリフ後のアドレス 0xC4 から 2バイト e6 1c はセリフ終端を示す値で字幕バイト数にカウントしない、ファイルによって値が異なる)を 16進数に変換すると 26(HEX) となって、アドレス 0x9A の値 26(HEX) と一致します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション) WinMerge 比較結果、中文化セリフ(終端 00 00 含む) 26バイト+4バイト(F3 FF FF FF)=30バイト、アドレス 0x92 の値 0x1E(30) と一致
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション) WinMerge 比較結果、中文化セリフ(終端 00 00 含む) 26バイト+4バイト(F3 FF FF FF)=30バイト、アドレス 0x92 の値 0x1E(30) と一致

中文化セリフ字幕ファイルのアドレス 0x92 の値が 1e(HEX) となっており、先ほどの英語版セリフ字幕と同じ方法で値を求められます。

英語版セリフ字幕ファイルと同様アドレス 0x9A から 4バイト(f3 ff ff ff) + セリフ字幕分 26バイト(セリフ後のアドレス 0xB8 から 2バイト e6 1c はセリフ終端を示す値で字幕バイト数にカウントしない、ファイルによって値が異なる) = 30バイトとなります。

この 30バイトを 16進数に変換すると 1E(HEX) となってアドレス 0x92 の値 1e(HEX) と一致します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション) WinMerge 比較結果、アドレス 0x9A の値 F3 計算方法、中文化セリフ 24バイト(終端 00 00 E6 1C のぞく)

中文化セリフ字幕ファイルのアドレス 0x9A の値 f3(HEX) は、英語版セリフ字幕ファイルの同アドレスの値 26(HEX) の時と違い、値の求め方が異なります。

過去ログから 2通りの計算方法があり、どちらの計算方法でもとりあえず一致しますが、どちらが正しい計算方法かわかりません。

まず、セリフ字幕分 24バイト(セリフ後のアドレス 0xB6 から 4バイト 00 00 e6 1c がセリフ終端を示す値で字幕バイト数にカウントしない、ファイルによって値が異なる) を 2 で割り、この計算結果 12 という数値を使います。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション) WinMerge 比較結果、アドレス 0x9A の値 F3 計算方法、255(0xFF) - (中文化セリフ 24バイト(終端 00 00 E6 1C のぞく) ÷ 2) = 243(0xF3)
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション) WinMerge 比較結果、アドレス 0x9A の値 F3 計算方法、255(0xFF) - (中文化セリフ 24バイト(終端 00 00 E6 1C のぞく) ÷ 2) = 243(0xF3)

1つ目の計算方法は、255(0xFF) を先ほどの 12(0xC) で引き、計算結果の 243 を 16進数に変換すると F3(HEX) となって、アドレス 0x9A の値 f3(HEX) と一致します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDialogOneShot_HeartGadget_1\DisDialogTree_OneShot_15 フォルダにある DisConv_Blurb_705.DisConv_Blurb ファイル(The Knife of Dunwall ゲーム開始直後の Daud 冒頭ナレーション) WinMerge 比較結果、アドレス 0x9A の値 F3 計算方法、中文化セリフ 24バイト(終端 00 00 E6 1C のぞく) ÷ 2) = 12(0xC)、0xC を DWORD(4バイト) で NOT(論理否定) で FF FF FF F3、リトルエンディアンで F3 FF FF FF

もう一つの計算方法は、先ほど求めた値 12 または 16進数に変換した場合は 0xC を、電卓(プログラマー)で DWORD(4バイト) にして論理否定(NOT)することで FF FF FF F3 となります。

これをリトルエンディアンで F3 FF FF FF になるので、アドレス 0x9A から 4 バイトの F3 FF FF FF と一致します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDLC06DialogOneShot_0\DisDialogTree_OneShot_9\DisConversation_43 フォルダにある DisConv_Blurb_711.DisConv_Blurb ファイル WinMerge 比較結果、英語版セリフ 123バイト(0x7B)
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDLC06DialogOneShot_0\DisDialogTree_OneShot_9\DisConversation_43 フォルダにある DisConv_Blurb_711.DisConv_Blurb ファイル WinMerge 比較結果、英語版セリフ 123バイト(0x7B)

ほかにもセリフ字幕の先頭 4バイト+セリフ字幕バイナリデータの合計が 255バイト(0xFF)を超える場合、特定のバイナリデータがリトルエンディアンとして表記されます。

画像は DLC06_Tower_Script\TheWorld\PersistentLevel\DisDLC06DialogOneShot_0\DisDialogTree_OneShot_9\DisConversation_43 フォルダにある DisConv_Blurb_711.DisConv_Blurb ファイルを比較した結果で、この場合英語版だとアドレス 0x92 が 7b(HEX) になっています。

アドレス 0x9A ~ 0x114 までのセリフ字幕分 123バイト(セリフ後のアドレス 0x115 から 2バイト 26 20 はセリフ終端を示す値で字幕バイト数にカウントしない、ファイルによって値が異なる)を 16進数に変換すると 7b(HEX) となって、アドレス 0x92 の値 7b(HEX) と一致します。

ここまでは今まで通りです。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDLC06DialogOneShot_0\DisDialogTree_OneShot_9\DisConversation_43 フォルダにある DisConv_Blurb_711.DisConv_Blurb ファイル WinMerge 比較結果、4バイト+中文化セリフ 290バイト=294バイト(0x126)
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDLC06DialogOneShot_0\DisDialogTree_OneShot_9\DisConversation_43 フォルダにある DisConv_Blurb_711.DisConv_Blurb ファイル WinMerge 比較結果、4バイト+中文化セリフ 290バイト=294バイト(0x126)
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - upk 中文化ファイル、セリフ字幕バイナリデータ調査方法と計算方法、DLC06_Tower_Script\TheWorld\PersistentLevel\DisDLC06DialogOneShot_0\DisDialogTree_OneShot_9\DisConversation_43 フォルダにある DisConv_Blurb_711.DisConv_Blurb ファイル WinMerge 比較結果、中文化アドレス 0x92~0x93 の値 0x2601、リトルエンディアンで中文化アドレス 0x92~0x93 の値  26 01 と一致

中文化ファイルのアドレス 0x9A から 4バイト(6f ff ff ff) + セリフ字幕分 290バイト(セリフ後のアドレス 0x1C0 から 2バイト 26 20 はセリフ終端を示す値で字幕バイト数にカウントしない、ファイルによって値が異なる) = 294バイトとなります。

この 294バイトを 16進数に変換すると 126(HEX) となり、これをリトルエンディアンで 26 01 となって中文化アドレス 0x92 ~ 0x93 の値と一致します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット

以下、Dishonored - Definitive Edition 中文化後、DLC The Knife of Dunwall の字幕を日本語に書き換えたスクリーンショットを公開します。

字幕内容は 日本語ダミーテキスト生成器 の内容を利用しています。

フォントが対応していない文字は □ で表示されています。その後の調べて 文字数が多いフォントに差し替える方法が判明 しましたので、手間はかかりますがこの方法でフォントを入れ替えれば文字化けを解消、翻訳で文字化けを意識する必要がなくなります。

中文化 upk ファイルによってはセリフ字幕バイナリデータを一度に書き換えられる文字が 100文字以上のところがありますが、ゲーム上で実際に表示できる最大文字数は、一度に約 79 ~ 81文字程度までとなっており、それ以上は表示しないようです。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 日本語字幕スクリーンショット

こちらは比較用として保存した DLC The Knife of Dunwall の英語字幕スクリーンショットです。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール) 英語字幕スクリーンショット

PC ゲーム Dishonored - upk 中文化ファイル解析メモ

今回、中文化した Dishonored - Definitive Edition の upk ファイルを英語版と比較していろいろとわかった点がみつかったので以下まとめてみました。

Dishonored - Definitive Edition の中文化ファイルは Batman : Arkham Asylum の日本語フォント追加方法 と同じようなので、試していませんが英語版から直接日本語字幕を表示できるようになるかもしれません。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、DLC06_Tower_Script.upk ファイル WinMerge 比較結果、DLC06_Tower_Script.upk ファイルアンパック後 .UPKpkginfo ファイルのバイナリと一部一致
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、DLC06_Tower_Script.upk ファイル WinMerge 比較結果、DLC06_Tower_Script.upk ファイルアンパック後 .UPKpkginfo ファイルのバイナリと一部一致

画像は英語版と中文化 DLC06_Tower_Script.upk ファイルを WinMerge で比較した結果です。(英語版 upk ファイルは Unreal Package Decompressor でデコンプレス済み)

画像での差分箇所は広範囲ですが、一定のアドレス範囲内でところどころバイナリデータに差異がある状態が続くようになっています。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、DLC06_Tower_Script.upk ファイルアンパック後 .UPKpkginfo ファイル WinMerge 比較結果、DLC06_Tower_Script.upk ファイルのバイナリと一部一致
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、DLC06_Tower_Script.upk ファイルアンパック後 .UPKpkginfo ファイル WinMerge 比較結果、DLC06_Tower_Script.upk ファイルのバイナリと一部一致

こちらの画像は英語版・中文化 DLC06_Tower_Script.upk ファイルをアンパック後、.UPKpkginfo ファイルを WinMerge を比較した結果です。

英語版・中文化 DLC06_Tower_Script.upk ファイルで差異があったバイナリデータと、完全に一致はしていませんがほぼ同じ内容になっているのが確認できます。

そのため、DLC06_Tower_Script.upk ファイルのある一定範囲のアドレスにある差分が確認されたバイナリデータは、アンパックした .UPKpkginfo のバイナリデータであることが、この時点でおおよそ検討が付きます。

このバイナリデータについては次の差分個所をチェックすることで、その値の内容が判明します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、DLC06_Tower_Script.upk ファイル WinMerge 比較結果、英語版 DLC06_Tower_Script.upk ファイルバイナリデータ終端アドレス以降、中文化 DLC06_Tower_Script.upk ファイルでは DisConv_Blurb_496.DisConv_Blurb ファイルのバイナリデータ丸ごと追加された状態

画像は英語版と中文化 DLC06_Tower_Script.upk ファイルを WinMerge で比較した結果で、差分個所は英語版のデータ終端以降のところとなっています。

これは英語版でデータの終わりとなっているアドレスから、中文化ファイルでは新たにデータが追加されるような形で続いているのがわかります。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、アンパックした DLC06_Tower_Script.upk ファイルの DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin フォルダにある DisConv_Blurb_496.DisConv_Blurb ファイル WinMerge 比較結果
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、アンパックした DLC06_Tower_Script.upk ファイルの DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin フォルダにある DisConv_Blurb_496.DisConv_Blurb ファイル WinMerge 比較結果

英語版 DLC06_Tower_Script.upk ファイルのデータ終端のアドレスから追加されている中文化 DLC06_Tower_Script.upk ファイルのバイナリデータは、DLC06_Tower_Script.upk ファイルからアンパックした DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin フォルダにある、DisConv_Blurb_496.DisConv_Blurb ファイルのバイナリデータと一致します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、DLC06_Tower_Script.upk ファイル WinMerge 比較結果、英語版 DLC06_Tower_Script.upk ファイルバイナリデータ終端アドレス以降、中文化 DLC06_Tower_Script.upk ファイルで追加された DisConv_Blurb_496.DisConv_Blurb ファイルのバイナリデータから続けて、DisConv_Blurb_497.DisConv_Blurb ファイルのバイナリデータがそのまま追加された状態
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、アンパックした DLC06_Tower_Script.upk ファイルの DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin フォルダにある DisConv_Blurb_497.DisConv_Blurb ファイル WinMerge 比較結果
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、アンパックした DLC06_Tower_Script.upk ファイルの DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin フォルダにある DisConv_Blurb_497.DisConv_Blurb ファイル WinMerge 比較結果

同様に、中文化 DLC06_Tower_Script.upk ファイルのデータ終端に追加されている、DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin フォルダ DisConv_Blurb_496.DisConv_Blurb ファイルのバイナリデータに続き、DisConv_Blurb_497.DisConv_Blurb ファイルのバイナリデータが連続で追加されているのが確認できます。

このように英語版 upk ファイルではデータ終端だったところに、中文化 upk ファイルでは 2バイト表示に対応したセリフ字幕のバイナリデータを連続で追加するような形になっています。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、アンパックした DLC06_Tower_Script.upk ファイルの ExportTable.Log ファイル WinMerge 比較結果、アンパックした中文化 DLC06_Tower_Script.upk ファイルの DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin フォルダにある DisConv_Blurb_496.DisConv_Blurb ファイル、6052行目 Size:000002d9 Offset:02f3078c、Offset の 0x02F3078C アドレスの求め方は、英語版 DLC06_Tower_Script.upk ファイルバイナリデータ終端アドレスの次のアドレス、中文化 DLC06_Tower_Script.upk ファイルで追加された DisConv_Blurb_496.DisConv_Blurb ファイルのバイナリデータ開始アドレス

こちらの画像はアンパックした英語版・中文化 DLC06_Tower_Script.upk ファイルの .ExportTable.Log ファイルの WinMerge 比較結果です。

6052行目以降、Size と Offset の値が英語版と中文化で差異があることが確認できます。

中文化 .ExportTable.Log ファイルの 6052行目差分箇所 DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin/DisConv_Blurb_496.DisConv_Blurb ファイルが Size:000002d9Offset:02f3078c となっているので、この値はどうやって求められているのかを調べます。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、アンパックした中文化 DLC06_Tower_Script.upk ファイルの DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin フォルダにある DisConv_Blurb_496.DisConv_Blurb ファイルサイズ 729 バイト(ファイルプロパティ画面)=0x2D9

Size:000002d9(0x2D9) を 10進数にすると 729 となります。これはアンパックした中文化 DisConv_Blurb_496.DisConv_Blurb ファイルのプロパティに表示されているサイズと一致します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、アンパックした中文化 DLC06_Tower_Script.upk ファイルの DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin フォルダにある DisConv_Blurb_496.DisConv_Blurb ファイルサイズ 729 バイト(バイナリエディタすべて選択した状態)=0x2D9

また、バイナリエディタ(画像は Stirling) でアンパックした中文化 DisConv_Blurb_496.DisConv_Blurb ファイルを開き、バイナリデータを全部選択した状態でも同様に画面下に 0x2D9(729)Bytes と表示されるのが確認できます。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、DLC06_Tower_Script.upk ファイル WinMerge 比較結果、英語版 DLC06_Tower_Script.upk ファイルバイナリデータ終端アドレス以降、中文化 DLC06_Tower_Script.upk ファイルでは DisConv_Blurb_496.DisConv_Blurb ファイルのバイナリデータ丸ごと追加された状態

次に Offset:02f3078c、これは中文化 DLC06_Tower_Script.upk ファイルの DisConv_Blurb_496.DisConv_Blurb ファイルのバイナリデータが追加された先頭アドレス 0x2F3078C を指しています。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、DLC06_Tower_Script.upk ファイル WinMerge 比較結果、DLC06_Tower_Script.upk ファイルアンパック後 .UPKpkginfo ファイルのバイナリと一部一致
PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、DLC06_Tower_Script.upk ファイルアンパック後 .UPKpkginfo ファイル WinMerge 比較結果、DLC06_Tower_Script.upk ファイルのバイナリと一部一致

Size:000002d9Offset:02f3078c、これをそれぞれリトルエンディアンで 4バイトで配置すると d9 02 00 008c 07 f3 02 となります。

この 2つをあわせると d9 02 00 00 8c 07 f3 02 となって、中文化 DLC06_Tower_Script.upk ファイルおよびアンパック後の .UPKpkginfo ファイルで差分があったバイナリデータ(アドレス 0xfc1c7 ~ 0xfc1ce)と一致します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、アンパックした DLC06_Tower_Script.upk ファイルの ExportTable.Log ファイル、0x2D9(Size:000002d9) + 0x2F3078C(Offset:02f3078c) = 0x2F30A65、アンパックした DLC06_Tower_Script.upk ファイルの ExportTable.Log ファイル 6053行目 DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin\DisConv_Blurb_497.DisConv_Blurb Offset:02f30a65 と一致

オフセット値 0x2F3078C(Offset:02f3078c) に 0x2D9(Size:000002d9) を足すと 0x2F30A65 となり、これが ExportTable.Log ファイル 6053行目 DLC06_Tower_Script\DLC06_Dlg_Assassin\DialogTree\DLC06_Dlg_SumAssassin\DisConv_Blurb_497.DisConv_Blurb の Offset:02f30a65 と一致 します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - upk 中文化ファイル解析メモ、DLC06_Tower_Script.upk ファイル WinMerge 比較結果、英語版 DLC06_Tower_Script.upk ファイルバイナリデータ終端アドレス以降、中文化 DLC06_Tower_Script.upk ファイルで追加された DisConv_Blurb_496.DisConv_Blurb ファイルのバイナリデータから続けて、DisConv_Blurb_497.DisConv_Blurb ファイルのバイナリデータがそのまま追加された状態

この Offset:02f30a65 は中文化 DLC06_Tower_Script.upk ファイルの DisConv_Blurb_497.DisConv_Blurb ファイルのバイナリデータが追加された先頭アドレス 0x2F30A65 を指していることになります。

以上のように中文化 upk ファイルは、upk ファイルのデータ終端に 2バイト文字セリフ字幕バイナリデータを追加し、該当するセリフ字幕ファイルのサイズとオフセット値を書き換えたものになっていることがわかりました。

Batman : Arkham Asylum の日本語フォント追加方法 とやり方が同じようなので、Dishonored - Definitive Edition を中文化しなくても英語版から直接日本語化ができそうな感じがします。

ただ、Dishonored - Definitive Edition においては upk ファイルをアンパックするとセリフ字幕ファイルが膨大な上、追加したファイル数が多いほどサイズとオフセット値の修正も一緒に必要なため、手作業での書き換えには大変な労力がいります。

PC ゲーム Dishonored - ~Script_upk テキストデータ抽出方法

ZenHAXInternet Archive) にて PC ゲーム Dishonored の ~Script_upk ファイルからテキストデータを抽出するツールが公開されているのを見つけたので紹介します。

以下、使い方についてはツール作者が公開した こちらの動画 と同じ内容です。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - ~Script_upk テキストデータ抽出方法、ZenHAX から Tool.rar をダウンロードして展開・解凍、Tool UPK フォルダを開き ~Script_upk ファイルを配置、UPKunpack.exe に ~Script_upk ファイルをドラッグアンドドロップ

こちらから Tool.rar をダウンロードInternet Archive) して展開・解凍します。

Tool UPK フォルダを開き、ここに抽出したいテキストデータが含まれる ~Script_upk ファイルを配置します。ここでは DLC06_Tower_Script.upk ファイルを配置しています。

Tool UPK フォルダ内にある UPKunpack.exe に DLC06_Tower_Script.upk ファイルをドラッグアンドドロップします。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - ~Script_upk テキストデータ抽出方法、UPKunpack.exe に ~Script.upk ファイルをドラッグアンドドロップ、コマンドプロンプト画面が表示されて処理が流れた後、Tool UPK フォルダ内にアンパックされた ~Script フォルダが生成

UPKunpack.exe に DLC06_Tower_Script.upk ファイルをドラッグアンドドロップ後、コマンドプロンプト画面が表示されてしばらく処理が流れた後、Tool UPK フォルダ内にアンパックされた DLC06_Tower_Script フォルダが生成されます。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - ~Script_upk テキストデータ抽出方法、~Script.upk ファイルアンパック後、Tool Text フォルダ内にある unreal_loc_int_export_Dishonored_uni.exe を実行

~Script.upk ファイルアンパック後、Tool Text フォルダ内にある unreal_loc_int_export_Dishonored_uni.exe を実行します。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - ~Script_upk テキストデータ抽出方法、unreal_loc_int_export_Dishonored_uni.exe 実行後 Select the folder... 画面が開くので、Tool UPK フォルダ内にあるアンパックした ~Script フォルダを選択してフォルダの選択ボタンをクリック

unreal_loc_int_export_Dishonored_uni.exe 実行後 Select the folder... 画面が開くので、Tool UPK フォルダ内にあるアンパックした DLC06_Tower_Script フォルダを選択してフォルダの選択ボタンをクリックします。

PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法、PC ゲーム Dishonored - ~Script_upk テキストデータ抽出方法、

unreal_loc_int_export_Dishonored_uni.exe 実行後、Tool Text フォルダ内にエクスポートされた DLC06_Tower_Script.txt ファイルです。テキストエディタで開くことでテキスト内容を確認することができます。