読者です 読者をやめる 読者になる 読者になる

Thinking Skeever

Skyrim/The Witcher 3 Modについてのあれこれ。FoModの作り方、Mod導入時のトラブル事例などのニッチな話を書いていきます。a.k.a. BowmoreLover@nexusmods

The Witcher 3 Mod:Unification patch for 1.31 and 1.31GOTY game versionsの解説 (1.1対応) (2017/1/1更新)

f:id:thinkingskeever:20160606114041p:plain

The Witcher 3用のMOD Unification patch for 1.31 and 1.31GOTY game versionsについて解説します。

※本内容はUnification patch for 1.31 and 1.31GOTY game versions v1.1に付属のREADME.txtをベースに加筆・訂正し、分かりやすくしたものです。



f:id:thinkingskeever:20151114030550p:plain
Unification patch for 1.31 and 1.31GOTY game versionsの解説 目次

f:id:thinkingskeever:20151114030550p:plain

はじめに

Unification patchの目的は、現存する複数のゲームバージョン間のスクリプトを統合することで、MODの開発と利用を簡単にすることです。
MODの作者はFriendly HUDで有名なwghost81さんです。MODを開発する際、ゲームバージョンの違いによる開発の手間や問い合わせを減らすために作成されたようです。

このパッチには1.31と1.31 GOG GOTYの公式スクリプトが含まれていて、これまでGOTYユーザーにのみ提供されていた公式バグ修正も含まれています。本パッチをインストールすると、スクリプトは非GOTY版よりもGOTY版に近くなるため、インストールするMODにGOTY版用のファイルがある場合はこちらを使ってください。GOG GOTY版を使っている場合に本パッチを導入しても、GOTY版以外との下位互換性を保ちつつ、GOTY版での変更・修正は保持されます。

Friendly HUD 12.7やFriendly Meditation 1.5のように、本MODを前提としたMODが存在します。
Unification patchを単独で導入することにあまり意味はありませんが、非GOTY版ユーザーがGOTY版用のMODをインストールする場合、スクリプトのマージが少しだけ楽になるかもしれません。
2016/1/1現在、対応しているMODはwghost81さんのMODのみですが、他のMOD製作者にも利用を呼び掛けているそうで、対応MODが今後増えていくかもしれません。

2017/1/1 09:00追記:
wghost81さん自身がUnification Patch対応に修正したMODが以下のGoogleスプレッドシートで配布されています。
これを使えばUnification Patchとのマージがしやすくなりますのでチェックしてみてください。
私のお気に入りのThoughtful Roach(日本語化対応済)や、敵へのターゲット動作を劇的に改善するEnhanced Targetingなどもあり、本当にありがたい限りです。
Unification Patch対応版MOD一覧へのリンク

表中の注意書きの訳:

  • スプレッドシートはUnification Patchで動作するようにしたMODの修正版の一覧です。
  • 大半のMODは更新がほとんど放棄されていたものの、新しいゲームバージョンで使いたいユーザーがたくさんいたので、リクエストを受けて修正しました。
  • MOD修正のリクエストがあればUnification patchページのコメントに投稿してください。
  • お願い:このページからUnification Patch対応版のMODをダウンロードして使う場合、原作者に感謝の気持ちを示すため、オリジナルMODへのリンクを開き、オリジナルのファイルをダウンロードしてENDORSEしてください!


f:id:thinkingskeever:20151114030550p:plain

現存するThe Witcher 3のゲームバージョン

現状、The Witcher 3には次のゲームバージョンが存在します。

ゲームバージョン 通称 説明 スクリプトの種類
GOG GOTY 1.31 GOTY GOGプラットフォーム独自のもの。全DLCバンドル GOTY版
Steam/GOG 1.31 non-GOTY 通常版 non-GOTY版
Steam GOTY 1.31 - 通常版(non-GOTY)に全DLCをバンドルしたもの non-GOTY版

本質的には、スクリプトの違いによりGOTY, non-GOTYの2種類があります。

non-GOTY版とGOTY版間のマージにおける主な競合原因はメニュー関連のスクリプトです。
問題は、メニュー関連のコードがメニュースクリプトだけではなく、メニューに関連しないMOD(例えばゲーム体験向上MOD等)でも利用される汎用スクリプトr4game.wsにも含まれていることです。
GOTY版でのメニュー関連修正の性質上、Script Mergerによる自動マージは行えません。このため、TW3スクリプトに関する経験が浅いユーザが手動で競合解決を試みることでスクリプトが壊れてしまう結果となります。
本パッチは以上のような問題の解決に役立つ上、MODインストール後の自動マージが正常に行えるようになります。


f:id:thinkingskeever:20151114030550p:plain

Unification patchによるゲームの変更点

本MODは両方のバージョンのスクリプトを1つに統合します。
これにより、どちらのバージョンも次のような動作となります。

  • メインメニューはGOG GOTY版と同様にランダムとなります(Friendly HUDを導入すれば任意のアニメーションを選択できます)
  • non-GOTY版のNG+の取得可能アイテムに小さな修正を加え、GOG GOTY版にのみ存在するアイテムが取得可能になります
  • セーブデータのロード時、「DLCインストール済」メッセージが表示されなくなります
  • メインメニューの「挨拶」メッセージは表示されなくなります(GOG GOTY版の修正点ではありませんが、互換性のために必要です)
  • 有料DLCが両方インストールされている場合、メインメニューの「DLCインストール済」バナーが表示されなくなります(Friendly HUDを導入すればバナーを復活できます)
  • GOTY版のメインメニューに「ダウンロード可能コンテンツ」メニューが追加され、インストール済の全DLCが表示されます。
  • 最重要のポイント:両方のゲームバージョン用の基本スクリプトは同一になり、MOD製作者とMOD利用者にとって簡単になります


f:id:thinkingskeever:20151114030550p:plain

インストール方法

本MODの"content"フォルダと"Mods"フォルダを<The Witcher 3インストールフォルダ>に上書きコピーします。
その後、Script Mergerを使ってスクリプトを再マージます。

スクリプト競合時の対処方法について

Unification patchを前提としないMODを併用する場合、マージ時の競合が発生する可能性がありますが、比較的解決しやすいはずです(訳注:とはいえ、スクリプトを理解できないと難しいかもしれません)。
GOTYのメッセージ/DLC有効判定/NG+有効判定/メニュータイプといったキーワードに注意してください。これらに該当する処理がある場合は"A(base game)"を選択し、マージ後の競合回避コードがAのコードと同一となるようにします(必要に応じてBやCから自動コピーされた行を削除します)。

スクリプト競合の解決例

Friendly HUD 12.7とThoughtful Roach 1.30.5のスクリプト競合の例です。
マージするとscripts\game\r4Game.wsで大規模な競合が発生し、マージ画面が表示されます。

f:id:thinkingskeever:20161213001927j:plain

Thoughtful Roach 1.30.5はUnification patchに対応していないため、メニューに関連する処理が大幅に競合します。
Thoughtful Roach 1.30.5によるスクリプト修正箇所は2個所のみですので、先にUnification patchを使って開発されたFriendly HUD 12.7のスクリプトを優先してマージします。
[Merge]-[Choose B Everyware]メニューを選択します。

f:id:thinkingskeever:20161213001936j:plain

これでThoughtful Roach 1.30.5の処理以外はすべてマージできました。

次に、ツールバーの「▲」「▼」ボタンをクリックしてThoughtful Roachの処理追加箇所に移動します。
最後のOnSpawnPlayerHorse関数内の2個所がこれに該当しますので、それぞれツールバーの「B」ボタンをオフに、「C」ボタンをオンにして、Thoughtful Roachの処理を優先します。

最終的にこんな感じになればOKです。

f:id:thinkingskeever:20161213001943j:plain


f:id:thinkingskeever:20151114030550p:plain

アンインストール方法

1.31 non-GOTY版に戻す場合

  1. オプションファイルの"Base 1.31 scripts"をダウンロードし、"<The Witcher 3インストールフォルダ>\content"フォルダに上書きコピーします。
  2. "<The Witcher 3インストールフォルダ>\Mods"フォルダを開き、"mod0000____CompilationTrigger folder"フォルダを削除します。
  3. 最後にScript Mergerを使ってスクリプトを再マージします。

訳注:最新のSteam通常版(2016/12/13時点)と"Base 1.31 scripts"が全く同一であることを確認済です。

1.31 GOTY版に戻す場合

  1. オプションファイルの"Base 1.31 GOG GOTY scripts"をダウンロードし、"<The Witcher 3インストールフォルダ>\content"フォルダに上書きコピーします。
  2. "<The Witcher 3インストールフォルダ>\Mods"フォルダを開き、"mod0000____CompilationTrigger folder"フォルダを削除します。
  3. 最後にScript Mergerを使ってスクリプトを再マージします。

f:id:thinkingskeever:20151114030550p:plain

変更履歴

  • 2016/12/13 00:30 - 公開
  • 2016/12/13 08:00 - 「スクリプト競合時の対処方法について」の説明の誤訳・誤字訂正
  • 2016/12/31 10:00 - MODのDescription改訂に伴う修正
  • 2017/01/01 09:00 - wghost81氏によるUnification Patch対応MODの一覧表へのリンクを追記した
    Thoughtful RoachはImmersive Camのオプションではないのでこれを訂正した

//

Copyright (C) 2015,2017 ThinkingSkeever, All Rights Reserved.
ブログの記事内に記載されているメーカー名、製品名称等は、日本及びその他の国における各企業の商標または登録商標です。
リンクはご自由に。記事の転載はご遠慮ください。記事を引用する場合はトラックバックするか元のURLを明記してください。