ろだにうpされたDQ3 Extended 1.44対応をしています(モンスターのグラフィック描画の際にシフトされたレコードIDを参照するようになっている)。残念ながら1.44対応のプログラムでは現状1.43のモンスターグラフィック描画やパレット変更が正しく動作しません。というわけで、1.43を使い続けたい場合はしばらく同梱予定のDQ3SFCPluginfor1.43.dllをリネームして使用してください。例によって「ダウンロード」ページにうpしてあります。
今回のDQ3 Extended 1.44はもともとは86氏が当ブログの以前の記事を見て解決策を出してくださったものです。こちらの中途半端な作業を形にしていただき大変恐縮です。ともあれ、この変更により、パレットアクセスはモンスターは256種異なる色を使用することが可能になり、また、もともとのパレットアクセスには約250空きができることになります(1.43は80前後)。モンスターのカラーリングを別立てでできるようになったので、安心して色定義ができそうです。自分の開発中のK.Mix(実はまだ作業中)にも反映させました。
さて、実現方法は実に簡単で、モンスターデータ中に記述されているパレットアクセスIDに0x0400シフトした場所に実際のパレットアクセスデータを置く、というものです(これが思いつかなかったんですよねぇ)。実際のデータの移動に加えて、モンスターの描画をする際にパレットアクセスIDを取得している直後で#$0x0400を足しています。また、一部モンスターのアニメーション(バラモス、ゾーマ)でパレットアクセスIDを直接指定している場所があるので、そのIDにも#$0x0400を足してやります。
- SR: $047EA2 モンスター出現数決定?
略 | |||
---|---|---|---|
047EF4 | 22 F3 FF C4 | SR: $04FFF3 | モンスター用パレットアクセスIDシフト処理 |
047EF8 | 80 02 | goto $047EFC | |
047EFA | FF | ||
047EFB | FF | ||
略 |
- SR: $048242 モンスターグラフィック描画
略 | |||
---|---|---|---|
048243 | 22 F3 FF C4 | SR: $04FFF3 | モンスター用パレットアクセスIDシフト処理 |
048247 | 80 02 | goto $04824B | |
048249 | FF | ||
04824A | FF | ||
略 |
- SR: $04FFFC モンスター用パレットアクセスIDシフト処理(新SR)
04FFF3 | 22 8B CC C2 08 00 C0 FF | SR: $02CC8B 引数:1#$0008 引数:2#$FFC0 | パレットアクセスID取得 |
---|---|---|---|
04FFFB | 18 | c=off | |
04FFFC | 69 00 04 | A+=#$0400 | シフトする |
04FFFF | 6B | return |
デバッグメニューでひと通り確認する限り、問題なさそうです。実際の戦闘でもエフェクト発生後も正常に動作していました。
※スタイルシートをいじってブログのデザインのテーブル幅を固定で指定している部分をオーバーライドして690pxから900pxに変更しました。プログラム部分の記述が多少見やすくなっていることを期待。
コメント