今回はマップ構成設定の作り方について説明します。素材はFF5_mapdemoで試験的に
導入したロマサガ1の遊牧民の村を用います。
マップ構成設定は画面上の1マスのマップチップを定義するデータで、1マスは16 * 16
ドットです。実際には8 * 8ドットのチップを左上、右上、左下、右下に配置しています。
チップは上下反転(Vertical flip)や左右反転(Horizontal flip)が可能で、建物などの左右
対称の部分は片側だけ画像を作って反対側は反転させることでデータを節約可能です。
領域に余裕がある場合は無理に反転させず、両側の画像データを登録してしまっても
いいと思います。
FF5_mapdemo.smcの$3D0048-3D0400まで(953Bytes)をバイナリエディタでコピーして、
新規作成に貼ってtest.binで保存して下さい。次に、test.binをファイル解凍プログラム
(dfwin.exe)で解凍して出てきたtest_d.smcを付属のBNE2のChip_componentsで開いて
下さい。なにやらわけのわからない数値が並んでいて解読困難かと思います。
![]() |
![]() |
今度はマップチップ 002宝箱(閉)のデータを見てみます。こちらは上位バイトが0x0Cと
なっています。これを2進数にしますと、00001100となります。4+8=12で0x0Cです。これ
はパレット3を指しています。ここでの数値は0x0Cですがパレット番号の解釈としては
3Bitsなので011と読み替える必要があり、やや面倒です。マップ関連のデータは、この
ようにビットを切り分けたものを1バイトに詰め込んでいたり、ものによっては複数バイト
横断で強引に詰め込まれていたりして切り分けが非常に面倒な場合もあります。
次はマップチップ 008です。右上の画像で、バッツがいるチップの真上のチップです。
左上以外は上位が0x24です。2進数にしますと00100100で、左から3つ目の1は遮蔽
フラグです。これが立っているとチップ画像が優先されてキャラ画像の上に重なります。
右から3つ目の1はパレット指定で、001なのでパレット1です。ここまでで3つのチップを
例にマップ構成設定データの上位バイトを説明しました。上下反転や左右反転も遮蔽
フラグと同じように16進電卓で一旦2進数にすると判別が楽かと思います。上位バイト
の各ビットの用途を理解すれば、BNE2でのマップ構成設定の作成も道半分です。残り
は下位バイトとチップ画像データの関連づけです。これを理解すればFF5に別作品の
チップを導入したり、オリジナルの構成設定を作ったりできます。次回は下位バイトと
画像について説明します。今回はこれにて終わります。