RMBフォーマットについて
この文書は、「プチコン3号」「プチコンBIG」での利用を前提とした、マップデータ保存形式の「RMBフォーマット」について述べる。
同一の拡張子を有する、他のフォーマットとは関連が無い。
この文書は、文中でバージョンを示した箇所を除き「RMBフォーマット」のバージョン&H140に基づいて記述されている。
2023/03/26…バージョン&H140制定
主要な規則
- RMBファイルは、32bit符号付き整数型の1次元の配列変数である。
- RMBファイルは、1つのヘッダと、1つ以上のセクションによって構成される。
- ヘッダは、すべてのセクションよりも先に存在しなければならない。
- セクションは、&HFFFFXYの識別子を持つ。Xはセクションが持つデータの種類を表し、Yはデータの圧縮の状態を表す。
ヘッダ
<凡例>添字…取り得る値…用途解説
- 0…&H524D423A…マジックナンバー(ASCIIの文字列で"RMB:"を表す)
- 1…&H25XXXX…25はRMBファイルの印。XはRMBフォーマットのバージョン
- 2…&HXXXXYYZZ…Xはレイヤーの重ね順、Yはマップチップの1辺の大きさ(px)、Zは記録されているマップのレイヤー数
- 3…&HYYXX…Xはマップの横サイズ(マス)、Yはマップの縦サイズ(マス)
セクション
<凡例>用途…値…要素数
テキストセクション
許されるセクション数:0から1まで
識別子…&HFFFF4F…1
サイズ…記録されたデータの要素数…1
データ…文字列を2文字単位で格納した物…サイズ
備考:すべてのテキストセクションは、パネルセクションよりも先に存在しなければならない。
パネルセクション
許されるセクション数:0から4まで
識別子…&HFFFF5c(c=0 or 1 or F)…1
サイズ…記録されたデータの要素数…1
データ…128*32pxの物理コードの画像配列を指定の形式で圧縮した物…サイズ
備考:すべてのパネルセクションは、マップセクションよりも先に存在しなければならない。
互換のため、マップセクションの後に存在する、1つのパネルセクションをロードできるよう実装すべきであると定められていたが、バージョン&H120で廃止された。
マップセクション
許されるセクション数:1から4まで(ただし、ヘッダの2要素目に矛盾しないこと)
識別子…&HFFFFFc(c=0 or 1 or F)…1
サイズ…記録されたデータの要素数…1
データ…ヘッダの3要素目に記録されたサイズのBG配列を指定の形式で圧縮した物…サイズ
注釈
※1…バージョン&H112で規定。040Aならば番号が小さいレイヤーを、0A04ならば番号が大きいレイヤーを上に表示する。
※2…識別子の最下位ニブル(cの値)で指定される。c=0ならば2.1形式のRLE、c=1ならば4.1w形式のRLE、c=Fならば無圧縮。
トップページ