雑記:Mod Organizer FOModのファイル上書きが不安定かも
某Mod紹介サイトのコメントで、とあるフォロワーModのインストールがうまくいかないという話を読みました。現象としてはオプションを変えることで上書きコピーされるはずのmeshがコピーされず表示不正になるとのこと。
FOModの内容はこんな感じでした。
・<installSteps>、<optionalFileGroups>、<group>それぞれ1つのみのシンプルな構成。
・選択肢は15項目ほど。
・CoreなMesh/Textureのセットがあり、選択肢に応じてesp/Mesh/Textureの差分を<folder>で上書きする。
・priorityの指定はすべて"0"
一見とてもシンプルで問題が起こる気がしないのですが、MOのバージョンにより問題が発生するようです。
・MO v1.0.12 問題発生。一部のメッシュが上書きされない。
・MO v1.2.18 問題なし。
・MO v1.3.4 問題発生。細かい現象は未確認。
MOのChangelog v1.0.12~v1.3.4のうち、fomod関連の修正を抜き出してみると・・・
Version 1.3.4 - some fomod installers not working with the internal installer Version 1.2.17 - bugfix: some fomod installers still didn't "see" other installed files - bugfix: scripted fomod installers couldn't query ini file settings (and potentially other problems) Version 1.2.16 - bugfix: encoding detection for fomod xmls could incorrectly interpret files as utf16 encoded Version 1.2.11 - includes bugfix preventing fomods from installing all files Version 1.1.0 - directory tree for mod installations now supports overwriting leafs Version 1.0.6 - integrated fomod installer now supports file dependencies Version 1.0.2 - bugfix: integrated fomod installer installed "checked" choices from all pages, not only the visible ones Version 1.0.12
FOModって枯れた技術だと思ってたんですが、ガンガン修正が入っているんですね。しかも最新版でデグレードとは。FOModのxml解析、FOMod構成の解析部分についてはそれっぽい共通DLLがあるっぽいんですが、最終的にI/Oするところは各Mod管理ツールの実装に任されて、そこに問題があるってことでしょうか。
再現できる環境がまだ用意できないので憶測になってしまいますが、応急処置として考えられる方法をあげておきます。
- ファイルの上書きが失敗しても大丈夫な構成にする
オプションで上書きされるファイルをCoreファイルから削除し、オプション選択によってファイルを補完していくイメージですね。おそらくこれが一番確実です。上書きされなくとも上書きするファイルがなければどうということはないですね。
- <folder>ではなく<file>で1ファイルづつ上書きしてみる
そういえば古くからある有名Modでは、なぜかフォルダコピーではなくファイルコピーをずらずらと書いているものが多いです。以前から「なんでこんなメンドイことしてるんだろう」と思っていました。
かつてMO/NMMで<folder>が実装されていなかったからという可能性もありますが、逆にいえば<file>のほうがバグが枯れて安定している可能性があるともいえます。
- priority属性を変えてみる
esp/mesh/textureの順に上書きするのであればそれぞれのpriorityを"1","2","3"にしてみるとか。うまくいかないかもしれませんがやってみる価値はあるかと。
半分私信代わりの雑記でした。
#どなたか複数VerのMOを共存させる方法知らないですかー
追記 2015/05/08(金曜日) 04:27:57
進展がありました。
雑記:Mod Organizer v1.3.4でFOModがインストールできない(v1.3.5で解決) - Thinking Skeeverを読んでください。