スキップしてメイン コンテンツに移動

最新の投稿

ツール紹介 Advanced SNES ROM Utility

 今回は「Advanced SNES ROM Utility」というスーパーファミコン用のROMイメージ編集ツールをご紹介致します。内容的にはROM CheckerとLunar Expandを統合したようなツールで、ROMのタイプ(HiROM/LoROM)のチェックとROMイメージのサイズを変更できるのですが、その他にも色々と面白い機能が実装されています。以下がその一例です。 チェックサムの修正 ヘッダの追加と削除 ROMサイズの変更 ROM情報(タイトル、リージョン、バージョン、特殊チップの有無など)の編集 パッチの適用 ROMイメージのHiROM/LoROM相互変換  特に嬉しいのは「ROMイメージのHiROM/LoROM相互変換」の機能です。キャプテン翼4や5のROMイメージのHiROM化( https://www.retrogamelaboratory.com/2024/06/loromhirom.html )の際に触れたように、私は今までLoROMのROMイメージをHiROMに変換する場合は各バンクの間にいちいち8000h分の空データ(00)を追加していたのですが、このツールを使用すれば自動的に各バンクの間に8000h分の空データ(FF)を追加してくれます。こんな便利なツールがあるのであればもっと早く知りたかったですね…。ともあれ、これによりLoROMのバンクサイズの関係でデータを追加しにくかった作品も大幅に手を加えやすくなるのではないでしょうか。ツールに関する詳細は以下のURLをご参照下さい。 https://www.romhacking.net/utilities/1638/

レナス〜古代機械の記憶〜(Paladin's Quest) 続々・戦闘中の気絶状態からの復帰処理追加の計画

 前回の記事の仮説に従ってHP回復と同時にパーティーの状態フラグとステータス異常フラグを同時に書き換えるという処理(厳密にはHPが0の状態に専用の回復処理ルーチンに遷移する処理)を組み込んでみたところ、確かにボトルによる回復行動で気絶状態からの復帰ができるようになりましたが、その過程で問題が発生しています。

 回復行動の判定には「パーティーの状態フラグ(7E19ED)をチェックして気絶状態、または存在しないキャラクターを判定対象から外す」という前提を経て「回復対象者の現在HPが0だったら回復ルーチンをパスする」という処理に進むのですが、前段階の「パーティーの状態フラグをチェックして気絶状態、または存在しないキャラクターを判定対象から外す」という部分を変更してしまう(変更しないと回復対象にできない)と、エネミーが既に気絶状態にあるメンバーを攻撃してしまうという不具合が発生するようになる(詳しく調べていませんが、どうやら「残りHPが0かどうか」ではなく「パーティーの状態フラグに攻撃対象が存在しているかどうか」で攻撃対象を判定している模様)のです。これにより「攻撃された気絶メンバーの現在HPが負のオーバーフローを起こす」というような致命的な問題はないのですが、既に気絶して行動できないメンバーを狙って攻撃してくるという事はそれだけ戦闘中の残りメンバーの危機が少なくなってしまう=戦いの緊張感がなくなるという事になってしまいますので、この部分を何とか改善したいところです。

 改善案としては「行動IDが回復系行動だったらパーティーの状態フラグを無視して判定対象にする」というのが簡単そうなのですが、生憎と行動内容の定義処理は行動判定処理の後に始まるようになっていますのでそうもいきません。とりあえず考えられる事を色々と試してみて、上手く行けば改善できたものを、改善できなければ不本意ですがエネミーが気絶したメンバーを攻撃するバージョンのまま公開する予定ですが、いずれにせよさほど時間はかからないと思います。問題はメカニードスが破壊された際の処理でしょうか。ご存じの通りメカニードスにはボトルが使用できず、戦闘中にHPが0になると永久離脱してしまうので、戦闘中に限りボトルで復活が可能にするか、またはHPが0の状態で戦闘を終了しても離脱しないように処理するかのどちらにするかですね。もちろんそのままの処理にしておくという考え方もありますが、最後までメカニードスを使っていきたいという方もいらっしゃるかと思いますので、この辺りに関してもフォローしていきたいと思います。

コメント

人気の投稿

第4次スーパーロボット大戦 改造コスト&改造数値分岐パッチを公開しました

第4次スーパーロボット大戦 初期型ROMと後期型ROMの物理的な見分け方と入手方法

第4次スーパーロボット大戦 コマ送りモードについて