データバージョンについて

現行のカードワースエディタが生成するシナリオデータは、バージョン4です。
ここに記載されているのは全てバージョン4のデータですので、 他のバージョンとは当然違っていると思います。
他のバージョンというのは、新エンジンが生成するセーブデータはおそらく バージョン5です。
それに今後どうなるか分かりませんから、少し記憶に留めておいてください。

各種括弧記号について

( )
4バイト整数。必要なら符号付き
数値やスライドバー、ラジオボタンなどで主に使われる。
使用例:(フラグ数)
バイナリ列の例:05 00 00 00 (5)

( 1B)
1バイト整数
整数の事もあるし,0,1のブール値の時もある。(Cには区別がない)
例:(オート/カスタム1B)

< >
(文字列長)+ヌル終わり文字列(C言語のchar配列)
文字列長は1以上の4Byte整数。 合計バイト数は4+文字列長となります。
例:<フラグ名>
例:06 00 00 00 'f' 'r' 'a' 'g' 'A' 00 (fragAという文字列)
(注:'f'は"f"のASCIIコードが入っていると思ってください)

[ ]
(データ長)+データ
何かの生データの場合と,改行等で終わる文字列の場合等、両方に使っています。
<>との大きな違いは、データ無しの場合 00 00 00 00 の4Byteになります。
ただし例外もあり、基本的に補足をいれてます。
文字列の場合は改行(\r\n)が入るデータに多いみたい。 BorlandのTMemoクラスなのかなと推測。或いはTStringsかもしれない。
合計バイト数は4+データ長となります。
例:[画像データ]

{ }
何かデータの固まり
必ず他の場所で追加の説明を付けています。
また、×個数分と書いてある場合は、直前にある個数のデータの数だけ繰り返します。 個数が0の場合はこの{}部分自体が無くなります。
例:(フラグ数){フラグデータ×個数分}

その他、データの値が固定(というか殆どの場合0固定で未解読)の場合などは、 全角で数字を直接書いたりしています。

エディターバージョンについて

現行のエディターはバージョン4です。
で,その4ですが,データ内では4万(2進数で9C40)の形となっていると 予測してます(他に4が出てこないのが最大の理由)。いろんな所に 必要データ+4万の形で格納されていたりするので,なんかややこしいです。
手元に他のシナリオバージョンのエディタがないので,確認できないのですが, 今の所致命傷はでていません。

とりあえず,+4万って書いてあればバージョンなんだなって見て下さい。

画像データに関して

[画像データ]という形で出てきます。 よって、(画像データ長)+画像データとなっているのですが、 そのデータ部分は「画像ファイルそのまんま」です。 つまり,その画像ファイルをバイナリで見たのと同じのが入ってます。

謎について

未解読部分なので,(謎の0)とか書いてあっても本当は[謎の0]なのかもしれません。
つまり本当に4バイト整数なのかとか怪しいです。情報プリーズ!
ちなみに、(謎の0)だと、 00 00 00 00 であり、(謎の01B)は 00 を表します。

戻る