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

最新の投稿

第4次スーパーロボット大戦 戦闘アニメーション数拡張パッチの作成計画

 ご無沙汰しております。リアルの生活でかなり忙しい日々が続いており、なかなか各種コンテンツの更新ができず申し訳ございません。正直なところ新たなメンバーを迎えて様々なソフトの解析やパッチ作成などを充実させていきたいのですが、そういう訳にもいかないのが現状です。  さて、本題に入ります。第4次スーパーロボット大戦の戦闘アニメーションは本来512種類、予備のオフセット絶対値を使用すれば最大で1,024種類まで作成できるのですが、恐らくROM容量の関係で本来のオフセット領域にまで戦闘アニメーションのデータを書き込んでしまっています。このため、私は戦闘アニメーションのデータそのものを拡張したROMの空き領域に移して仕様変更しています。また、戦闘アニメーションで使用するSEに必要な波形データ設定のオフセットテーブルも拡張して512種類まで設定できるようにしていますが、これを1,024種類に拡張するにはプログラムそのものを書き換える必要があります。これを書き替えなかった場合、513番目の戦闘アニメーションには1番目の戦闘アニメーションの波形データが、514番目に戦闘アニメーションには2番目の戦闘アニメーションの波形データが…というように適用されていきます。それはそれで同じ内容の色やオブジェクト違いの戦闘アニメーションを量産する際に便利なので敢えて書き換えないという方法もありますが、それはさておきこれらの拡張データを設定できるようにしたパッチを作成しようと検討しています。しかし戦闘アニメーションの拡張や作製に関する関心や研究はSFC版スーパーロボット大戦のロムハック界隈ではほぼ皆無なので、そこまで熱が上がらないのも事実ではあります。実際問題として戦闘アニメーションのスクリプトやアニメパターンコードの調査をしているのは私の知り得る限りTileViewerの作者様、友人が三名、そして私の計5名しか心当たりがありません。これは武器数数拡張パッチがいまひとつだった事から、そもそも武器の種類やアニメーションの数はさほど重要ではないという事実の裏返しなのかもしれませんね。  とりあえず、私が使用しているROMと同じようにオフセット領域の拡張や各種スクリプトデータの移設と仕様変更、そして一部の武器アニメーション(ビームサーベルやビームライフル、ビーム砲など)の色違いアニメーションを組み込んだもの

第4次スーパーロボット大戦 ゲッターチームの仕様変更不具合の修正完了


 少々手間取りましたが、何とかゲッターチームの仕様変更に伴う不具合を修正できました。不具合の内容は「ゲッター2系やゲッター3系の状態でレベルアップした場合、WRAMのパイロットIDがSRAM側の内容に書き換えられて竜馬の状態に戻ってしまったり(変形を実行すると隼人や弁慶に戻る)、SRAMのデータ上ではレベルアップしているがWRAMにその内容が反映されずシナリオ終了まで上昇したパラメーターが反映されない事があるがシナリオが終了するとレベルアップ後のパラメーターになる」というものでした。これは一時データを保存する際に使用するRAM領域の選定がまずかったり、レベルアップ時にパラメーターを再計算する際に使用するサブルーチンの組み立て内容に起因するものでした。


 今回は一時データの取得方法自体を見直し、「戦闘後に経験値を取得できた場合はその戦闘で戦ったパイロットのWRAM側のIDを保存し、レベルアップの際に読み込んだSRAM側のパイロットIDがWRAM側に書き込まれた直後にそのデータを参照、IDが竜馬であると判定された場合は直前の戦闘で経験値を取得したWRAM側のパイロットIDで再度上書きする」という方法に改めてみました。ゲッターチームの場合はSRAMのパイロットIDは竜馬で固定のため、レベルアップの都度WRAM側のパイロットIDを現在のゲッターロボの状態に合わせたパイロットIDに変更する必要があるのですが、よく考えてみればSRAMでのIDが竜馬で固定されているとなればそれ自体を判定基準にすればよいという事にようやく気が付いた次第です。これにより判定の精度が向上し不具合が発生しなくたった…と思いたいところです。

コメント

人気の投稿

第4次スーパーロボット大戦 武器数拡張パッチを公開しました

キャプテン翼4 レベル補正変更パッチを公開しました

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