DQ3 呪文・特技エフェクトの移植可能性の調査6

気が付いたらDQ3の携帯版ってひっそりリリースされてたんですね(もちろん未プレイ)。外見はSFC版準拠、すごろく、追加ダンジョン2がなくて代わりにAI追加と。これで都合3回目のリメイクなわけですが、やっぱりGBCじゃなくてGBAにしておけば至高の存在になりえたのに…と残念でなりません。□eのリメイク商法もいつまで続くのやら。しかしひとついえるのは「リメイクで儲けるにはオリジナルががんばってないと駄目」って言うことなのではと思います。これ以上書くとやってもいない最新ナンバリングタイトルへの駄目出しが始まりそうなのでこれくらいにしておきます。

さて、甘い息・毒の息・焼け付く息は若干の出来の甘さはともかくとして比較的簡単に実装が終わりました。真空波も対象がスライムの場合にはエフェクト終了後にスライム黒ずむという問題が起きましたが、実際にモンスターが使ってくる戦闘(vs格闘パンサー戦)で試してみたところ、なぜか問題が起きなかったので、とりあえずOKとしました(ひどすぎる)。この時点で残りはジゴスパーク・ビッグバンの2つだったので、とっつきやすそうなビッグバンから作業を開始しました。一応それらしいものはできたのですが、周辺の小爆発?のパレットがおかしいままです。

  • SR: $041AAB ビッグバンエフェクト処理(新SR)
041AAB JSR $B7A7 SR: $04B7A7
041AAE JSL $C1E32E SR: $01E32E 引数:1#$00D3 再生BMG指定?
041AB4 LDA #$000C A=#$000C
041AB7 LDY #$0040 Y=#$0040
041ABA JSL $C02ABA SR: $002ABA 引数:1#$C4FDA1 画面色を赤化?
041AC1 JSL $C02ABA SR: $002ABA 引数:1#$C41B20 爆発球描画
041AC8 LDA #$0001 A=#$0001
041ACB LDX #$0014 X=#$0014
041ACE JSR $AFB9 SR: $04AFB9
041AD1 LDA #$03C2 A=#$03C2 パレットアクセスID
041AD4 STA $4F74 $4F74=A
041AD7 LDX #$0000 X=#$0000
041ADA LDY #$000C Y=#$000C
041ADD LDA #$001D A=#$001D ビッグバンエフェクトID(BG1,2)
041AE0 JSR $B65B SR: $04B65B 呪文使用時エフェクト描画用データセット?
041AE3 PHX Push X
041AE4 JSL $C02ABA SR: $002ABA 引数:1#$C4B212
041AEB JSR $AFA7 SR: $04AFA7 エフェクト実行?
041AEE JSR $8548 SR: $048548
041AF1 PLX Pull X
041AF2 JSR $B6DA SR: $04B6DA
041AF5 JSR $B7CA SR: $04B7CA
041AF8 LDY #$0060 Y=#$0060
041AFB JSL $C02ABA SR: $002ABA 引数:1#$C4B3B6 画面色を戻す?
041B02 JSR $AFA7 SR: $04AFA7 エフェクト実行?
041B05 RTS return
  • SR: $041B20 ビッグバン爆発球描画?(新SR)
041B20 LDA #$0000 A=#$0000
041B23 JSL $C04604 SR: $004604 引数:1#$F662E2 引数:2#$01 パレットアニメーション開始?
041B2B JSR $86BA SR: $0486BA
041B2E LDA #$0080 A=#$0080
041B31 STA $7FBE $7FBE=A
041B34 LDA #$0013 A=#$0013
041B37 STA $7FD2 $7FD2=A
041B3A LDA #$00FF A=#$00FF
041B3D JSL $C4C1E6 SR: $04C1E6
041B41 LDA #$0088 A=#$0088
041B44 STA $492E $492E=A
041B47 LDA #$0080 A=#$0080
041B4A STA $492C $492C=A
041B4D LDX #$0000 X=#$0000
041B50 STX $4F7C $4F7C=X
041B53 LDA $C7FF80,X A=$07FF80+X ビッグバン爆発球半径?
041B57 STA $00 DP($00)=A
041B59 LDX #$0000 X=#$0000
041B5C LDA #$0040 A=#$0040
041B5F JSL $C010D6 SR: $0010D6
041B63 LDX $01 X=DP($01)
041B65 TXY Y=X
041B66 CMP #$0008 A>=#$0008?
041B69 BCC #$03 if(c==off) goto $041B6E
041B6B LDA #$0008 A=#$0008
041B6E STA $492A $492A=A
041B71 LDA $48C4 A=$48C4
041B74 JSL $C4CC95 SR: $04CC95
041B78 JSL $C02B9C SR: $002B9C
041B7C LDX $4F7C X=$4F7C
041B7F INX X++
041B80 INX X++
041B81 CPX #$0080 X>=#$0080?
041B84 BCC #$CA if(c==off) goto $041B50
041B86 JSL $C02B9C SR: $002B9C
041B8A JSL $C04835 SR: $004835 引数:1#$F662E2 パレットアニメーション終了?
041B91 BCC #$F3 if(c==off) goto $041B86
041B93 LDA $7FD8 A=$7FD8
041B96 JSR $841A SR: $04841A
041B99 JSL $C4C10D SR: $04C10D
041B9D JSR $86CB SR: $0486CB
041BA0 LDA #$0043 A=#$0043
041BA3 STA $7FD2 $7FD2=A
041BA6 RTL return

$041AD2-3で指定しているパレットアクセスIDの値を別のものに変えても結果が変わらないのでパレットの色がまるで反映されていないように見えます。

どこが悪いんでしょうねー。