今回は屋根の設定です。正直自分には関係ないと思っていたので、バイナリwikiの屋根の部分の説明も軽く流していたのですが、無限回廊を設定するに当たって、屋根の設置は必須なので必要に迫られ勉強する羽目になりました。いざやってみるとそれほど複雑でもありませんでした。
屋根の設定に関して使用するSRはwikiのとおり以下の3つだけです。屋根はあちこちのダンジョンで設定されているのでお手本には困りません。
- SR: $0691AD 屋根の配置
- SR: $069234 屋根切替地点を配置する(X座標範囲指定)
- SR: $06928E 屋根切替地点を配置する(Y座標範囲指定)
それぞれ引数を5つ指定するようになっており、
- 22 AD 91 C6 aa bb cc dd ee
- aa 屋根のLEFT座標
- bb 屋根のTOP座標
- cc 屋根のRIGHT座標 <-wikiには幅とありましたが違うようです*1
- dd 屋根のBOTTOM座標 <-wikiには高さとありましたが違うようです
- ee 屋根に設定するID
- 22 34 29 C6 aa bb cc dd ee
- aa 切り替え地点のマップ内通行構成情報ID
- bb 切り替え地点のLEFT座標
- cc 切り替え地点のY座標
- dd 切り替え地点のRIGHT座標
- ee 切り替え先の屋根ID
- 22 8E 92 C6 aa bb cc dd ee
- aa 切り替え地点のマップ内通行構成情報ID
- bb 切り替え地点のX座標
- cc 切り替え地点のTOP座標
- dd 切り替え地点のBOTTOM座標
- ee 切り替え先の屋根ID
という意味のようです。意味さえわかればそれほど難しいことはなく、あとは自分で設定した屋根IDと範囲をちゃんと把握しておくようにしましょう。ちなみに、屋根自体は通行構成情報とは無関係のようで、複数の通行構成情報にまたがってもかまわないようです。また、階段移動データ($084CA2-)の以下のデータの意味は
- 通行(3バイト目4ビット目から2ビット) -> 通行構成情報ID
- 表示部分(3バイト目6ビット目から4ビット) -> 屋根ID
に相当するようです。屋根ID自体は16個以上設定できます(上限は不明)が、階段のある部分の屋根IDは0~15の範囲に収めろということになります。屋根の範囲が十分に離れていれば屋根の切り替え時に互いに影響を及ぼすことなく使えるので(実際そうしました)、大した問題にはならないでしょう。
*1:諸般の事情でwikiを編集できないのでどなたか修正頼みます
コメント