|| 「踊る金狼亭」TOPメモ箱>バリアントと拡張DLL

対応】 CardWirth Extender 1.4.0以降、1.7.0まで
大江戸バリアントや学園バリアントにCardWirth Extender(以下、「拡張DLL」と表記します)を導入しようとして、つまづいた方もいらっしゃるのでは、という事で。

バリアントエンジンへの拡張DLL導入方法は、
  1. エンジン本体にパッチを当てる。
  2. 拡張を構成する各ファイルのうち、CardWirth.exe以外を指定された場所にコピー。
という手順になりますが、場合によっては、あともうひと手間必要になります。
セーブデータを見る際、拡張DLL側で「Yado」フォルダを呼んでいるため、セーブデータの保存フォルダ名が「Yado」でない場合にエラーが出るからです。

これを解決するには、拡張DLLの修正が必要です。
TwitterでCardWirth Extenderの作者さんにお尋ねしたところ、DLL内のセーブデータの場所を個人で書き換えても良いという事でしたので、修正場所を書いておきます。
※※※
拡張DLLを自力で書き換えた場合、原則バグ報告の受け付け対象外となります。ご注意下さい。
詳しくはCardWirth Extender FAQをご覧下さい。

Case1:バリアントの種類毎にインストールフォルダを分けている場合

パッチとファイルのコピーを終えたら、extender.dllをバイナリエディタで開きます。
DLLの中身を「yado\」で文字列検索して下さい。2箇所あるはずです。

「yado」×2箇所を、そのバリアントのセーブデータ保存フォルダ名に書き換えれば、エラーは出なくなります。
例えば大江戸バリアントなら「yado」→「naga」、学園バリアントなら「yado」→「heya」といった具合です。

[▲上へ]

Case2:複数バリアントやノーマルエンジンを同じフォルダ内に共存させている場合

エンジンの種類毎(正確にはセーブの保存場所毎)に拡張DLLを準備する必要があります。
  1. まず、パッチとCardWirth.exe、extender.dll以外のファイルのコピーを済ませて下さい。
  2. 次に、共存なしの場合を参考に、それぞれのバリアントに対してセーブデータの場所を適当に書き換えた拡張DLLを準備します。
  3. 準備した拡張DLLをお互いかぶらないように変名し、エンジンと同じ場所に置きます。
    この時、変名前後でファイル名の文字数は同じにして下さい(拡張子まで含めて12文字)。
  4. バイナリエディタで各バリアントのエンジン本体を開きます。
  5. 文字列「extender.dll」を検索で探し、そのバリアント用の拡張DLLの名称に変更します。 この修正を、変名DLLを準備した全てのバリアントエンジンに対して行います。
共存方法は、以上です。
この際、バリアントの種類毎にインストール場所を分けた方が早いかもしれません。

↓共存例/[ ]付きはフォルダ
[CardWirth]
├[D_E1] …□大江戸バリアント データフォルダ
├[D_M1] …◎現代I型バリアント データフォルダ
├[D_S1] …◇学園バリアント データフォルダ
├[Data] …●ノーマルエンジン データフォルダ
├[heya] …◇学園バリアント セーブフォルダ
├[Naga] …□大江戸バリアント セーブフォルダ
├[Ohanashi] …□大江戸バリアント シナリオフォルダ
├[Rumormil] …◇学園バリアント シナリオフォルダ
├[Scenario] …●ノーマル/◎現代I型 シナリオフォルダ
├[Scheme]
├[source]
├[Yado] …●ノーマル/◎現代I型 セーブフォルダ

├CardWirth.exe …●ノーマルエンジン(内容変更なし)
├CardWirthEditor.exe
├ModernWirth.exe …◎現代I型バリアントエンジン(内容変更なし)
├OedoWirth.exe …□大江戸バリアントエンジン(変更:「extender.dll」→「ext_oedo.dll」)
├OedoWirthEditor.exe
├S_C_Wirth.exe …◇学園バリアントエンジン(変更:「extender.dll」→「ext_gaku.dll」)
├SchoolWirthEditor.exe
├JPTXMaker.exe
├JPYMaker.exe

├cwconv.dll(v.1.6.0.0)
├ext_oedo.dll …□大江戸バリアント用拡張(変更:「yado」→「naga」×2箇所)
├ext_gaku.dll …◇学園バリアント用拡張(変更:「yado」→「heya」×2箇所)
├extender.dll …●ノーマル/◎現代I型共用拡張(内容変更なし)
├*.chm
├*.txt
├cwex.ini
└jptxTag.ini

[▲上へ]