MODクリーニングでしかTES5Edit使ったこと無い人もいる位、TES5Editと言えばMODクリーニングが有名です(勿体無いから他にも使って欲しいですが)。
競合対策に良さそうなんでなんとなくクリーニングしてる
という人、多い気がします。しかし意味を知らずに適当なクリーニングした場合、やらない方がマシだったという場合も起こりえます。リスクを減らしたければ、クリーニングの意味を知っておいた方が安全です。
トラブっても自己責任で何とかするからさっさと作業したいぜ!という人は、記事の最後に次へのリンクがありますので、飛ばしてください。
基本的なTES5Editの操作ができる、競合の意味が分かっていることを前提にします。分からない人は過去記事を読んでください。
※分かりづらいかも、と思う所は四角で囲ってありますので、ダメそうなら飛ばしてください。ただし意味を理解してない場合、いつかクリーニングでトラブル起こします。クリーニング OKかNGかの判断ができない為。
MODクリーニングとは?
「MOD Cleaning」という言葉の定義ですが、
「クリーニング=自動で行うもの」ではありません。
TES5Editで自動で行う物だけがクリーニングではないです。実質デバッグに相当する行為もクリーニングの一環として定義されているようです。つまり、
問題のあるeditを削除または変更する行為全般
を意味しています。お気軽にやると危なそうです・・・ね。
「問題のあるedit」というのは、Cleaning Guideによるところの3つの理由で出来たeditを指しています。
・unnecessary edits(不要のedit)
・unintentional edits(うっかりedit)
・misdirected edits(間違いedit)
括弧内は僕のフィーリング意訳です。後者2つの違いは、「作った覚えが無い」か、「意識して作ったけど間違えてた」といった所。
まあ理屈はどうあれ、どれも問題を起こすリスクがある為、これを削除もしくは修正して安定性を向上させることが「MODクリーニング」です。
問題の種類とクリーニング方法
修正すべき「問題のあるedit」そのものは、3つに分類されてます。
Dirty Edits
一番多いタイプ。これの削除が主に「MODクリーニング」と呼ばれています。
具体的には、
同じ値を複数のespで2度書きしてるから、余計なのは全部消そう
的な作業をします。残しておくと悪さすることがあります。
Master指定されてるプラグインと全く同じ値(Identical To Master)をeditしている場合です。CKであえて同じ値を作っている場合や、削除の代わりに同じ値を書くことで対応した場合に発生します。
Masterと全く同じ値な為、基本的に不必要なeditです(例外有り、後述)。厳密には「Dirty Edits」と「Identical To Master edit」は異なるらしいのですが(発生過程?)、できた物としては同一視して問題なさそうです。
ロードオーダー次第では他のMODで変更した項目をMasterと同じ値に書き戻してしまうので、削除しないと不具合になる場合があります。
Deleted Reference
残しておいた方が良さそうな物(主にバニラのオブジェクト)を削除しちゃってるタイプ。もしどこかで消された物を参照する奴が居ちゃった場合、ゲーム内で何が起こるかわかりません。危ないです。消し方次第では別の方法のクリーニングをすることで回復可能な場合があります。
バニラ等のMasterからオブジェクトを「削除」しているケースです。削除対象を参照するMODが有った場合に不具合が予想されます。
削除対象がセル内のオブジェクトであった場合、TES5Editの自動クリーニングで修正できます。「Delete」を「Initially Disabled」に変更することで、「参照元が存在しない」という事態を回避します。具体的には、見えない地中にオブジェクトを沈めてます。
Masterにアドレスそのものが存在しなかった場合は、自動で対応できません。
Wild Edits
意図的に作ったものの、勘違いや間違いで変なことになってた、複数のMODが合わさった結果全く身に覚えの無い事態になってた等、想定外の結果になっているeditです。
「想定外」なので発見しづらい場合が多いです。自動クリーニングではどうにもならず、マニュアル作業でクリーニングする必要があります。
バニラ環境+該当MODだけで発生する場合は「バグ」ですが、MODの組合せ次第で不具合が発生する場合は、一概に言えないと思います。
TES5Editの自動クリーニング
すでに書きましたが、安定性向上の為には、これらを修正する必要があります。つまりクリーニングです。
特に有名なのがTES5Editの自動クリーニング(Automated Cleaning)であり、主に「Identical To Master (ITM) edit」と呼ばれる「Dirty Edits」の一種(というか結果的に同じ物?)を自動でクリーニングしてくれます。一番多いDirty Editsだと思いますので、大抵はこれだけで事足ります。
また、「Dereted Reference」も一部修正してくれます。
言葉の定義はwikiに書いてあります。
TES5Edit Cleaning Guide - TES5Edit - Creation Kit
MODクリーニングをする前の注意事項
クリーニングは絶対安全か?というと、そうでもありません。リスクもあります。
「改造行為」という認識を持つ
「やったほうがいい」とは言うものの、クリーニングは紛れも無くMODの改造です。クリーニングすることで不具合となる場合もありますので自己責任でお願いします。くれぐれもクリーニングが原因の不具合で作者に文句とかやめてください。
クリーニングによる新たな不具合の可能性
まずい場合は、大抵はDescriptionに「クリーニング禁止」の旨が書いてありますが、作者が把握していないけど実はヤバイ、というケースも無いとは言えません。
TES5Editが削除対象と判断しても、消した結果として致命的な問題(事によるとCTD)になる場合もあります。
こういった理由もあり、クリーニングにはある程度のリスクがあることを覚えておいてください。
正しい手順を踏まず、適当にクリーニングした場合にも発生します。正しい構造と手順を把握してから実行してください。
クリーニングによるトラブルの原因は、一見タダの「Identical To Master edit」に見えるものの、実際は意図的に作られたeditだった場合に発生します。しかしながらTES5EditではITMeditと判断される為、削除されてしまいます。
具体的には、変更されると不具合が起こるエントリに対して、他のMODで変更されていた場合にはMaster準拠の値に書き戻す、という保険になってる場合です。反面、これにより書き戻し対象となるMODが有った場合は、別の不具合が発生する可能性が出てきます。
これはある程度のノウハウがある上でTES5Editで目視でチェックしないと、判断できないと思います。会話やクエスト関連の場合等、疑った方がいいかもしれません。
次回はDirty Editsの発生メカニズム説明と、TES5Editを使ったクリーニングの実践を行います。
続きはこちら