ご無沙汰しております。リアルの生活でかなり忙しい日々が続いており、なかなか各種コンテンツの更新ができず申し訳ございません。正直なところ新たなメンバーを迎えて様々なソフトの解析やパッチ作成などを充実させていきたいのですが、そういう訳にもいかないのが現状です。 さて、本題に入ります。第4次スーパーロボット大戦の戦闘アニメーションは本来512種類、予備のオフセット絶対値を使用すれば最大で1,024種類まで作成できるのですが、恐らくROM容量の関係で本来のオフセット領域にまで戦闘アニメーションのデータを書き込んでしまっています。このため、私は戦闘アニメーションのデータそのものを拡張したROMの空き領域に移して仕様変更しています。また、戦闘アニメーションで使用するSEに必要な波形データ設定のオフセットテーブルも拡張して512種類まで設定できるようにしていますが、これを1,024種類に拡張するにはプログラムそのものを書き換える必要があります。これを書き替えなかった場合、513番目の戦闘アニメーションには1番目の戦闘アニメーションの波形データが、514番目に戦闘アニメーションには2番目の戦闘アニメーションの波形データが…というように適用されていきます。それはそれで同じ内容の色やオブジェクト違いの戦闘アニメーションを量産する際に便利なので敢えて書き換えないという方法もありますが、それはさておきこれらの拡張データを設定できるようにしたパッチを作成しようと検討しています。しかし戦闘アニメーションの拡張や作製に関する関心や研究はSFC版スーパーロボット大戦のロムハック界隈ではほぼ皆無なので、そこまで熱が上がらないのも事実ではあります。実際問題として戦闘アニメーションのスクリプトやアニメパターンコードの調査をしているのは私の知り得る限りTileViewerの作者様、友人が三名、そして私の計5名しか心当たりがありません。これは武器数数拡張パッチがいまひとつだった事から、そもそも武器の種類やアニメーションの数はさほど重要ではないという事実の裏返しなのかもしれませんね。 とりあえず、私が使用しているROMと同じようにオフセット領域の拡張や各種スクリプトデータの移設と仕様変更、そして一部の武器アニメーション(ビームサーベルやビームライフル、ビーム砲など)の色違いアニメーションを組み込んだもの
全面が空中という異色のマップ「キリマンジャロの嵐」は飛行適性がない機体は出撃できないのですが、その特殊な処理(実は空中マップと見せかけた陸上マップで、ユニットは全て「空」や「雲」という名の陸上地形パネルに着陸しているという扱いなのです)の影響で地形適応は「空」ではなく「陸」が参照されてしまい、正常なダメージ計算が適用されません(通称「キリマンジャロバグ」)。少し解析してみたところ地形適応をチェックするプログラム内にはこれをどうこうするような対策はされておらず、結局のところこれを解決するには専用の新たな地形適応チェックのルーチンを組むしかなさそうです。…というわけで、修正パッチを作成してみました(パッチ名は「地形適応バグ修正パッチ」です)。以下のURLからダウンロード可能です。本来のソフトに存在する不具合なのでパスワードは設定していません。
以前、私の友人がこの不具合の解決に取り組んだのですが、参考までにその方法を聞いてみたところ「RAMのシナリオIDをチェックして現在のマップが『キリマンジャロの嵐』であれば陸の地形適応判定を強制的に空の地形適応判定に変更するサブルーチンにジャンプする」というものだったそうです。なかなか面白そうな処理ですが、その場合は他に同じような空中マップを自作する場合に応用が利かないという欠点があります。そこで私は「RAMのマップ状態設定IDがキリマンジャロ(=空中マップ)のIDである場合は地形適応判定を全て空の地形適応判定に変更する」という方式にしてあります。これならば他の空中マップを作製した場合でもそのまま使用できますし、応用として月や火星の地形適応を第3次スーパーロボット大戦やスーパーロボット大戦F完結編のように宇宙扱いに変更する(あまり知られていませんが、F完では月や火星は陸上でも空中でも宇宙扱いの計算が適用されます)にできます。今回公開したパッチはキリマンジャロ上空の場合は強制的に空、月の場合は強制的に宇宙の地形適応が参照されます。火星に関しては処理を組み込んだのですが、ダンバイン系の機体が活躍できなくなる事を考慮し、処理の作成後に「EA」で消去しています。これを再現するにはパッチ適用後にノーマル版であれば29FFD4~29FFD7を、4M版であれば3FEDA4~3FEDA7を「C9 12 F0 0A」に置き替えて下さい。
コメント
コメントを投稿