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

投稿

2月, 2022の投稿を表示しています

最新の投稿

第4次スーパーロボット大戦 合体式複数パイロット乗り機体用特殊台詞の設定アイデア

 第4次スーパーロボット大戦ではコン・バトラーVダンクーガ、ザンボット3といった合体後に複数パイロットが乗るようになる機体のサブパイロットの台詞を反映させる機能はありませんが、以前作成したゲッターチームの仕様変更のシステムを応用すれば「F」以降のコン・バトラーVのように合体後専用の特殊台詞を反映させる事が可能であると判明しました。  具体的な手法は「特定のパイロットが特定の機体に搭乗している場合はSRAM上のパイロットIDを保持したままRAM上のパイロットIDを入れ替える」というもので、これは以前にも少し触れたハイパーモードや暴走システムの手法と同じものですが、これを応用すれば、例えばバトルジェット搭乗時の豹馬とコン・バトラーV搭乗時の豹馬のパイロットIDを個別に用意する事で異なる台詞パターンを適用できるという事も可能になります。また、同時に複数精神コマンドのサブパイロット適用パターンも変更できるため、非分離型のコン・バトラーVを用意するといった必要もなくなります。但しこの方法には欠点もあり、例えば敗北条件に豹馬の撃墜が設定されている場合にこのパイロットIDが合体前と合体後で別々であると、パイロットIDが合致しなくなってしまった途端に敗北条件を満たしてゲームオーバーとなってしまいます(これはハイパーモードや暴走の再現時にも当てはまる問題です)。そのため、台詞の変更のみに留めるのであれば特殊サブルーチンを組んで特定のパイロットが特定の機体に搭乗している場合は台詞の参照IDを変更(例えば、豹馬がコン・バトラーV搭乗の場合は通常の台詞IDではなく専用の台詞IDを参照)するという手法の方がいいのかもしれません。もっとも、シナリオ上での敗北条件を設定する際にそれら両方のパイロットIDを全て確認できなかった場合にのみ敗北とすれば問題はないので、あくまで好みの問題とも言えそうです。

第4次スーパーロボット大戦 MAP上の変形・合体・分離ユニットのコマンド制限について

 突然ですが、友人から「変形や合体するユニットに関する質問と解析の依頼が来ているので代わりに解析して解説記事を書いて欲しい」という話がありましたので、今回はその内容を取り上げてみます。  まずは変形ユニットから。友人の資料の記述方式に従って解説します。MAP上でユニットの変形設定を制御しているのは以下のサブルーチン(A057~A099)です。 00A057 BD 65 18          LDA $1865,X ユニットID取得 00A05A 29 FF 01          AND #$01FF 絞り込み:最大値を01FFとする 00A05D 64 2A STZ $2A M=7E002Aをゼロにする 00A05F 85 2C STA $2C AをM=7E002Cに書き込み 00A061 85 2E STA $2E AをM=7E002Eに書き込み 00A063 A0 07 00           LDY #$0007 ユニット定義の7番目(=変形設定)を取得 00A066 22 72 B3 80 JSL $80B372 $00B372 サブルーチン00B372を呼び出し 00A06A E2 20 SEP #$20           8bit化 00A06C 29 7F AND #$7F 絞り込み:最大値を7Fとする 00A06E F0 26 BEQ $26 $00A096 YESならばジャンプ 00A070 C9 08 CMP #$08 変形パターンチェック:08? 00A072 F0 26 BEQ $26 $00A09A YESならばジャンプ 00A074 C9 09 CMP #$09 変形パターンチェック:09? 00A076 F0 28 BEQ $28 $00A0A0 YESならばジャンプ...

第4次スーパーロボット大戦 BGM継続パッチの爆発音再生不具合の修正方法

 どうもご無沙汰しております。最近は本業が忙しくて全然解析関連の活動ができていないのですが、プレイそのものに支障がないとはいえBGM継続パッチのアカシックバスター問題が解決できていないのが気になって原因を探ってみました。  結論から申し上げますと、アカシックバスターによる爆発音再生の不具合は解決できます。アカシックバスターというよりも再生されるSE(効果音)のオペコードの中に爆発音を再生させる「11 0B」が含まれている(例えば効果音6Fを含む、サンアタックやカーズ、アカシックバスターなどの武器)とBGMが変更されるまでこのコードが常駐扱いになってしまうらしく、戦闘BGMに含まれている「11 0B」による爆発音の後にもう一度爆発音が再生されてしまうのが原因なのです。  つまり戦闘中に使われるBGMかSEの一方から全ての「11 0B」を削除し、もう一方には必ず「11 0B」を記述するように統一すればこの問題は発生しない事になりますが、BGMから「11 0B」を削除すると戦闘中に使用する全てのSEに「11 0B」を追加する必要があるので現実的ではありません(というかクソ面倒臭くてそんな事やってられません)。今のところどうして特定のSEにのみ「11 0B」が追加されているのか分かりません(MAP上の演出やイベントで鳴らすSEの都合?)が、とりあえずこれを削除するかSE定義のオフセットを「11 0B」を回避する形で設定すれば爆発音がオーバーフローせずにきちんと再生されるようになります。  まあ全く問題がないわけではなく、今後の課題はイベントや精神コマンド、MAP兵器を使用するなどの際にSE再生の不具合が起きないか心配という事でしょうか。この辺は組み合わせが膨大なので実際にプレイして確かめてみるしかありません。ただ、爆発音がおかしくなっても前述の通りプレイそのものには全く支障がないと思いますので、どうしてもそれが気になるという人以外は特にどうこう手を加えなくてもいいような問題でしょうね。

第2次スーパーロボット大戦G フラグによるグラフィックオフセットの分岐について

 相変わらずですが、色々と解析を進めグラフィックのオフセットを分岐させてみようと試みています。フラグの立て方とチェック方法を変更した結果、一応想定通りに分離はできましたが、何故か攻撃側と反撃側で格闘と射撃の攻撃アニメが混合するとフラグが正常に成立しなくなってしまいます。どうしてこうなるのかよく分かりませんが、何とか解決させたいものです。