マイトアンドマジック (FC) 攻略/解析 - データ構造

踏破済みフラグ配列

本作にはオートマッピング機能がある(一部マップでは無効)。

オートマッピングが有効なマップについて 16 * 16 = 256 マスの踏破状況 256bit を記録した配列 (32 バイト) を「踏破済みフラグ配列」と呼ぶ。

踏破済みフラグに記録されるビット列 (len=256) は row-major で、y については降順、x については昇順。つまり座標 (0, 15), (1, 15), ..., (15, 15), (0, 14), ... のように並んでいる。たとえばビット列内オフセット 19 は座標 (3, 14) に対応する。

各ビットはバイト内の上位から詰め込まれる。たとえば、踏破済みフラグ配列の先頭 2 バイトが [0b11000001, 0b00101000] ならば、y=15 の踏破状況は以下のようになる:

0123456789ABCDEF
oo.....o..o.o...

踏破済みフラグ配列は $6880 からマップID順に並んでいる。ただしオートマッピングが無効なマップID (バーン地上、エルドラド地下4, アストラル世界、イドの迷宮) の範囲のメモリは別用途となっている。詳細はRAM マップを参照。