MOD/Tool/BAIN のバックアップ(No.9)

Top/MOD/Tool/BAIN

目次 Edit

はじめに Edit

BAINはBAsh INstallersの略。Wrye BashのMod管理ツールです。
ObMMとは異なる実装をしていますがObMMの持つ基本的な機能は押さえており、部分的にはより洗練され、部分的には劣ります。ObMMとの比較に関してはTes4Mod:Wrye Bash/Bash vs. OBMM(英語)を参照のこと。

この項で使う用語など Edit

パッケージ
esp/esmファイルやメッシュおよびテクスチャなどのリソースファイルの集合です。Installersタブに記載されるすべては、パッケージです。パッケージはアーカイブファイル(*.7z、*.zip、*.rarファイル)かフォルダです。フォルダとして存在するパッケージは「プロジェクト」と呼称する場合もあります。
リソースファイル
このページ内ではメッシュおよびテクスチャなどのesp/esmファイル以外のものを指します。

起動 Edit

Wrye BashのInstallersタブをクリックすることでインストーラーモードになります。MODをHDD (ハードディスクドライブ)にインストールしていると、Wrye Bash起動後の最初の一回はアーカイブフォルダやデータフォルダのスキャンを行うために少し時間がかかります。はじめてInstallersタブをクリックしたときはスキャンに5~15分程度のけっこうな時間がかかる可能性もあります。コーヒーブレイクでもしつつゆっくり待ちましょう(・∀・)
Oblivion本体を含め、Wrye BashとBAINで管理しているMODのディレクトリをHDDのかわりにSSD (Solid State Drive)に配備するとスキャンにかかる時間が短縮されます。

パッケージを置く場所 Edit

パッケージは基本的にはWrye Bash導入時設定のままであればOblivion Mods\Bash Installersに置きます。Oblivion ModsフォルダはOblivionフォルダと同じ階層にあります。このフォルダはWrye Bashの初回起動時に作成されているはずです。

仮にC:\Bethesda\OblivionにOblivionをインストールした場合、

C:\
├Bethesda\
│   │ 
│   ├Oblivion\(Oblivionのインストールフォルダ)
│   │ 
    └Oblivion Mods\
        │
        ├Bash Installers\ ※
        ├…

上記のツリー図の※のフォルダがパッケージを置く場所です。
Oblivion Modsフォルダの位置はMopy\Bash.iniを編集することで変えることもできます。

パッケージやプロジェクトを置くとInstallersタブが開いていれば直ちに反映されます。

ウィザード形式によるパッケージのインストール  Edit

Oblivion Mods\Bash Installersにコピーしたパッケージ(圧縮ファイル)がウィザード形式に対応(圧縮ファイル内に所定のフォーマットで記述されたwizard.txtが入っている)していれば、Package一覧からパッケージを右クリックして、Wizardをクリックすればウィザード形式のインストーラーが起動し、MODをインストールできます。

このウィザードに必要なwizard.txtはObMMのomod conversion dataディレクトリに入っているscript.txtに近いもので、ある程度対応関係があります(参考 : Wizard to OBMM Script Comparison)。

概要 Edit

BAINは上記の「パッケージを置く場所」からパッケージをスキャンして表示します。Modアーカイブやプロジェクトはインストールしたり削除したりできます。パッケージやプロジェクトの情報は右側の詳細表示エリアでチェックすることができます。

パッケージリスト Edit

画面左側は「パッケージを置く場所」にあるパッケージ/プロジェクトの一覧が表示されています。パッケージファイル名の前にはパッケージの状態を示すアイコンが表示されています。

アイコン Edit

チェックマーク Edit

インストール済みパッケージにはアイコンに"+"が付加されます。

アイコンの色 Edit

アイコンの色はOblivion\Dataフォルダ(以下データフォルダ)に連動してパッケージの状態を示します。

アイコンの形状 Edit

文字 Edit

文字の色 Edit

文字背景色 Edit

パッケージの詳細 Edit

選択されているパッケージの詳細情報はウィンドウの右部分に表示されます。詳細表示エリアは(今のところ)3つのフィールドから構成されます。

情報タブ群 Edit

上部のエリアは選択されているModに関するいくつかの情報を表示します。この情報の多くがModのインストール状態やその優先度に依存していることに注意してください。

サブパッケージ Edit

パッケージ内にサブパッケージがなければこのエリアは空白になります。サブパッケージがある場合、チェックボックスにチェックを入れることでどのサブパッケージをインストールするか決めることができます。サブパッケージ間で同名のファイルがある場合、後のもの―サブパッケージリストにおいて下段のもの―が優先されることに注意してください。

Esp/Esmフィルタリング Edit

第一にパッケージから特定のesp/esmファイルを無視するのにこのエリアを使用できます。
これは本体プラグインの代替やオプションモジュールの提供などの用途に使うことを意味します。
Esp/Esmフィルタリングはサブパッケージフィルタリングのあとに適用されることに注意してください。場合によってはサブパッケージを完全にオフにするのは、個々のEsp/Esmファイルを無効にするより簡単であるかもしれません。

第二に、インストールするプラグインファイルの名前を変更することができます。このエリアで右クリックすると以下のコンテキストメニューが開きます。

名前を変更したプラグインはその新しい名前の前に'*'が目印として付加されます。

パッケージ構造 Edit

BAINは以下のパッケージ構造を認識します。

シンプル
パッケージの最上層にesp/esmファイルあるいはbsaファイルがあるか、通常のOblivionのデータフォルダ構造と同様のフォルダ(下記参照)が適切に配置されている場合、シンプルパッケージと認識されます。
  • screenshots
  • bash patches
  • distantlod
  • docs
  • facegen
  • fonts
  • menus
  • meshes
  • music
  • shaders
  • sound
  • textures
  • trees
  • video
  • streamline
  • _tejon
  • ini tweaks
  • scripts
  • pluggy
  • ini
  • obse(BAINのオプションでOBSEプラグインインストールを許可している場合)
複合
シンプルパッケージではないがサブフォルダを持ち、各サブフォルダ内がシンプルパッケージと同様の構造を持つ場合、複合パッケージと認識されます。
この場合、パッケージの最上層にあるサブフォルダはサブパッケージとして扱われ、サブパッケージごとに導入するかどうか選択することができます。
以下に複合パッケージの一例を示します。○の付いたフォルダがサブパッケージです。
\. (パッケージのルート)
├─Readme.txt
│
├○00 Core Module(フォルダ)
│  │  Core Module.esp
│  │
│  ├─Meshes(フォルダ)
│  └─Textures(フォルダ)
│
├○00 Core Module, overwrite main plugin(フォルダ)※
│      Core Module.esp
│
├○01 Optional Modules(フォルダ)
│      Optional ModuleA.esp
│      Optional ModuleB.esp
※このサブパッケージを有効にすると"00 Core Module"にあるCore Module.espを上書きします。
複合/シンプル
複合パッケージの構造ではあるものの、サブパッケージがひとつしかない場合、シンプルパッケージのように振る舞います。

スキップされるファイル Edit

BAINはパッケージに以下のタイプファイルがあるとそのファイルはインストールしません。

不要なもの
Thumbs.dbやomod conversionフォルダとそのサブフォルダはスキップします。
開発用ファイル
"--"で始まり、パッケージの最上層やサブパッケージの最上層にあるファイルやフォルダはスキップされます。
Mod開発時にプロジェクトを展開するときに不要なファイルをインストールしないために使えますし、そうでなくてもスクリーンショットなどをMod導入時にインストールさせたくない場合にもこのパターンは使えるでしょう。
認識できないフォルダ
認識できないフォルダやファイル構造の場合はスキップされます。ファイル構造の問題とは、たとえばアーカイブの最上層にMod名のフォルダがあり、そのサブフォルダにDataフォルダがある場合などです。
ファイルタイプ
各種実行ファイルおよびDLLファイルおよびアーカイブ内のサブアーカイブはインストールされません。実行ファイルやライブラリはOBSEプラグインフォルダのインストールを許可している場合のみ、そのフォルダにインストールできますが十分に注意してください。
その他
パッケージやパッケージリストの見出し行からのコマンドでスキップすると明示したものは当該パッケージまたは全体でスキップされます。

ドキュメントファイルの扱い Edit

Readmeファイルの散乱を防ぐためにBAINはドキュメントファイルであると思われるファイルをOblivion\Data\Docsに掃き集めます。また、その前に単にreadme.txtというファイルはパッケージ名に従って改名されるでしょう(さすがにりどみ.txtのような2バイト文字のファイル名まではサポートしていませんが)。

パッケージの優先度 Edit

BAINは優先度をすべてのパッケージに割り当てます。パッケージがインストールまたはアンインストールされるとき、どのファイルが実際にインストールまたはアンインストールされるか決定するために優先度は考慮されます。

概略 Edit

"Last"マーカー Edit

"Last"はBAINによってパッケージリストに自動的に追加される特殊なマーカーであり、新規にインストールされるパッケージの優先度はLastの前に挿入されます。自作のModなどで優先度を常に高い値にとどめておきたい場合はそのModのパッケージ優先度をLastの後に移動しておくと実現できます。

インストール優先度 Edit

パッケージをインストールするとき、より高い優先度のパッケージの内容が優先されます。すなわち、インストールしようとするパッケージの内容が既にアクティブなより高い優先度のパッケージの内容と衝突すると、優先度の高いパッケージに存在しないファイルだけがインストールされ、存在するファイルはスキップされます。
優先度の高いパッケージのファイルを上書きしたい場合、「Install Last」コマンドを使用してインストールするパッケージをリストの終わりに動かしてからインストールします。

アンインストール優先度 Edit

パッケージをアンインストールする際もパッケージの優先度が考慮されます。アンインストールするパッケージよりも優先度の高い、アンインストールするパッケージ内に存在するファイルは削除されません。
下記の「Auto-Anneal」が有効なとき、アンインストールするパッケージよりも優先度の低いパッケージに同じ名前のファイルが存在すると、アンインストール後に優先度の低いパッケージから該当するファイルが自動的にインストールされます。

ちなみに、未インストールのパッケージからもアンインストールを実行することができます。Dataフォルダから削除しそびれたファイルがあった場合、一掃するのに便利でしょう。

Auto-Annealing Edit

パッケージをアンインストールする際、BAINはアンインストールされるパッケージが持つ、以前インストールをスキップしたファイルをインストール済のパッケージから復旧させることで、ファイルシステムを「焼き戻そう」とします。

一例として、Unofficial Oblivion Patch(優先度: 低)の後にUnofficial Oblivion Patch Supplemental(優先度: 高)を当てた状態からUnofficial Oblivion Patch Supplementalをアンインストールした場合、Unofficial Oblivion Patchのパッケージにあるespファイルやリソースファイルなどが自動的にインストールされます。

BAINが自動的に「焼き戻す」ことを望まないのであればパッケージリストヘッダーのコンテキストメニューから「Auto-Anneal」のチェックを外して停止することができます。

コマンドリファレンス Edit

パッケージコマンド Edit

以下のコマンドはパッケージのコンテクストメニュー(パッケージを選択して右クリック)にあります。

File Edit

Open
Windowsの関連づけに準じた形でファイルを開く
Duplicate
パッケージを複製する
Delete
パッケージを削除する(複数選択可)
ゴミ箱に入ることなく削除されるのでよく考えて実行しよう
Open at TesNexus/TesAlliance/Planet Elderscrolls
"at"の後に書かれているサイト内にある選択したパッケージのページを表示する
原理的にはパッケージの名前に5-6桁の数字が含まれる場合、それをTESNなどのFile IDと見なしているので当然のことながら失敗しやすい
Open at Google
パッケージファイル名を検索語としたGoogle検索を行う
ファイル名にある5-6桁の数字は無視される模様
Hide
パッケージをリストから消す(が削除したわけではない)
HideしたパッケージはBash Installersフォルダと同階層にあるBash Mod Data\Hiddenフォルダにある
Rename
パッケージのファイル名を変更する

Archive Info Edit

Refresh
選択されているパッケージの情報を更新する
Wrye Bash以外のツールなどでパッケージを操作したときに便利
Move To...
選択したパッケージ(複数可)を指定したインストール優先度へ移動する
複数のパッケージを選択している場合はそれぞれの優先度の相対関係は維持される

Configuration Edit

Has Special Directories
チェックを入れると通常認識しないサブフォルダも認識するようになる(事もある)
認識されたサブフォルダ内のファイルはインストール対象になる
Skip Voices
パッケージ内の音声ファイルのインストールをスキップする
音声のないダイアログの表示スピードは超速いのでダイアログを読み取れるようにするために
OBSE -Elys- Universal Silent Voiceを導入するべきだろう

Wizard Install Options Edit

Wizard Install systemが有効なときのみ使用可能(mopyフォルダ内にあるWizardDocs.txtを見るとより詳細な情報を得られる)

Wizard
Install Wizardを起動し、パッケージオプションを手動で設定する(wizard.txtがアーカイブ内にあるときのみ)
Auto Wizard
Install Wizardを起動し、パッケージのデフォルト設定を利用する(wizard.txtがアーカイブ内にあるときのみ)
Edit Wizard
wizard.txtを開き編集する(プロジェクトであり、かつwizard.txtがプロジェクト内にある場合のみ)

Install Edit

Anneal
Dataフォルダ内に存在しないファイルをインストールし、インストール優先度上の間違いも是正する
Install
「パッケージ優先度に従った」インストール。より上位のパッケージ内にあるファイルはインストールされない
Install Missing
上記Installと似ているが、Dataフォルダ内に存在しないファイルのみインストール処理が走る
Install Last
インストール優先度をLastの前に移し、インストール処理を走らせる
Uninstall
パッケージをアンインストールする。Auto-Annealが有効な時、より下位の優先度のパッケージ内に必要なファイルがあれば自動的にインストールされる

Project Edit

Conversions(Archivesのみ)
  • Create: 新しいBain conversion fileを作る
  • Apply: 既存のBain conversion fileを適用する
Pack to Archive
プロジェクトを圧縮してパッケージにする。デフォルトでは7z形式で圧縮するがZip形式にも対応する
Rar形式は展開には対応するが圧縮には対応しないし他の形式はそもそも対応しない
Unpack to Project
パッケージを解凍してプロジェクトにする
Package for Release
"Pack to Archive"のような物だが以下のファイル等は除外する
thumbs.db、desktop.ini、"--"で始まるフォルダ
Sync from Data
プロジェクト内のファイルとデータフォルダ内のファイルを同期する
これは基本的に「パッケージからのInstall」の逆であり、データフォルダからプロジェクトフォルダへのファイルのコピーが行なわれる
Copy Conflicts to Project
選択されたパッケージ内にある競合ファイルのすべてを新規プロジェクトにコピーする
競合するリソースの比較に有用
OMOD Info
(Projectsのみ) OMOD構成情報を読み書きできる
3モード(BAIN/マニュアル/ObMM)のアーカイブのためにOMOD conversion情報を更新するとき有用
List Structure
パッケージ内のファイルやフォルダのレポートを作成する。トラブルシュートなどに使えるかも知れない

パッケージヘッダーコマンド Edit

以下のコマンドはパッケージリスト見出し行のコンテクストメニューにあります。

Sorting Edit

Sort by Active
チェックされている場合、アクティブ(≒インストール済)なパッケージをそうでない物の上に並べる
Projects First
チェックされている場合、プロジェクトをパッケージよりも上に並べる

Actions Edit

Open
Windows Explorerで「パッケージを置く場所」を開く
Refresh Data
データフォルダとプロジェクトフォルダを再スキャンする。ふつう、Wrye Bashの起動毎にこの操作は行なわれるがその処理後に「パッケージを置く場所」の中を操作した場合このコマンドを実行する必要がある
Full Refresh
全データファイルを再スキャンする。CRCの再算出を全ファイルに行なうためこのコマンドを実行した際は5~15分程度の時間がかかる可能性があることに注意しよう
Add Marker
パッケージ整理のために使えるマーカーを作成する。"=="が付加される
List Packages
プロジェクトやパッケージの一覧を表示し、同様の物をクリップボードに蓄積する
インストールに関して他者のサポートを得たいときなど、Bethesdaのフォーラムへ投稿する際に有用
Anneal All
現在インストールされているすべてのパッケージについて存在しないファイルをインストールしインストール優先度などの間違いを修正する
Unhide
Hideで隠したパッケージを再表示する

Availability Edit

Avoid at Startup
Wrye Bash起動後、Installers tabの初回の不必要なデータスキャンを避けるかどうか切り替える
Installers tabの起動時に多くの時間を費やすのがいやならばこの設定を有効にするとよい
Enabled
BAIN自身の有効/無効を切り替える。有効にセットする(チェックを入れる)方が望ましい
Show Replacers Tab
チェックを入れるとReplacers tabがInstallers tabの右に表示される
ちなみに、Replacers tabは現在メンテナンスされていない
Auto-Anneal
Auto-Annealの有効/無効を切り替える。有効にセットする方が望ましい
Auto-Anneal/Install Wizard
Wizard処理が完了した時点で自動的にInstall/Anneallするかしないか切り替える
Auto-Refresh Projects
Auto-Refresh Projectsの有効/無効を切り替える。有効にセットする方が望ましい

Behavior Edit

BSA Redirection
ゲームエンジンのテクスチャ取得システムのバグを回避するためQuarn's BSA redirectionの技術を使用する
これはObMMやオリジナルのQuarn's BSA redirectionの双方と互換性がある
Clean Data Directory
チェックを入れるとデータフォルダ内にある空のサブフォルダを削除する
データフォルダ内で使われていないファイル/フォルダの削除はOblivion.exe のパフォーマンスにプラスの影響があるらしい
Show Inactive Conflicts
チェックを入れるとインストールされていないパッケージも競合情報に表示される
ふつうはインストール済パッケージ間の競合を気にするだけで十分だが、時に有用なこともあるかもしれない
Show Lower Conflicts
チェックを入れると優先度の低いパッケージとの間の競合のみが表示される
優先度の高いパッケージとの競合を見たい場合はチェックを外すこと
Skip Screenshots
チェックを入れるとData\Screenshotsフォルダのインストールをスキップする
Skip Images
チェックを入れると画像のインストールをスキップする
Skip Docs
チェックを入れるとドキュメントファイルやDocsフォルダのインストールをスキップする
Skip DistantLOD
チェックを入れるとパッケージ内のDistantLODファイルのインストールをスキップする
Tes4LodGenでDistantLODファイルを作成する場合に有用

BAINに優しいModのリパッケージング例 Edit

ここで言う「優しい」は以下の条件を満たすことを指します(条件は増えるかもしれない)

  1. BAINが認識できるファイル構成になっていること
  2. インストールオプションがサブパッケージ形式になっていること

例1: BladeSong Version1.3 Edit

ダウンロード@TESNexus

アーカイブに関して Edit

BladeSongを構成するふたつのファイル(BladeSong_Esp_V1_3-32426.rar及びBladeSong_Main_Content-32426.rar)はどちらもBAINには優しくありません。

リパッケージング Edit

BladeSong_Esp_V1_3-32426.rar

  1. アーカイブを適当な場所に解凍します
  2. BladeSongV1_3フォルダ内のDataフォルダとBladeSong_ReadME.txtを選択して右クリックし、適当な圧縮ツールを使って圧縮します(Windows標準であれば右クリック→送る→圧縮(zip形式)フォルダー)

BladeSong_Main_Content-32426.rar

  1. アーカイブを適当な場所に解凍します
  2. BladeSongMainContentフォルダ内にあるDataフォルダを"00 Main"にリネームします
  3. extraフォルダ内のフォルダをすべて選択して、BladeSongMainContentフォルダへ移動させます(extraフォルダの外に出す)
  4. 空になったextraフォルダを削除します
  5. 移動させた4つのフォルダ(BAB female body {Biu}、Eyecandy {Exnem,HGEC}、Fantasy Figures {Corwyn}、Seamless Male {Robert})を01 BAB female body {Biu}、01 Eyecandy {Exnem,HGEC}、01 Fantasy Figures {Corwyn}、01 Seamless Male {Robert}にリネームします*1
  6. BladeSongMainContentフォルダ内のすべてのファイル、フォルダを選択して右クリックし、適当な圧縮ツールを使って圧縮します(Windows標準であれば右クリック→送る→圧縮(zip形式)フォルダー)

上記作業完了後のBladeSong_Main_Contentのフォルダ構成

00 Main
01 BAB female body {Biu}
01 Eyecandy {Exnem,HGEC}
01 Fantasy Figures {Corwyn}
01 Seamless Male {Robert}

00 Mainフォルダ内のデータのうち、01(以下略)フォルダ内のデータと競合するものは01の方が00 Mainのファイルを上書きします。

BCF (BAIN Conversion File) Edit

BCFは、OBMMにしか対応していない MOD や、 BAIN フレンドリーではない MOD を BAIN のディレクトリ構成に変換して BAIN で管理しやすくするファイルです。そのため、どのファイルをディレクトリに移動するかという情報しか持っていないため、BCFはせいぜい20kB程度の容量しかありません。BCFを解凍すると拡張子が .dat のファイルが見つかります。それをエディタで開くとディレクトリ情報などが記載されています。

BCFは何が便利か Edit

BCFは、まだOBMMが主流で、BAINが普及する前に作られ、その後は開発が途絶えて作者と連絡が不能になってしまったMODを、どうしてもBAINで管理したい、という人のためにあるものだと思ってもいいでしょう。全部自力でBAINに変換すればよいですが、一度誰かが苦労して体験たことを、他の大勢の人がまた苦労して二度手間になってしまうのは、時間と労力の無駄であり、インストールに関する質問が何度もしつこく殺到する多くのMODコミュニティにとっても勿体無いことです。複雑な構成を持ったMODほど、BAINに対応させるのは困難といえるでしょう。BCFはその無駄な時間と労力を減らしてくれます。そのため、BCFはMODのインストールに苦労する人を減らすだけでなく、コミュニティで無駄な質問をする人も少なからず減らしてくれることでしょう。

BCF (BAIN Conversion File) の使い方 Edit

ここでは、 C:\Program Files (x86)\Bethesda Softworks\Oblivion にWrye Bashをインストールしたと仮定して解説します。

BCFの入手先 Edit

BCFは有志が作成しているものであり、MOD開発者が用意してくれているものではありません。

例として、以下のようなサイトでBCFが見つかります。


*1 BAB、Eyecandy、Fantasy Figureの3つの女性体型・装備フォルダは決して使わないものを削除するのは問題ありません

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS