PC ゲーム Middle-earth: Shadow of War Definitive Edition 日本語編集方法とフォント変更方法とゲームプレイ最適化メモ
PC ゲーム Middle-earth: Shadow of War Definitive Edition に関する日本語翻訳・フォントの編集方法やゲームプレイ最適化に関する情報をまとめました。
PC ゲーム Middle-earth: Shadow of War Definitive Edition 基本情報
今回インストールした Steam 版 Middle-earth: Shadow of War Definitive Edition は字幕・音声ともに公式完全日本語対応となっています。なお、字幕・音声ともゲーム内で他言語への変更が可能です。
そのため、前作の Steam 版 Middle-earth: Shadow of Mordor GOTY と違い日本語化する必要はないため、インストール後すぐに日本語でゲームプレイを楽しめます。デフォルトで字幕がオフになっているので、字幕を表示させるにはチェックマークを入れて有効化します。
前作に引き続き 開発会社とゲームエンジンに変更はない ため、Steam 版 Middle-earth: Shadow of Mordor GOTY の日本語化に使用したツール の一部をそのまま使うことが可能、ファイルをアンパックして翻訳テキストやフォントを変更することができます。
Steam 版 Middle-earth: Shadow of War Definitive Edition でインストール先フォルダを開きたい場合、Steam ライブラリのゲームタイトルからプロパティ画面を開き、ローカルファイルを閲覧をクリックすることでインストール先フォルダにすぐにアクセスできます。
または、Steam ライブラリでタイトルを右クリック → 管理 → ローカルファイルを閲覧、をクリックすることでインストール先フォルダを開くこともできます。
PC ゲーム Middle-earth: Shadow of War Definitive Edition 日本語翻訳ファイル・フォントファイルアンパック方法
QuickBMS と shadow_of_mordor.bms スクリプトファイル を使って arch06 ファイルをアンパックすることで、翻訳ファイルとフォントファイルを抽出することができます。
Middle-earth: Shadow of War Definitive Edition はすでに公式で日本語対応しているので通常プレイではファイルのアンパックは不要ですが、日本語翻訳ファイルの編集 や 日本語フォントファイルの変更 をしてゲームで反映させたい場合に、ファイルのアンパックと アンパックしたファイルの読み込み設定 が必要になります。
以下、これから説明するアンパック方法については、前回の記事 Middle-earth: Shadow of Mordor GOTY の QuickBMS(new_fear.bms) を使って arch05 ファイルをアンパックする方法 と同じです。
ダウンロードして展開・解凍した QuickBMS のフォルダ内に shadow_of_mordor.bms スクリプトファイルを配置しておきます。(shadow_of_mordor.bms スクリプトファイルは QuickBMS が公開されているページ内にある Shadow Of Mordor リンクをクリックするとダウンロード)
ダウンロードした bms スクリプトファイルの配置場所は特に決まっていないのでどこにおいても問題ありませんが、QuickBMS フォルダ内に bms スクリプトファイルを配置しておくことで、QuickBMS 実行時のスクリプトファイル選択画面ですぐに bms スクリプトファイルを開くことができます。
Shadow Of Mordor スクリプトファイルの配置が完了したら、QuickBMS フォルダ内にある quickbms.exe を実行します。
quickbms.exe 実行後、QuickBMS のコマンドプロンプト画面が表示されて、続けて bms スクリプト選択画面が表示されるので、shadow_of_mordor.bms スクリプトファイルを開きます。
次にアンパックするゲームのアーカイブファイル選択画面が開きますので、ゲームインストール先 ShadowOfWar フォルダにある hotchunk.arch06 と ui_assets.arch06 を選択して開きます。
最後にアンパック先フォルダを指定するとアンパック処理が実行されます。
bms スクリプトファイルとアーカイブファイルに問題がなければコマンドプロンプト画面で処理が流れ続けて、画像のように処理が終わればアンパックは正常に完了です。
指定したアンパック先フォルダ内に展開されたフォルダリストです。
目的のファイル、database\string\jajp
フォルダにある string.strdb が日本語翻訳ファイル(string_uwp.strdb は Microsoft ストア版?日本語翻訳ファイル)、interface\bundles\gfx
フォルダにある font_latain.embb がフォントファイルです。
それ以外のファイル・フォルダは日本語翻訳ファイルとフォントの編集には使わないため削除します。
ちなみにこちらの画像は database\string\jajp
フォルダにある日本語翻訳ファイル string.strdb(おそらく Steam 版用) と string_uwp.strdb(おそらく Microsoft ストア版用?)を Shadow of Mordor TextTools の shadowofmordor_export.exe でそれぞれ string.strdb.txt と string_uwp.strdb.txt テキストファイルにエクスポート したものを WinMerge で比較した結果です。
ゲーム本編の翻訳内容に差異はなく、システム関連の翻訳が Steam 版か Microsoft ストア版(Xbox Live サービス)でメッセージが異なるという内容となっていました。
翻訳ファイルを編集したい場合は Steam 版なら string.strdb を、Microsoft ストア版なら string_uwp.strdb を編集することになります。
PC ゲーム Middle-earth: Shadow of War Definitive Edition 日本語翻訳ファイル・フォントファイル有効化方法
QuickBMS でゲームアーカイブファイル arch06 をアンパックして日本語ファイルを抽出できたら、ゲームインストール先に日本語ファイルの配置、設定ファイルに追記することで、配置した日本語ファイルからデータを読み込むことができます。(バイナリデータの書き換えは不要)
以下、説明する内容は Middle-earth: Shadow of Mordor GOTY の日本語翻訳ファイル・フォントファイル配置&設定 とほぼ同じ内容となっています。
ゲームインストール先フォルダ ShadowOfWar に jp フォルダを作成します。
ここでは jp というフォルダ名にしていますが、半角英数字であれば任意のフォルダ名で問題ないでしょう。
ここで作成したフォルダ名は ShadowOfWar\x64
フォルダにある default.archcfg に フォルダ名を追記 するときに使用します。
配置した日本語ファイルをゲームに読み込ませるため、ゲームインストール先 ShadowOfWar\x64
フォルダにある default.archcfg
ファイルをテキストエディタで開いて設定します。
default.archcfg
ファイルのテキスト内容の 「..\HotChunk.Arch06
」 以降の行に 「..\jp
」 を追記して保存します。(アンパックしたファイル名が最後に記述されている行以降なら、おそらくどこでも OK)
この追記した jp は ShadowOfWar フォルダ内に作成したフォルダ名 のことです。jp 以外のフォルダ名にした場合は、それにあわせて default.archcfg
ファイルのテキスト内容も変更します。
PC ゲーム Middle-earth: Shadow of War Definitive Edition 日本語翻訳ファイル編集方法
Middle-earth: Shadow of War Definitive Edition の日本語翻訳ファイル編集方法は 翻訳ファイルバイナリデータ直接書き換え方法 と 翻訳テキストデータエクスポート・インポート方法 の2通りの編集方法があります。
このやり方については前回の記事 Middle-earth: Shadow of Mordor GOTY 翻訳ファイル編集方法 とほぼ同じ内容となっています。
前提として ゲームアーカイブファイル(.arch06)のアンパック と アンパックしたファイルから日本語ファイル(テキストファイルとフォントファイル)の配置と設定ファイルを書き換え ていることが条件です。
日本語翻訳ファイル編集方法 1 : 日本語ファイルバイナリデータ直接書き換え
hotchunk.arch06 ファイルからアンパックした日本語翻訳ファイル string.strdb(Steam 版日本語翻訳ファイル) をバイナリエディタで一部の日本語を書き換えて、ゲームで書き換えた文字を表示してみます。
やり方については前回の記事 Middle-earth: Shadow of Mordor GOTY 翻訳ファイル - バイナリデータ直接書き換え方法 と同じ内容となっているので、詳細についてはそちらを確認してください。
以下、抽出した日本語翻訳ファイルのデータを書き換えるため、元に戻したい場合や失敗などでやり直しができるようにファイルをバックアップしてから作業を行います。
ゲームインストール先フォルダ ShadowOfWar に配置した jp\database\string\jajp
フォルダに日本語翻訳ファイル string.strdb をバイナリエディタで開き、一部の日本語内容を書き換えてみます。
バイナリエディタ Stirling で ASCII 文字列から文字検索したり直接書き換える場合は、メニューの設定 → キャラクターセット → Unicode に変更します。ほかのバイナリエディタで Unicode が見当たらない場合は UTF-16(LE)に切り替えることになります。
ここではゲームのメニュー画面にある 「ベンチマーク開始」 を違う日本語文字に書き換えてみます。
バイナリエディタの検索機能で (Stirling の場合)16進数データか文字列で 「ベンチマーク開始」 を検索します。
16進数データで検索する場合は、オンラインエンコード&デコードツール DenCode で UTF-16LE に設定して文字を入力すれば、エンコード結果に16進数文字列に変換しますので、これをコピーして検索することもできます。
16進数データの前後にある 00 00
がテキストデータの区切りデータのようです。これが各翻訳テキストデータの前後に必ず配置してある形となっています。
この区切りデータが 1バイトでもズレるとゲーム内テキストが正常に表示できなくなってしまうので、書き換え後もズレれてないかどうか確認が必要です。
バイナリエディタ Stirling で Unicode に設定してあれば ASCII 文字列から直接書き換えることができます。ここでは 「ベンチマーク開始」 を 「べんちまーくだよ」 に書き換えてます。
書き換え後 00 00
区切りデータが元のアドレスから 1バイトでもズレると、正常にテキストが表示されなくなるため注意します。
ASCII 文字列からではなく 16進数データから書き換えたい場合は DenCode を利用したほうがよいでしょう。
ゲームを起動して書き換えた文字が表示するかどうか確認します。
バイナリエディタで書き換えた文字やほかの文字が、文字化けすることなくゲーム内に文字が表示されれば成功です。
日本語翻訳ファイル編集方法 2 : 日本語テキストデータエクスポート・インポート
string.strdb からテキストデータをエクスポートする Shadow of Mordor TextTools(Internet Archive)を使って翻訳テキストを書き換えてみます。
こちらも 翻訳ファイルバイナリデータ直接書き換え と同様に、前提として ゲームアーカイブファイル(.arch06)のアンパック と アンパックしたファイルから日本語ファイル(テキストファイルとフォントファイル)の配置と設定ファイルを書き換え ていることが条件です。
編集したテキストデータは同ツール Shadow of Mordor TextTools(Internet Archive)のインポート機能を使用して元のファイル形式に戻します。
Middle-earth: Shadow of Mordor GOTY の翻訳テキストデータエクスポート・インポート方法 では、エクスポート前とインポート後にファイルヘッダーのバイナリデータの追加・削除・書き換え作業が必要でしたが、Middle-earth: Shadow of War Definitive Edition では不要になっています。
以下、抽出した日本語翻訳ファイルのデータを書き換えるため、元に戻したい場合や失敗などでやり直しができるようにファイルをバックアップしてから作業を行います。
Shadow of Mordor TextTools(Internet Archive)の shadowofmordor_export.exe を起動して string.strdb を開き、テキストファイル string.strdb.txt へエクスポートします。
Shadow of Mordor TextTools(Internet Archive)の shadowofmordor_export.exe で、string.strdb からエクスポートした翻訳テキストファイル string.strdb.txt をテキストエディタで開いて翻訳内容を編集します。
ここでは 「ベンチマーク開始」 から 「ベンチマークを始めてもよろしいかね?」 に編集します。
翻訳テキストファイル string.strdb.txt 編集後は、文字コード Unicode(UTF-16LE)、改行 CR+LF、BOM 付き になっていることを確認して保存します。
編集が終わった string.strdb.txt をインポートして元のファイル形式に戻します。
Shadow of Mordor TextTools(Internet Archive)の shadowofmordor_import.exe を起動して string.strdb.txt を開きます。
この時 string.strdb.txt と同じフォルダ内にエクスポート元の string.strdb がある状態 にします。このファイルがないとインポート時にエラーが発生してインポート処理が進みません。
Shadow of Mordor TextTools(Internet Archive)の shadowofmordor_import.exe を使って、string.strdb.txt から NEW_string.strdb が生成されたらインポート成功です。
このインポート処理はエクスポートの時と違い数分ほど時間がかかります(私の環境では約 3分弱)。その間はなにも表示されないので(タスクマネージャー上では shadowofmordor_import.exe プロセスは残ったまま)、処理が終わるまでしばらく待つことになります。
これは Middle-earth: Shadow of Mordor Game of the Year Edition の翻訳テキストが約 3万行に対し、Middle-earth: Shadow of War Definitive Edition では倍の約 6万行もあるため、インポート時に処理時間がかかっているためと思われます。
Shadow of Mordor TextTools(Internet Archive)で違う文字に書き換えて、文字化けすることなくゲーム内に文字が表示されれば成功です。
PC ゲーム Middle-earth: Shadow of War Definitive Edition 日本語フォント変更方法
FFDec を使うことで Middle-earth: Shadow of War Definitive Edition の日本語フォントを変更することができます。
前提として 日本語翻訳ファイル編集方法 の時と同様、ゲームアーカイブファイル(.arch06)のアンパック と アンパックしたファイルから日本語ファイル(テキストファイルとフォントファイル)の配置と設定ファイルを書き換え てあることが条件です。
Middle-earth: Shadow of War Definitive Edition の日本語フォントの変更方法は、Middle-earth: Shadow of Mordor GOTY 日本語フォント変更方法 とまったく同じやり方でできます。
基本的に ttf 形式の日本語が収録されているフォントであれば大丈夫かと思いますが、フォント変更後ゲームをクリアまで安定してプレイできるかどうかや、実績解除は問題なくできるかなどの通しプレイによる検証はしていないため、ゲームプレイ中に想定外のトラブルが起きる可能性は残っています。
FFDec(JPEXS Free Flash Decompiler) を使って UD デジタル教科書体 NK-B フォントに変更
以下の作業内容は抽出したフォントファイルのデータを書き換えるため、元に戻したい場合や失敗などでやり直しができるようにファイルをバックアップしてから作業を行います。
ゲームインストール先フォルダ ShadowOfWar に配置した jp\interface\bundles\gfx
フォルダにあるフォントファイル font_latin.embb をバイナリエディタで開きます。
ちなみに font_latin.embb の ASCII 文字列 GFX から最後までのフォントサイズ 0x933E57
(9649751バイト)がリトルエンディアンで 57 3E 93 00
となり、これがアドレス 0x34
~0x37
の 57 3E 93 00
と一致します。
フォントファイル font_latin.embb のバイナリデータ、ファイル先頭 EMBB から始まる 34バイト+4バイト(ASCII 文字列 GFX から最後までのフォントサイズのリトルエンディアン) を削除して保存します。
この削除した 34バイト+4バイトの 16進数データは、FFDec でフォント追加・変更後、ファイル先頭に追加して元に戻します。
font_latin.embb をバイナリエディタでファイル先頭 38バイト削除後、拡張子を font_latin.gfx に変更します。
font_latin.gfx を FFDec で開きます。
fonts フォルダにある DefineFont3 (7: Arial Unicode MS) をクリックして、Parameters にある Characters に日本語があることを確認して Embed ボタンをクリックします。
Font embedding 画面が開いたら、Installed から OS に搭載されているフォントを選ぶか、TTF file からフォントファイル(.ttf)を選択します。ここでは Installed から UD Digi Kyokasho NK-B を選択します。
Japanese Kana、Japanese Kanji - Level 1、Japanese (All) までチェックマークを入れて OK ボタンをクリックします。通常は Japanese Kana と Japanese Kanji - Level 1 で十分かと思いますが、Japanese (All) を入れておけばほぼすべての日本語文字に対応できるでしょう。
文字入れ替え確認の Warning 画面が表示されたら、すべてのフォントを置き換えるため Yes to all ボタンをクリック(英数字などのオリジナルフォントをそのまま使いたい場合は No to All をクリック)、続けてフォント表示のアップデート確認メッセージ?の Warning 画面が表示されるので Yes または No を選択します。こちらはどちらを選択しても問題ありません。
FFDec 画面に戻ったら Save ボタンをクリックして保存します。
バイナリデータ書き換えのため、FFDec でフォントを追加・変更した font_latin.gfx と、フォント追加・変更前の font_latin.embb ファイルをバイナリエディタで開きます。
後で一部のバイナリデータを書き換えるため、font_latin.gfx ファイルのバイナリデータを全選択してファイルサイズ(16進数)をメモしておきます。ここでは 0xBA06E5
となります。
フォントファイル font_latin.embb のファイル先頭 38バイトバイナリデータをコピーして、font_latin.gfx ファイルの先頭にコピーした 38バイトバイナリデータを挿入します。間違って上書きしないように注意します。
font_latin.gfx ファイル先頭に font_latin.embb からコピーした 38バイトバイナリデータを挿入後、font_latin.gfx ファイルの ASCII 文字列 GFX から最後までのフォントサイズ 0xBA06E5
をリトルエンディアンで E5 06 BA 00
に並び替えて、アドレス 0x34
~0x37
のバイナリデータを E5 06 BA 00
に書き換えて保存します。
font_latin.gfx ファイルのバイナリデータ追加・書き換え後、拡張子を font_latin.embb に戻します。
拡張子を戻した font_latin.embb ファイルを、ゲームインストール先 ShadowOfWar フォルダの jp\interface\bundles\gfx
フォルダに配置してある状態にします。
これで FFDec による日本語フォント変更は完了です。ゲームを起動して変更した日本語フォントが表示されるかどうか確認します。
以下クリックすると、UD デジタル教科書体 NK-B フォントに変更したスクリーンショットを開きます。
- PC ゲーム Middle-earth: Shadow of Mordor GOTY 日本語化とフォント変更方法と DLC The Bright Lord(明王)で日本語を表示する方法 → 5. PC ゲーム Middle-earth: Shadow of Mordor GOTY 日本語フォント変更方法 - FFDec(JPEXS Free Flash Decompiler) を使ってしねきゃぷしょんフォントに変更
- PC ゲーム Middle-earth: Shadow of Mordor GOTY 日本語化とフォント変更方法と DLC The Bright Lord(明王)で日本語を表示する方法 → 5. PC ゲーム Middle-earth: Shadow of Mordor GOTY 日本語フォント変更方法 - FFDec(JPEXS Free Flash Decompiler) を使って UD デジタル教科書体 NK-B フォントに変更
- PC ゲーム Creeper World: Anniversary Edition 日本語化と JPEXS Free Flash Decompiler を使ったファイル解析メモ
PC ゲーム Middle-earth: Shadow of War Definitive Edition ゲームプレイ最適化情報
Middle-earth: Shadow of War Definitive Edition のプレイ環境を最適にする情報をまとめました。
起動ロゴスキップ方法
Middle-earth: Shadow of War Definitive Edition ゲーム起動時に表示される企業ロゴを非表示にしてタイトルメニューをすぐ表示する方法です。
ゲームインストール先 ShadowOfWar\game\interface\videos\legal
フォルダにある legal_splash.vib と middleware_splash.vid がゲーム起動時に表示される企業ロゴファイルです。
ShadowOfWar\game\interface\videos\legal
フォルダにある legal_splash.vib と middleware_splash.vid ファイルをリネーム(名前変更) or 削除します。
0 KB の新規テキストファイルを作成してファイル名を legal_splash.vib と middleware_splash.vid に変更してダミーファイルを作成します。これでゲーム起動時の企業ロゴがスキップされるようになります。
FOV 変更方法
Middle-earth: Shadow of War Definitive Edition の FOV を変更したい場合は Middle Earth: Shadow of War - FOV changer というツールを使用します。
PCGamingWiki Community からダウンロードできます。
Middle Earth: Shadow of War - FOV changer にはいくつかファイルが含まれており、大きく分けて Cheat Engine 使用者向けバージョンと Cheat Engine 不要バージョンに分かれています。さらにそれぞれホットキーがキーボードのテンキー版とファンクションキー版が用意されています。
通常は Cheat Engine 不要バージョンで十分ですが、環境によってはセキュリティソフトが反応する可能性があります。
Cheat Engine 不要バージョンでホットキーがキーボードテンキー版を使いたい場合は、MESoW-FOV-Fixer.zip を展開・解凍して MESoW-FOV-Fixer.EXE を使用します。
Cheat Engine 不要バージョンでホットキーがキーボードファンクションキー版を使いたい場合は、Fkey フォルダにある MESoW-FOV-Fixer-Fkey.zip を 展開・解凍して MESoW-FOV-Fixer-Fkey.EXE を使用します。
Middle Earth: Shadow of War - FOV changer の使い方は以下の通りです。
- ゲームを起動してセーブデータをロード
- Alt + Tab キーでデスクトップ画面に切り替えて Middle Earth: Shadow of War - FOV changer を管理者権限で起動
- Alt + Tab キーでゲーム画面に戻りホットキー(テンキー版なら 0 キー、ファンクションキー版なら F5 キー)を押して有効化
- テンキー版 - テンキーの +・ー キーで FOV 値を増減、* キーでデフォルト値にリセット
- ファンクションキー版 - テンキーの F6・F7 キーで FOV 値を増減、F8 キーでデフォルト値にリセット
画像は Middle Earth: Shadow of War - FOV changer で Enable FOV script 状態のスクリーンショットです。
この時点でデフォルト FOV よりほんの少しだけ視野が広くなるようです。
画像は Middle Earth: Shadow of War - FOV changer で Increase FOV を最大値にした時のスクリーンショットです。
約 5・6回 Increase FOV キーを押すと FOV が最大になります。
ラージページモード有効化方法
以下、ゲーム内オプションにあるラージページモードを有効化する方法についての手順を説明していますが、ネットで公開されていた手順を紹介しているだけの内容です。設定後ゲーム中に効果があるかどうかは不明です。
Middle-earth: Shadow of War Definitive Edition にはオプションの詳細のところに、ラージページモードがあります。
説明文には 「ラージページモードはアプリケーションのメモリ処理を改善し、環境によってはパフォーマンスを向上させます」 とあり、デフォルトで無効化されています。
ラージページモードにチェックマークを入れようと、「ラージページモードには管理者権限が必要です」 というメッセージが表示されて有効化できません。
メッセージ内容の通り管理者権限でゲームを起動するようにします。
ゲームインストール先フォルダ ShadowOfWar\x64
フォルダにある ShadowOfWar.exe を右クリックからプロパティ画面を開きます。
ShadowOfWar.exe プロパティ画面で互換性タブの設定にある 「管理者としてこのプログラムを実行する」 にチェックマークを入れます。(Windows 10 Pro 64bit 1909 の場合)
ゲームを管理者権限で起動してラージページモードをクリックします。
ラージページモードをクリック後に 「ラージページモードの初期化に失敗しました。再起動することで問題を解消できる場合があります。」 という赤文字メッセージが表示されます。
Esc キーを押して設定の適用確認画面ではいを選択して、ゲームを再起動します。
ゲーム再起動後、ラージページモードにチェックマークが入り 「ラージページモードが有効化されました」 のメッセージが表示されれば、ラージページモード有効化完了です。
PC 環境によっては 管理者権限でゲームを起動してもラージページモードが有効化できない ことがあるようです。
その場合はローカルグループポリシーエディターで「メモリ内のページのロック」を有効化(ユーザーアカウントの追加)することで、ラージページモードを有効化できるかもしれません。
Windows 10 Pro の場合、ファイル名を指定して実行で「gpedit.msc」でグループポリシーエディタを開きます。(Windows 10 Home は別途グループポリシーエディタを有効化する必要があります)
ローカルコンピュータポリシー → ローカルコンピュータの構成 → Windows の設定 → セキュリティの設定 → ローカル ポリシー→ ユーザー権利の割り当てをクリックします。
「メモリ内のページのロック」を開き、ユーザーまたはグループの追加ボタンからログイン中のユーザーアカウントを追加します。(私の PC 環境ではすでにユーザーアカウントが設定されていました)
- PC ゲーム Middle-earth: Shadow of War Definitive Edition 日本語編集方法とフォント変更方法とゲームプレイ最適化メモ(現在開いているページ)
- PC ゲーム Middle-earth: Shadow of Mordor GOTY 日本語化とフォント変更方法と DLC The Bright Lord(明王)で日本語を表示する方法
- PC ゲーム Creeper World: Anniversary Edition 日本語化と JPEXS Free Flash Decompiler を使ったファイル解析メモ
- PC ゲーム Dishonored DLC - The Knife of Dunwall(ナイフ・オブ・ダンウォール)の字幕を日本語で表示する方法
- Borderless Gaming を使ってゲーム画面のアスペクト比を維持したまま、ウィンドウ枠を消去してボーダーレスウィンドウ(仮想フルスクリーン)でゲーム画面を表示する方法
- PC ゲームが起動しない・安定しない場合に確認と設定したほうがいいかもしれないリスト