基本形式
データを構成する値の最小単位です。
形式名は既存のプログラミング言語から意味の近しい型を借用していますがあくまで便宜上の名前です。
形式 | 説明 | 出現箇所 |
---|---|---|
ber | BER圧縮整数。展開後の値はint相当 | 最頻出。多くの項目で用いられる |
bool | 1バイトの真偽値(0が偽、それ以外は真) | 主にチェックボックスで設定する値 |
byte | 符号付き1バイト整数(-128~127) | 主にラジオボタンで設定する値 |
short | 符号付き2バイト整数(-32768~32767) | キャラステータスやマップのチップIDなど |
int | 符号付き4バイト整数(-2147483648~2147483647) | エリア情報やクリップボード格納時のデータサイズなど |
double | 符号付き8バイト浮動小数(5.0e-324~1.7e+308) | セーブ日時 |
文字列 | Shift_JISエンコーディングのNULL終端を持たない文字列 | ファイル名やメッセージなど |
配列
基本形式の配列は上述の値が単純に連続して並びます。
たいていの場合は直前にサイズ情報(配列の要素数ではなくバイト長)が得られます。
構造体
基本形式を組み合わせたひとまとまりのデータを構造体とします。
ここでは汎用的な構造体を扱っています。
データベースやマップなどの固有の構造体については専用のページを参照してください。
ペアデータ
200Xのバイナリデータは多くの場合「値とそれに紐付けられた番号」がセットになって格納されています。
この番号と値の組み合わせをペアデータとします。
内容 | 形式 | 備考 |
---|---|---|
番号 | ber | |
値のサイズ | ber | 形式を問わずバイト長で指定 |
値 | 基本形式 or 配列 or 構造体 |
オブジェクト
1つ以上のペアデータを含む構造体です。
例えば「名前、レベル、ステータス等の要素(ペアデータ)を持つ主人公データ」がオブジェクトにあたります。
各ペアデータは番号が若い順に格納され、重複はありません(仮に重複していた場合は後のもので上書きされます)。
そのため番号をキーとした順序付きの連想配列とみなすこともできます。
また、ペアデータの値が初期値と同じなものは省略が可能です。
内容 | 形式 | 備考 |
---|---|---|
ペアデータ1 | ペアデータ | |
ペアデータ2 | ペアデータ | |
... | ||
0 | ber | オブジェクトの終わりを表す そのため0はペアデータの番号に使われない |
オブジェクトリスト
オブジェクトの配列のような構造体です。
多くの場面でそのように扱われますが、中にはインデックスにあたる番号(ID)が飛び飛びになるケースが存在するので注意が必要です。
内容 | 形式 | 備考 |
---|---|---|
オブジェクトの総数 | ber | |
オブジェクト1のID | ber | |
オブジェクト1 | オブジェクト | |
オブジェクト2のID | ber | |
オブジェクト2 | オブジェクト | |
... |
ファイルヘッダ
200X独自フォーマットのファイルのバイナリ先頭に存在し、そのデータの種類を表すシグネチャのようなものです。
内容 | 形式 | 備考 |
---|---|---|
文字列のサイズ | ber | バイト長 |
シグネチャ | 文字列 | Lcf*** |
イベントコマンド
コモンイベント、マップイベント、バトルイベントに含まれるイベントコマンドです。
内容 | 形式 | 備考 |
---|---|---|
コマンドコード | ber | |
インデント | ber | 繰り返し処理などで中のコマンドが一段下がる時のようなコマンドの深さを指す 単にエディタでの表示だけでなくイベント実行時にも使用される |
文字列引数のサイズ | ber | バイト長 |
文字列引数 | 文字列 | 文字列引数を取らないコマンドでは空文字列 |
数値引数の数 | ber | |
数値引数 | ber[数値引数の数] |
イベントデータ
イベントコマンドの配列とほぼ同義です。
末尾にはイベント終端を表す専用コマンドが格納されます。
内容 | 形式 | 備考 |
---|---|---|
イベントコマンド1 | イベントコマンド | |
イベントコマンド2 | イベントコマンド | |
... | ||
終端コマンド | イベントコマンド |