次の三種類の方法があります。MODの種類に応じて、またはお好みで選択して下さい。
アーカイブ内に ini ファイルが含まれている MOD は普通この場所に入れます。
例:『Example Mod』という MOD をインストールしたい場合は (本体インストール先)¥Mods¥Example Mod¥ を作りその中に Assets や Resources などを入れる。
ここに入れた MOD は次のいずれかの方法でロードします。ただし一回のゲームでは一つの MOD しか使用できません。二つ目の MOD をロードしようとすると前に読み込んだ MOD は取り消されます。
mod = Mods/Example Mod※パスの区切りは "/" でも "¥" でもどちらでも大丈夫です。
ini ファイルを含んでいない(CustomAssets に入れることを想定している)MOD でも、自分で Mods フォルダの下に専用フォルダを作って展開してやれば大抵同じ方法でロードできます。この場合 ini ファイルは自動生成されます。
現在のユーザーだけが利用可能となる点を除き、本体の下の Mods フォルダに入れた場合と同じ扱いになります。
専用フォルダは作らず、アーカイブ内の各ファイルをそれぞれCustomAssetsの下の対応するサブフォルダ(Art、Python、XMLなど)にコピーします。
ここに入れたファイルは何もしなくても全てのシングルプレイにおいて毎回自動で読み込まれます(マルチプレイでは読み込まれません)。複数のMODを入れれば同時に使うことができ、さらにModsフォルダ内の MOD をロードした後も引き続き適用されます。
ただしこの結果 MOD 同士が競合を起こす可能性もあるので注意が必要です。またファイルが散らばるためアンインストールにも手間がかかります。
ini ファイルを含んでいる(Modsフォルダに入れることを前提としている)MOD でも、該当ファイルを抜き出してここに展開すれば使用可能な場合があります。ですが前述のように競合する可能性があるため、大がかりな MOD をCustomAssetsに入れるのはおすすめできません。インタフェース強化などの小さなMODを入れる時に使うとよいでしょう。
MOD によってはこれ以外のインストール方法が指示されている場合もあります(たとえば本体のファイルを直接置き換えるなど)。その場合は各 MOD の説明に従って下さい。
Windows のコントロール パネルから地域と言語のオプションを英語に変えてゲームを起動すると正常に表示されます。
英語版の Civ4 は通常 Firaxis Games¥Sid Meier's Civilization 4 という構成になっていますが、日本語版では CYBERFRONT¥Sid Meier's Civilization 4(J) という構成に変更されています。この為、英語版用の MOD 内で参照パスが指定されている場合、インターフェース関連が全く表示されなくなってしまいます。
2chのMODスレ428氏が解決方法をあげてくださっています。
SevoMod に限らず、日本語版でその現象が出る多くの理由は config を読み込むMODで、¥python¥INIParser などにある CvPath.py のレジストリ指定が英語版のものになっているためだと思われます。
レジストリの指定を日本語版に変更すればいいようです。
def _getInstallDir(): return __getRegValue(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE¥CYBERFRONT¥Sid Meier's Civilization 4(J)", "INSTALLDIR")
Sevomodの場合はそれに加えて、¥Assets¥res¥font のフォントファイルを変更しないとハンマーなどが化けます。
日本語版の MOD を英語版で使うときは、逆に
def _getInstallDir(): return __getRegValue(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE¥Firaxis Games¥Sid Meier's Civilization 4", "INSTALLDIR")
に変え、¥Assets¥res¥font フォルダに英語版用のフォントファイルに変更する。
他に考えられる原因として、パスに2バイト文字が含まれていると(ユーザ名等)、同様の不具合が出ることがあります。
その場合は、ユーザー名の変更や MOD を別の場所に入れる等して、パスに2バイト文字が含まれないようにしてください。
XML ファイルのテキスト定義に <Japanese> を追加してやるとうまくいくケースもあるみたいです。 もっともテキスト定義は数が多くなるので全部追加するのは難しいですが・・・
XMLファイルの例: <Civ4GameText xmlns="http://www.firaxis.com"> <TEXT> <Tag>TXT_KEY_AIAUTOPLAY_CANCEL</Tag> <English>Cancel</English> <French>Cancel</French> <German>Abbrechen</German> <Italian>Cancel</Italian> <Spanish>Cancel</Spanish> <Japanese>Cancel</Japanese> <!-- この行を追加する --> </TEXT> </Civ4GameText>
下記例は日本ユニット変更
まずhttp://www.civfanatics.com/等から画像を拾います、
http://stack-style.org/SidGame/?off=75 ここにいっぱいあります
次にその画像ファイルを¥Art¥Unitsに置きます
次に¥XML¥Civilizations¥CIV4CivilizationInfos.xmlのJAPANを見てみると、
ユニットアートスタイルがASIANになっています、これをJAPANに変更します、
しかしJAPANスタイルなどまだできてないので、次に¥XML¥Art¥CIV4ArtDefines_Unit.xmlを開きます、
新しいユニットを追加していきます、弓兵なら弓兵をコピペして、名前(例ART_DEF_UNIT_ARCHER_JAPAN)と、
関連画像ファイル<NIF>、アニメファイル<KFM>、??<SHADERNIF>の位置指示文字を変えます。
位置は最初に置いたフォルダの位置です、*.kfmが入っていない場合、どのアニメーションファイル(*.kfm)を
使用するか考えて指示しましょう、他のユニットのもの、場所を指示しても問題ありません。<SHADERNIF>は<NIF>と同じ指示でOK。
次に同フォルダCIV4UnitArtStyleTypeInfos.xmlを開き、JAPANスタイルを作ります、例JAPANなら、まずはアジアンスタイルなどをコピペして、必要なユニットだけ、追加、変更すればよいでしょう、で、完了のはずです。
アニメーション設定のKFMファイル内部でデフォルトのNIFファイル名が指定されています。
ユニットを非選択状態でスクロール等を行ったりするとユニット画像が元のものに戻ってしまいます(ユニットを再度選択すれば差し替えた画像に戻る)。
これを解消するには差し替えたNIFファイルと同じフォルダにKFMファイルをコピーし、且つNIFファイルの名前を「KFM内部で指定されているデフォルトNIFファイル名」と同じ名前に変更することで解決できます。
「KFM内部で指定されているデフォルトNIFファイル名」を調べるにはKFMファイルをメモ帳などのテキストエディタで開き「.nif」で検索すれば簡単にわかります。
なお、KFMファイルをコピーしてくる場合は一緒に「.KF」ファイルもコピーする必要があります。
※ 注意:~_freeze~.kfはコピーしないほうがいいです。(どうやら”停止中”のアニメーション画像のようです)。