メモリ上でマップの通路配置とかがやっとわかった。
通路位置
7E89C3-7E89C6?
7E89D3-7E89D6?
7E89E3-7E89E6?
7E89F3-7E89F6?
7E8A03-7E8A06?
部屋位置
7E8A43-7E8A46?
7E8A53-7E8A56?
7E8A63-7E8A66?
7E8A73-7E8A76?
7E8A83-7E8A86?
説明難しいのでとりあえずサンプル。
元となったMAP
RAM上での情報
通路位置
10 10 10 10 10 10 10
10 06 0E 0A 0E 0C 10
10 07 0F 0A 0D 01 10
10 03 09 10 03 08 10
10 10 10 10 10 10 10
部屋位置
00 00 00 00 00 00 00
00 FF 01 05 04 FF 00
00 FF 02 06 08 03 00
00 00 FF FE 09 07 00
00 00 00 00 00 00 00
このままだとわけがわからないので解説。
MAPを区切ってみる。
通路位置と部屋位置がこの区切りと同じように区切られていると考えてください。
通路位置
+01上、+02右、+04下、+08左
10通路なし
部屋位置
00-0A 部屋ID
FE 通路が存在しない
FF 通路のみ
通路位置の外壁?っぽい10の部分は多分読み込み等をしないので00で関係なし。
後はよくわからないので解説終わり。
とりあえずある程度は自動生成のマップいじれるようになった。
もうちょっとマップ弄って遊んでみよう。