DQ3 ガイアの剣ギミック追加3

実体の実装が終わったので、残りはエフェクトだけです。エフェクトはDQ6の地響きをパクることにします。地響きの地割れの部分はBG1,2の1枚絵を使用し、パレットアニメーションで色を変化させることでそれっぽく見せています。

  • SR: $041E80 ガイアの剣追加効果エフェクト処理(新SR)
041E80 JSL $01E32E SR: $01E32E 引数:1#$00C9 SE再生
041E86 JSR $844F SR: $04844F
041E89 LDA #$03BF A=#$03BF BG1,2ID設定
041E8C STA $4F74 $7E4F74=A
041E8F LDX #$0000 X=#$0000
041E92 LDY #$007C Y=#$007C
041E95 LDA #$001F A=#$001F
041E98 JSR $B65B SR: $04B65B 呪文使用時エフェクト描画用データセット?
041E9B PHX Push X
041E9C JSL $002ABA SR: $002ABA 引数:1#$C4B212
041EA3 LDA $4880,X A=$7E4880+X
041EA6 JSL $004604 SR: $004604 引数:1#$F664FC 引数:2#$01 パレットアニメーション設定?
041EAE LDA #$0022 A=#$0022
041EB1 LDY #$1EC9 Y=#$1EC9
041EB4 JSL $002ABA SR: $002ABA 引数:1#$C4B3CA
041EBB JSR $AFA7 SR: $04AFA7 エフェクト実行?
041EBE JSR $8548 SR: $048548
041EC1 PLX Pull X
041EC2 JSR $B6DA SR: $04B6DA
041EC5 JSR $B7A7 SR: $04B7A7
041EC8 RTS return

今回一番つまったのが、$041EB1-3のあたりです。初めは何を示しているのかわからずDQ6からそのままパクッてきただけだったのですが画面が派手にバグってフリーズという現象に見舞われ、結局DQ6で同じSRをデバッガで追ったところ、直後に配置してある定数群を参照している、ということがわかりました。ということで、#$1EC9というのは、このSRのすぐ後ろのアドレス(#$041EC9)のことを意味しており、ここに定数扱いのデータが18バイト続きます(DQ6では$04DC27から18バイト)。他のSRについては相変わらずあまり意味がわからず同じっぽいSRをDQ3から見つけてきてあてがっています。というわけでひと通り実装が終わりました。発動させると以下のようになります。SEはまだ変更の余地ありかもしれません。

1点問題があり、おろちの洞窟やバラモス戦のような今回のエフェクトと同系統色の背景の場合は、背景にまぎれてエフェクトが見えません。背景を調べて該当の背景の場合はパレットアニメーションさせる色を変える、という手もありますが、まあそこまでしなくていいかなという気もするので、とりあえずこのままにします。

コメント

  1. セブン より:

    k.mix楽しませてもらっています。作成お疲れ様です。
    ガイアの剣装備のAI戦士(呪文使うな)では追加ギミックが発動しませんでした。何度も試したので間違いないと思います。
    お気に入りの追加ギミックなので……。
    無理せず頑張ってください!

    管理者より返信:

    ご指摘ありがとうございます。
    手元で再現しないな…と思っていたら次期バージョンの作業中に見つけて直していました。ver1.6.7では再現することを確認しています。ver1.6.7にこの修正だけ入れるのは結構手間がかかるので申し訳ないですが次期バージョンのリリースまでお待ち下さい。

  2. セブン より:

    すばやいお返事ありがとうございます。
    既に対応済みだったとは 流石ですね。
    気長に待ってます。