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

ここ数日エフェクトの調査とか移植作業をしていて他の部分はまるで進展しておらず、「よくわからないRAMを追っかけるのはもう勘弁だお…」状態だったのですが、不完全ながら移植ができました。注意すべき点は「DQ6のエフェクトはパレットアクセスの2番目のパレットを使用するがDQ3では1番目のパレットを使用する」という点です。従って、DQ6からDQ3に移植したマップパーツ1のパレット使用番号を1から0に変えないといけません。

  • SR: $04F991 火の息エフェクト処理(新SR)
04F991JSR $B7A7SR: $04B7A7
04F994JSR $8508SR: $048508
04F997LDX #$0008X=#$0008
04F99ALDA #$0044A=#$0044
04F99DJSL $C02ABASR: $002ABA 引数:1#$C4F9D2
04F9A4JSL $C1E32ESR: $01E32E 引数:1#$00DBBGM設定
04F9AALDA #$03BDA=#$03BDパレットアクセスID
04F9ADSTA $4F74$4F74=A
04F9B0LDX #$0000X=#$0000
04F9B3LDY #$0008Y=#$0008
04F9B6LDA #$0018A=#$0018火の息エフェクトID(追加)
04F9B9JSR $B65BSR: $04B65B呪文使用時エフェクト描画用データセット
04F9BCPHXPush X
04F9BDJSL $C02ABASR: $002ABA 引数:1#$C4B212
04F9C4JSR $AFA7SR: $04AFA7エフェクト実行
04F9C7JSR $8548SR: $048548
04F9CAPLXPull X
04F9CBJSR $B6DASR: $04B6DA
04F9CEJSR $B7A7SR: $04B7A7
04F9D1RTSreturn

  • SR: $04F9E5 燃え盛る火炎エフェクト処理(新SR)
04F9E5JSR $B7A7SR: $04B7A7
04F9E8JSR $8508SR: $048508
04F9EBLDX #$0008X=#$0008
04F9EELDA #$0088A=#$0088
04F9F1JSL $C02ABASR: $002ABA 引数:1#$C4F9D2
04F9F8JSL $C1E32ESR: $01E32E 引数:1#$00DBBGM設定
04F9FELDA #$03BDA=#$03BDパレットアクセス設定
04FA01STA $4F74$4F74=A
04FA04LDX #$0000X=#$0000
04FA07LDY #$000AY=#$000A
04FA0ALDA #$0019A=#$0019燃え盛る火炎エフェクトID(追加)
04FA0DJSR $B65BSR: $04B65B呪文使用時エフェクト描画用データセット
04FA10PHXPush X
04FA11JSL $C02ABASR: $002ABA 引数:1#$C4B21F
04FA18JSR $AFA7SR: $04AFA7エフェクト実行
04FA1BJSR $8548SR: $048548
04FA1EPLXPull X
04FA1FJSR $B6DASR: $04B6DA
04FA22JSR $B7A7SR: $04B7A7
04FA25RTSreturn
  • SR: $04F9D2 ? DQ3に同じ組成のSRがなかったので作成(新SR)
04F9D2JSL $C48371SR: $048371
04F9D6LDY #$0100Y=#$0100
04F9D9JSL $C4B844SR: $04B844
04F9DDLDY #$0100Y=#$0100
04F9E0JSL $C4B8D8SR: $04B8D8
04F9E4RTLreturn

というわけで、結果はごらんの有様だよ!

火の息
20091121123930.jpg
燃え盛る火炎
20091121123929.jpg

心霊写真の顔探しみたいになってますが炎のエフェクトの各所に8×8の四角い空白が各所に見て取れます。

まだ何か足りないんでしょうねー。DQ3SFCEditorで炎の画像をデコードしても上記のような欠けは発生しないので、データの移植自体に失敗しているという可能性は低いです。なお、SR群はDQ6とDQ3でやっていることが同じと思われる(ひどすぎる)SRを見つけ出してDQ3側で再構成しています。一連のエントリで「同じ組成のSR」という表現をしていますが、これはRAMの参照/セット先が異なる以外はまったく同じことを行っているSRのことを指します。ちなみに$04F9B1を$13に、$04FA12を$14に変えるとそれぞれ、ギラ、ベギラマの炎のエフェクトになり、当たり前ながら画像欠けは発生しません。もうちょっと調査が必要です。しかし、エフェクトのもうひとつの肝であるスプライト表示の調査も終わっていないというのにこの体たらく…。ちょうどリリース予定日まで1ヶ月というのに間に合うのか心配になってきました。

(20:00追記)
単なるグラフィックインデックスのグラフィック読み込み数の設定ミスでした。お騒がせしました。というわけで完成版の動画。
火の息


燃え盛る火炎

スポンサーリンク

コメントを書く

メールアドレスが公開されることはありません。コメントは管理者の承認後表示されます。