|| 「踊る金狼亭」TOPメモ箱私家版エンジン関連情報>シナリオデータの互換性


現在、CardWirth系エンジンで用いられているシナリオデータ、「データバージョン4」「データバージョン7」「WSN形式」の互換性や、相互変換の方法などをまとめています。
↓形式 / エンジン→~CW1.50CWNextCWPy
データバージョン4
(1.20~1.50仕様)
データバージョン7
(NEXT仕様)
××
WSN形式
(PY仕様)
××

なお、シナリオを別の形式に変えるときは、必ず変換直前のコピーを作成して保管しておきましょう!
3つの形式を相互変換することはできますが、その際にひと手間──場合によっては、かなりの手間がかかります。
各種エディットツールと、作成したシナリオが利用できるエンジンの対応は、このページのいちばん下の表をご覧ください。


データバージョン4(1.20~1.50仕様:全エンジン向け)

groupASK時代から使われてきた公式フォーマット。CW1.30以降に多少拡張されている。
CW1.20~1.50のほか、私家版のNextやPyでも利用できる
  • データバージョン4は公式フォーマットであるため私家版でもサポートされているが、エンジン毎に仕様に微妙な違いがあるため、ごく稀に私家版では正常に遊べない場合がある。
    また、非公式の作成ツールによる一部仕様が公式とは異なるデータバージョン4も存在し、それについては対応する私家版専用となる。
  • データバージョン4より古い公式フォーマットに、データバージョン0や2(や3?)がある。
    これらは基本的にデータバージョン4と同様に考えて良いが、CardWirthEditor以外で編集する場合は要注意
    編集を行う前にCardWirthEditor1.25以降で開いて上書き保存し、データバージョン4に変換しておくと、より安全に作業できる。

作成に使用できるツール

  • 公式エンジンに付属の作成ツール
    • CardWirthEditor と WirthBuilder ver.1.1.38までがある。
  • CWXEditor ver.2.0 β15以降 …クラシックシナリオとして保存した場合
    • 最初からデータバージョン4で作る場合は、新規作成時に [クラシック] を選択する。
    • CWXEditorとその他のデータバージョン4向けのシナリオ作成ツールでは画像格納(など?)の仕様に違いがあり、BMP以外を格納すると他のエンジンでは遊べなくなる場合がある。
      クラシックシナリオなら他のエンジンでのプレイが確実に保証されるわけではない点に、注意が必要。
    • CWXEditorでCW1.50などで遊べるクラシックシナリオを作りたいときは、事前に、ツール>エディタ設定の「その他」タブで、対象エンジンを「CardWirth 1.50」もしくはより古い公式エンジンに設定しておこう!
      この設定によってPy以外のエンジンで問題が発生する部分に警告が表示されるようになり、間違いが起きにくい。

他の形式への変換

★データバージョン7(Next専用)に変換
WirthBuilder(ver.1.2.0以降/Next付属のもの)で開き、保存する。
なお、保存は上書きで行われる。変換前の状態のコピーを作成していない場合、データバージョン4のデータは失われる。
★WSN形式(Py専用)に変換
CWXEditor(ver.2.0 β15以降)で開き、「名前を付けて保存」からWSN形式のシナリオとして別フォルダに保存する。
また、CWXEditorでは [クラシック] と 非[クラシック] の間で切り貼りが可能で、データバージョン4のシナリオからパッケージやイベントだけを部分的に移植することもできる。
  • 専用の設定拡張部はデフォルト値で追加される。
[▲上へ]

データバージョン7(NEXT仕様)

私家版エンジンの1つ、CardWirhNext専用のシナリオ形式。CW1.50やPyでは利用できない
シナリオに属するファイルの構成はデータバージョン4と同じだが、Next独自のデータフォーマットになっている。
  • Next付属のWirthBuilder(=ver.1.2.0以降)で作成したシナリオは、必ずこの形式で保存される
    他のエンジンにないNext独自要素の存在もあるが、それ以前にフォーマット自体が異なるため、内容とは関係なく他のエンジンでは読み込めない。 Nextの独自機能を使わなければ他のエンジンでも遊べるというものではないため、その点に注意が必要。
  • CardWirthEditorやWirthBuilderの旧バージョン(ver.1.1.38まで)では読み込めず、Next側からイベントデータ等を切り貼りする事もできない。
    • 環境設定で「シナリオのファイル圧縮を無効化」をONにしても同じ。フォーマット自体が異なるため、圧縮を無効にしてもCW1.50等ではプレイできず、データバージョン4専用のツールでは編集不可能。

作成に使用できるツール

  • WirthBuilder ver.1.2.0以降(=Next付属のもの)
  • (CWXEditor ver.7 α2以降(WSN形式からのエクスポート機能を使用))

他の形式への変換

★WSN形式(Py専用)に変換
WirthBuilder(ver.1.2.0以降)で非圧縮保存した後、CWXEditor(ver.7 α2以降)で読み込むと、WSN形式に変換される。
保存する際は、「名前を付けて保存」から元のシナリオとは別のフォルダに保存する。
  • WSN形式に互換要素が無いときは、あらかじめ決められたルールでWSN形式として解釈できる形に変換され、該当する変換箇所に「@@@NEXT」というコメントが付される。
    データバージョン4やWSN形式で公開したければ、編集>検索と置換 の「テキスト検索」で上記コメント箇所を探し、変換内容が妥当か検討する必要がある。
  • カード名称の文字数がWSN形式の上限を超えていても、名称変更はされない。そのため名称が本来の上限を超えるカードが生じることがあるが、カード個別の編集画面に文字数に関する警告が表示されるものの、誤り検索では検出できない。
    このような誤り検索で探せない誤りがないか、エリア・バトル・パッケージ・各種カード(使用時イベントがあればそれも)の編集画面を1つずつ開いて、目視でエラー表示がないか確認しておくと、より安心できる。
  • CWXEditorは、データバージョン7用の正規の編集ツールではない。
    データバージョン7の読み書き周りで不具合の修正が行われる可能性もあるため、基本的に正式版の一番新しいものを使うのがお勧め
★データバージョン4(全エンジン向け)に変換
上記の方法でWSN形式に変換した後、さらにクラシックシナリオとして保存し直す。
[▲上へ]

WSN形式(PY仕様)

私家版エンジンの1つ、CardWirthPyで採用されているシナリオ形式。CW1.50やNextでは利用できない
XML形式のシナリオで、展開した状態なら容易に内容が読み取れる特徴がある。
現在、PyとPyの派生エンジンのほかに対応エンジンがないため、Py系エンジン専用と考えて差し支えない。
  • WSN形式にはいくつかのバージョンがあり、現在の最新はWsn.4。
  • CWXEditorでWSN形式のシナリオを作る場合は、必ずシナリオのWSNバージョンを満たすツールで編集すること。
    より古いバージョンのツールで編集・上書きすると、シナリオ再生に不具合が発生することがある。

作成に使用できるツール

  • CWXEditor …WSN(XML)形式のシナリオとして保存した場合
    • 最初からWSN形式で作る場合は、新規作成時に [クラシック] 以外を選択する。

他の形式への変換

今後、新たな独自要素が追加されていく可能性が高く、WSN形式から他の形式への変換は、今より難しくなることはあっても簡単になることはないと思われる。
効果系カードに独自要素を使用する場合は、宿の逆変換への影響も考えられる。
★データバージョン4(全エンジン向け)に変換
CWXEditor(ver.2.0 β15以降)で開き、「名前を付けて保存」から、クラシックシナリオとして別フォルダに保存する。
変換は自動だが、自動ゆえの注意点もある。「注意点とおすすめ手順」参照。
  • 専用要素は修正・削除できる場合は自動変換されるが、一部が消えずに残ることもある。CWXEditorの 編集>検索と置換 で「誤り検索」を行い、非対応部分を取り除く作業必須。
  • Pyのデフォルト素材のファイル形式がCW1.50などとは異なるため、かなり古いバージョンのCWXEditor(ver.3.0以前)ではクラシック形式で保存し直したものをそのまま他のエンジンのScenarioフォルダに入れても正常に動作しないことがある。
★データバージョン7(Next専用)に変換
CWXEditor(ver.7 α2以降)の「名前を付けて保存」で「CardWirthNext 1.60形式としてエクスポート」を選び、別フォルダに保存する。
  • 基本的に、データバージョン4への変換と同じことを注意すれば大丈夫なはず。
  • CWXEditorは、データバージョン7用の正規の編集ツールではない。
    データバージョン7の読み書き周りで不具合の修正が行われる可能性もあるため、基本的に正式版の一番新しいものを使うのがお勧め
なお、CWXEditorでは形式が異なるシナリオ間での切り貼りが可能なため、部分的な移植も比較的簡単に行える。
  • 切り貼りした先で問題が出る部分にはエラー表示が出る(はずな)ので、そこを修正すれば良い。
    大規模に切り貼りした際は、誤り検索で検出できたエラー箇所を修正した後、さらに切り貼りした部分の中身をすべて目視で確認し、誤り検索に表示されない警告がないかなど見ておくと安心できる。

データバージョン4(クラシックシナリオ)に変換する際の注意点とおすすめ手順

変換は一定のルールに基づいて自動で行われるが、場合によっては内容が大きく変わることがある。
例えば、設定項目に該当する選択肢がないときに自動でデフォルト値が割り振られるようなケースだ。キーコードが6個以上のとき自動的に5個に削られるといった、はみ出した部分の削除もある。
手軽で便利な反面、変換後の確認を怠ると、実は内容が変わっていることに気づけない恐れがある。
そこで、自分で把握できない内容の変化をなるべく防ぐため、以下の手順をお勧めする。

CWXEditor 6.4まで

  1. クラシックシナリオとして保存し直したら、以下の手順が終わるまで、編集中のシナリオを閉じずに作業を続ける。
  2. CWXEditorの設定で、「対応エンジン」の項目を移植先のエンジン(CW1.28~1.50のどれか)に変更する。
  3. 誤り検索を行い、何も出てこなくなるまで内容を修正。
  4. 移植先で非対応な部分を全て取り除けたら、シナリオを保存して閉じる。
クラシックシナリオとして保存し直した時点では、エディタ画面上ではWSN形式で編集中の状態がほぼ維持されている。保存したシナリオデータは自動変換後の状態だが、画面上には変換前にあったデータバージョン4にない要素がそのまま見えており、誤り検索で検出もできる。この状態で非対応部分を見つけていけば、自動変換の対象となる箇所を手作業で修正できる。
しかし、一旦編集を終了して開き直すと自動変換後の状態が読み込まれ、元々あった非対応要素のうち自動変換で対応するように置き換えられた部分は検出できなくなる。
  • 間違って修正を終える前に変換後のシナリオを閉じてしまったときは、メッセージコンテントのみを対象に、公式エンジンが非対応なコンテント名でテキスト検索をかけてみよう。自動変換箇所の一部は、これで探せる。
  • 効果系カードの効果音を参照で設定している箇所(など?)は、クラシック形式で保存した時点で即修正されてしまい、編集終了前の誤り検索でも分からない。
    上の手順で、気づかないうちの内容変化を全て防げるわけではない。

CWXEditor 7以降

  1. クラシックシナリオとして保存し直す前に、移植先のエンジン(CW1.28~1.50のどれか)を基準バージョンとして誤り検索を行い、何も出てこなくなるまで内容を修正。
  2. 誤り検索で見つかる非対応要素を取り除き終わったら、クラシックシナリオとして保存。
  3. CWXEditorの設定で、「対応エンジン」の項目を移植先のエンジン(誤り検索で指定したのと同じ)に変更する。
  4. エリア、バトル、パッケージ、各種カードの編集画面を1つずつ開いて、目視でエラー表示がないか確認→あれば修正。
    (※キャストは所持カード、効果系カードは使用時イベントも見るのを忘れずに!)
  5. エラーがないことを確認するか、エラーが出ている部分を全て取り除けたら、シナリオを保存して閉じる。
CWXEditor 6.4までは、設定で「対応エンジン」をCW1.28~1.50にしても、WSN形式で編集中は自動的にPyエンジンを基準として誤り検索が行われていた。CWXEditor 7以降は、WSN形式で編集中も、誤り検索画面で「基準バージョン」に設定したエンジンを基準として検索を実行できる。
  • Next仕様シナリオの読み書き対応の影響か、これまで即修正だった効果系カードの効果音を参照で設定している箇所は、そのまま残るようになった。誤り検索では検出できないが、カードの編集画面にはエラー表示が出る。
(※いずれにしても、誤り検索やエラー表示に100%頼らず、大事なところは目視で確認することをお勧めします。)

[▲上へ]

エディットツールと作成したシナリオが利用できるエンジンの対応

↓作成 / 再生→公式版私家版
~1.291.301.50NextPy
CWEditor1.28
(CW1.28付属)
WB1.0.8
(CW1.30付属)

(※1)
WB1.1.38
(CW1.50付属)

(※1)

(※1)
WB1.2.0以降
(CWNext付属)
××××
CWXEditor
(CWPy付属)

(※2)

(※2)

(※2)

(※2)
(CWEditor=CardWirthEditor,WB=WirthBuilder)

(※1)新たに追加された新コンテントなどを使用した場合に再生できない。

(※2)WSN形式や、データバージョン4でもPNG・GIFを格納したシナリオはプレイできない。

[▲上へ]