ファイルフォーマット の変更点


[[トップページ]]

- このページは、ウディタ用の外部ツールを作成する人を対象としたページです。
- まだまだ未完成です。

#contents

* 文字列データ [#r1da46e9]
|項目|バイト数|備考|
|文字列の長さを表す整数|4|文字列長|
|文字列データ|X|上記で指定した実際の文字列データ。文字列の末尾を表す'\0'が最後に付加される。|

* .commonファイルフォーマット [#v0b32564]
- この節では、コモンイベントを保存する際に生成される.commonファイルのファイルフォーマットを解説しています。

|内容|バイト数|備考|
|(ファイル先頭)|-|-|
|.commonファイルであることを示すマジックナンバー|4|6C 38 0C 03|
|.commonファイルに含まれるコモンイベント数|4|-|
|コモンイベント|X|後述する[[コモンイベント>#s9b76f2d]]が上記個数|
|(ファイル末尾)|-|-|


* コモンイベントフォーマット [#s9b76f2d]
- この節では、.commonファイルに含まれるコモンイベントのフォーマットを解説しています。

|内容|バイト数|備考|
|(コモンイベント先頭)|-|-|
|マジックナンバー|1|8E(1つのコモンイベントイベントの始まりを示すマジックナンバー)|
|ID|4|コモンイベントの番号|
|起動条件の比較方法|0.5(上位バイト)|00:より大きい 10:以上  20:と同じ  30:以下  40:より小さい  50:以外  60:とのビット積|
|起動条件|0.5(下位バイト)|00:呼び出しのみ  01:自動実行  02:並列実行  03:並列実行(常時)|
|起動条件の変数番号|4|後述|
|起動条件の比較値|4|-|
|数値入力の個数|1|-|
|文字列入力の個数|1|-|
|コモンイベントの名前の文字列データ|4+X|-|
|イベントコマンド数|4|-|
|イベントコマンド|X|後述する[[イベントコマンド>#m8d458cd]]が上記個数|
|オプションデータサイズ|4|(現在のところ、メモ用以外には使用されていない?)|
|オプションデータ|X|stub|
|メモの文字列データ|4+X|コモンイベントのメモ欄に表示される文字列データ|
|チェックデジット|1|データ配列が正常に並んでいるかチェック。この値が0x8Eか0x8Fでない場合は強制終了する。|
|入力する数値と文字列の個数|4|現在は0A固定|
|数値1の意味|4+X|-|
|数値2の意味|4+X|-|
|数値3の意味|4+X|-|
|数値4の意味|4+X|-|
|文字列1の意味|4+X|恐らく使われていない|
|文字列1の意味|4+X|-|
|文字列2の意味|4+X|-|
|文字列3の意味|4+X|-|
|文字列4の意味|4+X|-|
|数値1の初期値の文字列|4+X|恐らく使われていない|
|入力する数値と文字列の個数|4|-|
|数値1の特殊指定|1|00:特殊な設定をしない 01:データベース参照 02:選択肢を手動作成|
|数値2の特殊指定|1|同上|
|数値3の特殊指定|1|同上|
|数値4の特殊指定|1|同上|
//未使用?
|-|1|-|
|-|1|-|
|-|1|-|
|-|1|-|
|-|1|-|
|入力する数値と文字列の個数|4|-|
|数値1の選択肢|4+X|[[選択肢フォーマット>#f7as8432]]参照|
|数値2の選択肢|4+X|同上|
|数値3の選択肢|4+X|同上|
|数値4の選択肢|4+X|同上|
//未使用?
|-|4|-|
|-|4|-|
|-|4|-|
|-|4|-|
|-|4|-|
|-|4|-|
|入力する数値と文字列の個数|4|-|
|-|4+X|[[データベース参照フォーマット>#jikd85s]]又は[[選択肢を手動作成フォーマット>#kdsa6r3]]参照|
|入力する数値の個数|4|初期値は05|
|数値1の初期値|4|-|
|数値2の初期値|4|-|
|数値3の初期値|4|-|
|数値4の初期値|4|-|
|チェックデジット|1|データ配列が正常に並んでいるかチェック。この値が0x8Fか0x90でない場合はロードできない。|
|コモンイベントの色|4|00:黒 01:赤 02:青 03:緑 04:紫 05:黄色 06:グレー|
|チェックデジット|4*125|全て0x01でない場合は強制終了する。|
|チェックデジット|1|0x91固定|
|チェックデジット|4|0x01固定|
|チェックデジット|1|0x91固定|
//||||
//||||
|(コモンイベント終端)|-|-|

* イベントコマンドフォーマット [#m8d458cd]
- この節では、イベントコマンドのフォーマットを解説しています。
- 1個のイベントコマンドは複数の数値データと、複数の文字列データから構成されます。

|内容|バイト数|備考|
|(イベントコマンド先頭)|-|-|
|数値データの個数|1|-|
|数値データ|X*4|数値データを上記個数|
|インデント|1|後述|
|文字データの個数|1|-|
|文字データ|X||
|動作指定フラグ|1|このイベントコマンドが動作指定か否かを表すフラグ(動作指定コマンドの場合1、それ以外の場合0)|
|動作指定|X|動作指定コマンドの場合、その内容(後述)|
|(イベントコマンド終端)|-|-|

** インデントについて [#zc1e3747]
- インデントとは字下げのことをいいます

* 動作指定コマンドの内容 [#q258aaae]
- この節では、動作指定コマンドのフォーマットを解説しています。
|内容|バイト数|備考|
|(動作指定コマンド先頭)|-|-|
|stub|||
//||||
|(動作指定コマンド末尾)|-|-|

* 各種イベントコマンドのフォーマット [#t02b997d]
- イベントコマンドの詳細について解説を行います。
- [[イベントコマンドフォーマット>#m8d458cd]]を読まれていることを前提としています。

** 1個の数値データのみからなるイベントコマンド [#h8713b6f]
- イベントの種類を表す数値データ1つのみからなるイベントコマンドを以下に示します。
- 文字列データ個数は0です
|イベントコマンド|イベントを表す数値データ|
|(命令無し)-注1|00 00 00 00|
|チェックポイント|63 00 00 00|
|[[文章>#xe1816b0]]|65 00 00 00|
|文章選択肢|66 00 00 00|
|[[コメント>#xe1816b0]]|67 00 00 00|
|文章の強制中断|69 00 00 00|
|トランジション準備|A1 00 00 00|
|トランジション実行|A2 00 00 00|
|ループ中断|AB 00 00 00|
|イベント処理中断|AC 00 00 00|
|タイトル画面へ戻る|AE 00 00 00|
|ゲーム終了|AF 00 00 00|
|ループ開始へ戻る|B0 00 00 00|
|ピクチャ以外の画面更新[停止]|B1 00 00 00|
|ピクチャ以外の画面更新[再開]|B2 00 00 00|
|動作完了までウェイト|CA 00 00 00|
|イベント処理中のEv移動ON|E6 00 00 00|
|イベント処理中のEv移動OFF|E7 00 00 00|
|分岐終了-注2|F3 01 00 00|
|ループここまで-注3|F2 01 00 00|

- 注1:イベントの最後、ループや条件分岐の中などに現れる空命令。
- 注2:文章選択肢、条件分岐(変数)、条件分岐(文字列)で共通
- 注3:回数つき、回数無し両方で共通
//- 注:
//- 注:
//- 注:

- たとえば、「文章の強制中断」の場合以下のようになる。
 01 69 00 00 00 XX 00 00
 │ │          │ │ └ 動作指定命令かどうかのフラグ。動作指定命令でないので0。
 │ │          │ └ 文字列データ個数。文字列データを必要としないので0。
 │ │          └ インデントの段数。
 │ └ 「文章の強制中断」を意味する数値 69 00 00 00
 └ 数値データ個数。イベントコマンドの種類を表す数値データが1個からなるので1。

** イベントコマンド「変数操作」のイベントフォーマット [#w025b8de]
|内容|バイト数|備考|
|(イベントコマンド「変数操作先頭」)|-|-|
|数値データの個数|4|この値は5または6|
|変数操作のイベントコマンドを表す定数|4|79 00 00 00|
|操作対象の変数を表す数字|4|変数の指定方法は別途記載|
|操作に用いる左オペランド|4|同上|
|操作に用いる右オペランド|4|同上|
|操作を表す数値データ|4|詳細は別途記載|
|操作する変数の個数|0 or 4|複数の変数を操作するチェックをつけた場合は、4バイトで操作する個数を指定|
|インデントの深さ|1|-|
|文字列データの個数|1|00(「変数操作」イベントコマンドには、文字列データは含まれないので、必ず00)|
|動作指定コマンドフラグ|1|00|
|(イベントコマンド「変数操作末尾」)|-|-|

** 文章表示・コメント文のイベントフォーマット [#xe1816b0]
|内容|バイト数|備考|
|(イベントコマンド先頭)|-|-|
|数値データの個数|4|この値は1|
|変数操作のイベントコマンドを表す定数|4|文章表示の場合は65 00 00 00、コメント文の場合は67 00 00 00|
|インデントの深さ|1|-|
|文字列データの個数|1||
|文字列データ|X|表示する文字列またはコメント|
|動作指定コマンドフラグ|1|00|
|(イベントコマンド末尾)|-|-|

** マップチップ上書きイベントコマンドフォーマット [#q0fa4982]
|内容|バイト数|備考|
|数値データの個数|4|必ず7|
|マップチップ上書きイベントコマンドを表す定数|4|F2 00 00 00|
|対象レイヤ|4||
|起点X座標|4||
|起点Y座標|4||
|上書きする横幅|4||
|上書きする縦幅|4||
|上書き後のマップチップナンバー|4||
|文字列データの個数|1|必ず0|

* 数値特殊指定のフォーマット [#ui912kd]
** 選択肢フォーマット [#f7as8432]
|内容|バイト数|備考|
|選択肢の個数|4|データベース参照時の『「-1〜「-3」を追加する』をチェック時は3固定|
|選択肢nの文字列データ|4+X*Y|Y=選択肢の個数|

** データベース参照フォーマット[#jikd85s]
|内容|バイト数|備考|
|数値データの個数|4|DB時は3固定|
|数値nの対象DB|4|00:システムDB 01:ユーザーDB 02:可変DB|
|数値nのDBタイプ|4||
|『「-1〜「-3」を追加する』のチェック状態|4|未チェック時:0 チェック時:1|

** 選択肢を手動作成フォーマット[#kdsa6r3]
|内容|バイト数|備考|
|数値nの選択肢の個数|4||
|選択肢mの内部値|4*X||


//** (テンプレート)イベントコマンドフォーマット
//|内容|バイト数|備考|
//|数値データの個数|4||
//||4||
//|文字列データの個数|1||
//|文字列データ|X||
//|(イベントコマンド末尾)|-|-|

* このページに関するコメント [#n6ed0eb6]
このページに関するコメントがございましたらこちらへどうぞ。&br;
:|【注意!】&br;
:|疑問・質問・相談・要望などへの回答は期待しないでください。&br;
:|また、コメントへの回答・指摘される方は冷静に余裕を持ってお願いします。&br;
- しょぼいですがマップデータ(mps)を少しだけ。 0x0A:マジックナンバー(57 4F 4C 46 4D,WOLFM) 0x22=タイルセットの番号 0x26=マップの横サイズ 0x2A=縦サイズ (0x1D=なし) -- [[カラーブラウン管]] &new{2014-07-16 (水) 19:58:27};

#comment