本節では画面遷移について述べる。 画面遷移とは、移動モードでパーティーが別の場所に移動したり、 イベント発生によって自動的にシーンが転換したりするときの画面の移り変わりのことだ。 移動モードから戦闘モードに、あるいはその逆になったりすることは本節の画面遷移の定義には当てはまらない。
画面遷移に関係するデータ構造について述べる。 本節では多くの構造体を列挙しなければならないので、それらの関係について概略を示したい。
以降の各画面遷移構造体に共通して登場する属性について先に説明しておく。
画面遷移オブジェクトが存在する場所の ID を値とする属性だ。
データとしては配列 $C802F4
の添字を表す。
場所については別の節で説明する。
それぞれ画面遷移オブジェクトが位置する座標 X 成分と Y 成分を値とする属性だ。 座標系は M 系で表されている。これはキャラクターのサイズを単位系とする座標系だ。
型によっては X 座標属性や Y 座標属性が二つある。 この場合はその座標成分の組がなす区間すべてが画面遷移の発生判定に有効であることを意味する。
画面遷移オブジェクトが位置する L 座標を値とする属性だ。 これはいわゆるレイヤーに相当する概念だ。
画面遷移オブジェクトが属する屋根区域を値とする属性だ。 屋根区域とは、値がデバッグ機能の座標ウィンドウのいちばん下に二進数で表示される値のことだ。
階段、水平帯域、垂直帯域の各型については、 この画面遷移が発生すると移動する先の同型オブジェクト ID を値とする属性だ。 例えば、階段オブジェクト A の目的地属性値が指す階段オブジェクトを B とすると、 B の目的地属性値は A を指すという性質がある。
矩形型とランシール型については 5.27.1.8 で述べるオブジェクトの ID を値とする属性だ。
ブーリアン型属性値であり、値が 1 ならば画面遷移時に足音が鳴る。
演出とは、画面遷移時に引き起こす視聴覚効果を指示する値を取る属性だ。
アドレス $C84CA2
には次のオブジェクト型要素が多数配列されている。
この型は階段による画面遷移を表現するものであり、移動モードにおいて階段の絵を描画させるものだ(例外もあるが)。
表 5.56 構造体 $C84CA2
オフセット | 桁 | 属性 |
---|---|---|
#$00
|
#$0003FF
|
場所 |
#$01
|
#$0007FC
|
MX |
#$02
|
#$000FF8
|
MY |
#$03
|
#$000030
|
ML |
#$03
|
#$0003C0
|
屋根区域 |
#$04
|
#$003FFC
|
目的地 |
#$05
|
#$000040
|
効果音考慮 |
アドレス $C856AA
には次のオブジェクト型要素が多数配列されている。
この型は主にパーティーが建造物の出入口(扉があることが多い)を通過することによる画面遷移を表現する。
表 5.57 構造体 $C856AA
オフセット | 桁 | 属性 |
---|---|---|
#$00
|
#$0003FF
|
場所 |
#$01
|
#$0007FC
|
MX0 |
#$02
|
#$000FF8
|
MX1 |
#$03
|
#$001FF0
|
MY |
#$04
|
#$000060
|
ML |
#$04
|
#$000780
|
屋根区域 |
#$05
|
#$007FF8
|
目的地 |
#$06
|
#$000080
|
効果音考慮 |
アドレス $C85A62
には次のオブジェクト型要素がわずか 2 個だけ配列されている。
カザーブの村にある教会と墓場との間にある画面遷移を表現する。
表 5.58 構造体 $C85A62
オフセット | 桁 | 属性 |
---|---|---|
#$00
|
#$0003FF
|
場所 |
#$01
|
#$0007FC
|
MX |
#$02
|
#$000FF8
|
MY0 |
#$03
|
#$001FF0
|
MY1 |
#$04
|
#$000060
|
ML |
#$04
|
#$000780
|
屋根区域 |
#$05
|
#$007FF8
|
目的地 |
#$06
|
#$000080
|
効果音考慮 |
アドレス $C85A70
には次のオブジェクト型要素が多数配列されている。
パーティーがこの範囲内に足を踏み入れると画面が遷移するというような矩形領域を表現するものだ。
表 5.59 構造体 $C85A70
オフセット | 桁 | 属性 |
---|---|---|
#$00
|
#$00000F
|
演出 |
#$00
|
#$001FF0
|
MX0 |
#$01
|
#$003FE0
|
MY0 |
#$02
|
#$007FC0
|
MX1 |
#$03
|
#$00FF80
|
MY1 |
#$05
|
#$000003
|
ML |
#$05
|
#$003FFC
|
目的地 |
#$06
|
#$000040
|
効果音考慮 |
アドレス $C86A84
にあるオブジェクトはランシールの村を訪問する際の画面遷移を表現する。
どの方向から村に入るかによって、パーティーの初期位置を決めることができる。
表 5.60 構造体 $C86A84
オフセット | 桁 | 属性 |
---|---|---|
#$00
|
#$00000F
|
演出 |
#$00
|
#$001FF0
|
MX0 |
#$01
|
#$003FE0
|
MY0 |
#$02
|
#$007FC0
|
MX1 |
#$03
|
#$00FF80
|
MY1 |
#$05
|
#$000003
|
ML |
#$05
|
#$003FFC
|
目的地上向き |
#$06
|
#$03FFC0
|
目的地右向き |
#$08
|
#$003FFC
|
目的地下向き |
#$09
|
#$03FFC0
|
目的地左向き |
#$0B
|
#$000004
|
効果音考慮 |
この型に固有の各属性の意味を以下に記す。
それぞれ、パーティーキャラクターが対応する向きにランシールの村に入るときの、 目的地点 (5.27.1.8) の ID を値とする属性だ。
アドレス $C86A90
にあるオブジェクトは幽霊船の出口における画面遷移を表現する。
表 5.61 構造体 $C86A90
オフセット | 桁 | 属性 |
---|---|---|
#$00
|
#$00000F
|
演出 |
#$00
|
#$001FF0
|
MX0 |
#$01
|
#$003FE0
|
MY0 |
#$02
|
#$007FC0
|
MX1 |
#$03
|
#$00FF80
|
MY1 |
#$05
|
#$000003
|
ML |
#$06
|
#$FFFFFF
|
処理 |
#$09
|
#$000001
|
効果音考慮 |
この型に固有の各属性の意味を以下に記す。
幽霊船の出口にパーティーが移動すると実行されるコードのアドレスを値とする属性だ。 これによって、パーティーの船に戻ることになる。