KanonブックをStandard Editionに対応させる方法
注意
この文書は作者向けであり、読者向けのものではない。この方法で書き換える場合には、バックアップを取り、自己責任で行うようお願いする。
また、この方法はace氏のKanon Standard Edition用テンプレートを導入していることが前提である。
無難に行くならば、通常版とSE版を別ファイルにするとよいが、1つのブックで両方に対応できるように書き換える方法を記す。
実際に書き換えた例については、筆者のDNMLブックを参照するとよいかもしれない。
まず、普通にKanonテンプレートを読み込み、その後に次の3行を追加。
<QUESTION ANSWER="(拡張子=[pdt])">
<QUESTION ANSWER="(SE=[dat])">
<QUESTION ANSWER="(フォルダ=KANON_FOLDER)">
SEにエイリアスを使っているなら、2行目は必要なし。筆者はこの部分をINCLUDEで処理している。
INCLUDEは、ブックが読み込まれた時点で優先的に全て実行されるため、SEテンプレートを導入していない環境への配慮が必要となる(→関連)。EVENT等による分岐も無関係に実行されるので、KANON SEのテンプレートのINCLUDEは、別ファイルで行う必要がある。筆者はkseというファイルを作成した。これをfilesというフォルダに格納(別に何でもいいし、フォルダを分ける必要も特に無い)。kseの中身は次の通り。
<INCLUDE SRC="kanon Standard Edition/テンプレート.dnml" FOLDER="PLAYER">
<QUESTION ANSWER="(拡張子=[g00])">
<QUESTION ANSWER="(SE=[wav])">
<QUESTION ANSWER="(フォルダ=KANON_SE_FOLDER)">
<A HREF="{kse}">
このようにファイルを分けなければ、Kanon SEテンプレートが無い場合に、実行時にエラー(SEテンプレートが見つからない)が出る。
次に、インストール判定を以下のように。
<EVENT ANSWER="(KANON_SE_INSTALLED)">
<QUESTION ANSWER="(kse=[../(ファイル名)#kse])">
<A HREF="files/kse">
</EVENT>
(CD要求メッセージ)<p>
<A NAME="kse">
1行目でKanon SEがインストールされているかどうかを判定。インストールされていないならば、EVENTの中身を無視してCD要求メッセージを表示。インストールされていれば、3行目でkseにジャンプし、Kanon SEテンプレートを読み込む等の処理を行い、6行目に戻ってくる。そのため、CD要求メッセージは表示されない。2行目はkseから戻ってくる時のパス指定。(ファイル名)の部分はDNMLブック毎に違うので、それぞれ変更する。
ここまでが前準備。これから本編部分の書き換えを行う。一括置換機能のあるエディタを使うと楽になる。置換する内容を次に示す。
・ 『PDT』を『{拡張子}』に置換
・ 『FOLDER="KANON"』を『FOLDER="{フォルダ}"』に置換
・ 『<BGM』を『<BGM FOLDER="{フォルダ}"』または『<BGM FOLDER="KANON_SE"』に置換
・ 『dat\』もしくは『dat/』を『{SE}\』または『{SE}/』に置換
3つ目の補足として、SRC属性の前にFOLDERを記述しても、有効である。
4つ目は効果音にエイリアスを使っている場合は必要なし。また、BGMにはエイリアスを使用しなければならない。
これで書き換え完了となる。ブックによっては微調整が必要な場合もあるかもしれないが。補助資料として、CD版とSE版のファイル構成の違いをまとめておく。
注意点として、AIRの画像をブック内で使用している場合、置換後に手動で元に戻す必要がある。
AIR SEは購入していないが、ファイル構成がKanon SEと同じならば、同様の方法で対応できると思われる。もちろん、AIR SEテンプレートを導入する必要有り。