DQ3 氷の洞窟移植作業2

今回はまずは氷の洞窟に行けるようにするところまで。

神竜戦後のご褒美で選択肢を増やすのでウィンドウID#$0Cの高さを増やしておきます。

  • SR:$0D0DB2 イベント戦闘(vs神竜サブ)
0D0F8C NOP
0D0F8D NOP
0D0F8E JMP $F580 ($0DF580) goto $0DF580

場所がないのであまりきれいではないですが別の場所に飛ばします。

  • SR:$0DF580 イベント戦闘(vs神竜サブ)(新規SR)
0DF580 BNE #$03 if(z==off) goto $0DF585
0DF582 JMP $0ECD ($0D0ECD) goto $0D0ECD
0DF585 CMP #$0003 A==#$0003?
0DF588 BEQ #$03 if(z==on) goto $0DF58D
0DF58A JMP $0F91 ($0D0F91) goto $0D0F91
0DF58D BRK #$1303 goto $00FFE6(メッセージ表示) #$1303 メッセージ表示
0DF590 JSL $CDAC66 SR: $0DAC66 はい/いいえ選択処理(はいc=on)
0DF594 BCS #$03 if(c==on) goto $0DF599
0DF596 JMP $0E4D ($0D0E4D) goto $0D0E4D
0DF599 JSL $CEEBF3 SR: $0EEBF3 氷の洞窟へ進入許可が出た(該当c=on)
0DF59D BCC #$06 if(c==off) goto $0DF5A5
0DF59F BRK #$0962 goto $00FFE6(メッセージ表示) #$0962
0DF5A2 JMP $0E1A ($0D0E1A) goto $0D0E1A
0DF5A5 BRK #$1304 goto $00FFE6(メッセージ表示) #$1304 メッセージ表示
0DF5A8 JSL $CDACD2 SR: $0DACD2 キー入力でメッセージウィンドウを閉じる1
0DF5AC LDA #$0040 A=#$0040
0DF5AF TSB $35BF A or $35BF 氷の洞窟への進入許可ON
0DF5B2 JSL $CD0D7D SR: $0D0D7D 神竜に願い事をかなえてもらったフラグON
0DF5B6 JSL $CD0DA2 SR: $0D0DA2 神竜戦後ワープ先情報設定?
0DF5BA JMP $0F91 ($0D0F91) goto $0D0F91

特別難しいことをやる必要はなく、他の願い事と並列に処理を実装すればいいだけです。次は不死鳥の祭壇のマップパーツの挿入です。1点注意するのは不死鳥の祭壇のパレットを変えておかないと旅の扉の色がおかしな色になります。既存のパレットを変えているので他に影響がありそうですが、パット見問題なさそうです。

  • SR:$0AB6B3 不死鳥の祭壇移動・宝箱・ドア・NPC情報設定
0AB6B3 JSL $CEEA00 SR: $0EEA00
  • SR:$0EEA00 不死鳥の祭壇進入時初期化処理(サブ)(新規SR)
0EEA00 LDX #$00EE X=#$00EE オリジナルの座標移動設定
0EEA03 JSL $C61509 SR: $061509 座標移動3データ設定
0EEA07 JSL $CEEBF3 SR: $0EEBF3 氷の洞窟へ進入許可が出た(該当c=on)
0EEA0B BCC #$1D if(c==off) goto $0EEA2A
0EEA0D LDA #$09A0 A=#$09A0
0EEA10 STA $9680 $9680=A
0EEA13 LDA #$0970 A=#$0970
0EEA16 STA $9682 $9682=A
0EEA19 LDX #$0579 X=#$0579
0EEA1C LDY #$0000 Y=#$0000
0EEA1F JSL $C734B3 SR: $0734B3 指定座標にBG1,2を上書き?
0EEA23 LDX #$027B X=#$027B 氷の洞窟に移動する座標移動データ
0EEA26 JSL $C61509 SR: $061509 座標移動3データ設定
0EEA2A RTL return

というわけで、既存のストーリーから氷の洞窟に飛ぶところまでが終わりました。