Archive Invalidation Invalidate

INIファイルのbInvalidateOlderFiles=1という設定をして、かつArchiveInvalidation.txtを作成することでRe-Texture MODsが適用されるようになるけれど、本来このINIファイルの設定はTime Stampを見て、古い方をInvalidateする、という設定。

この設定が正しく適用されればArchiveInvalidation.txt無しでもTime StampさえBSA内部のものより新しければ問題ないはず…とArchiveInvalidation.txt無しでどこまで反映されるか試してみたけれどうまくいかなかった。

適用されるものもあれば、ArchiveInvalidation.txt無しでは適用されないものもあったり…

というわけで、TES NexusからArchiveInvalidation InvalidatedをDownload。Manual VersionをDownloadして、ArchiveInvalidationInvalidated!.bsa(長い名前だ…)をFallout 3\dataフォルダにコピー。それからFALLOUT.INIを開いてSArchiveListの先頭にこのファイルを追加。

SArchiveList=ArchiveInvalidationInvalidated!.bsa, Fallout – Textures.bsa, Fallout – Meshes.bsa, Fallout – Voices.bsa, Fallout – Sound.bsa, Fallout – MenuVoices.bsa, Fallout – Misc.bsa

もちろん、bInvalidateOlderFiles=1であることを確認してFallout 3を起動すると、ArchiveInvalidation.txt無しでTexture Replacerが反映された。ということで、無事にArchive InvaliadtionをInvalidateできたようだ :p

手法的にはBSA Redirectionと呼ばれる手法で、上記のBSAをDownloadしてくるのが簡単だけど、手作業で1個だけTextureを含んだDummyのBSAを作成して標準のTexture BSAの前に読み込まれるようにSArchiveListを編集すればいい。

こうすることで、EngineはまずListの最初にあるTextureを含んだBSAを読み込んで、その中から必要とされるTextureを探す。そしてそこに必要なFileが見つからないと、次にDataフォルダ以下に展開されているTextureを探して、最後に本来のFallout – Textures.bsaを探すようになる。(このため、DummyのBSAに実際にGame中で使われるTextureが含まれていると、常にそれが最優先となる。)

Engineの本来の仕様では、まずDataフォルダ以下に展開されているファイルを利用する…はずなんだけど、どういうわけかTexturesに関してはSArchiveListでTextureを含んだBSAが指定されていると常にそれが優先されてしまう。このBSA Redirectと呼ばれる手法は、そのBugを利用したものなので、将来BugがFixされると使えなくなるだろう。(もっともFixされれば、常にDataフォルダに展開されたものが優先されるので問題は無いだろう。)

MeshesやMenuなどに関しては、このBugは存在しないので(常に展開されているファイルが先に検索される)、Texture以外のReplacerに関してはDataフォルダ以下にCopyするだけで普通に利用できる。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中