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

投稿

1月, 2025の投稿を表示しています

最新の投稿

第4次スーパーロボット大戦 地形適応のCOMPACTシリーズへの仕様変更案

 しばらく実生活での仕事が忙しく、何も手が付けられない日々が続いており大変申し訳ありません。戦闘BGM枠の拡張計画に関しては具体的に何をどう変更すればよいのか見当がついてはいるのですが、なかなか実行に移せない状態です。今のところ、この調子で6月か7月いっぱいまでの間は仕事の都合でなかなか時間が取れない予定です。  さて、何もできないのも面白くないので、今回は第4次スーパーロボット大戦のシステム変更の中で思いついたアイデアとして、機体の地形適応の仕様をCOMPACTシリーズ準拠にする方法について考察します。大半のスーパーロボット大戦での最終地形適応は「パイロットに設定された地形適応」と「機体に設定された地形適応」を合計したものが適用されるのですが、ワンダースワンで展開されたCOMPACTシリーズでは機体の地形適応のみが反映される仕組みになっています。これならば機体の特定の地形適応をAにする強化パーツを用意するだけでお気に入りの機体の地形適応を簡単に変更可能です。やり方としては従来の「パイロットの地形適応」を読み込む際にこれを「機体の地形適応」を読み込むように変更すれば簡単に実施できそうです。ただ、これを実際に実行するとパイロットの無個性化を招くのではないかと若干心配になります。しかしこれを実施する事によってパイロットのパラメーターウィンドウから地形適応を消し去る事が可能となり、同時に撃墜数の表示欄を移動させれば特殊技能の表示を3つから6つに変更できます。なかなかやりがいのある変更だと思うのですが、皆様はいかがお考えでしょうか?

第4次スーパーロボット大戦 カスタムサントラモード完成

 不具合修正や各種動作チェックも完了し、ようやくカスタムサントラモードの実装が完了しました。オプション画面やマップ画面のBGM設定を「ノーマル」にすればデフォルトの楽曲が再生され、「カスタム」にすれば任意のBGMを自分で用意した楽曲と差し替える事が可能です(どちらのモードでも再生される楽曲は強制的にステレオ出力になります)。また、動画の通りBGM継続パッチにも対応し、カスタムモードで差し替えた楽曲はバイナリエディタやBNE2で楽曲ごとに音量とループの有無の設定が可能です。カスタムサントラモードはMSU-1チップをサポートした一部のエミュレーターやフラッシュカートリッジ(Snes9xやbsnes、FXPAK PROなど)でのみその機能を使用できますが、ノーマルモードであれば他の環境でも問題なくプレイ可能(カスタムモードにするとBGMが再生されないだけ)です。  今回は事前の知識としてBGM継続パッチやサウンドドライバ、BGMにSE周りのシステム関連の解析を行っていたので割と容易に実装可能となりましたが、作業量やデバッグの手間を考えるとその時間を他のリソースに割く方が賢明に思えます。また、PCMファイルの配布も様々なリスクが付きまとう事を考えると、何か余程の事がない限りMSU-1関連のパッチ作成は他のタイトルでは積極的にやりたくはないというのが本音ですね。

第4次スーパーロボット大戦 ジェノサイド・マシンパッチ改を公開しました

 以前公開していた「ジェノサイド・マシンパッチ」(敵フェイズの戦闘BGMを「ジェノサイド・マシン」に固定化するパッチ)の改良版を作成しました。以前との違いは「レベルアップジングル変更パッチ」の要素を組み込む事により、BGMが途切れる事なく再生できる点とレベルアップ時の処理速度が向上する点です。その他には特に変更点はなく、ボス属性の機体に搭乗した敵ユニットとの戦闘ではボス属性のBGMが優先されるのもそのままです。ダウンロードは以下のURLから。ファイルの解凍パスワードは以前と同じですので、そちらの記事をご参照下さい。 https://ux.getuploader.com/retrogamelaboratory/download/99

第4次スーパーロボット大戦 続・PCMファイル再生パッチ作成の進捗状況と課題

 MSU-1を使用したBGMファイル再生パッチですが、テストを重ねたところ色々と不具合が見つかってしまい作業が難航しています。最初に難航したのは安定したBGM再生ができないという不具合でしたが、これは主にMSU-1のコマンドパラメーターを書き込むRAMの選定箇所が問題だった(未使用領域だと思っていた場所が実際には使用領域だったためコマンドパラメーターが上書きされてしまう)事が判明し、コードの記述が長くなるのを覚悟で未使用と思われる普段のパッチ作成では使用しないRAM領域に一時データを収める事で解決しました。しかしこれだけではまだまだ問題が解決していません。現状では以下のような課題が残っています。 モノラル/ステレオフラグを使用する事でBGMのSPC/MSU切り替えが可能になったが、これによりBGMを強制ステレオ化(或いは強制モノラル化)する処理が必要。 MSUモードの状態でサウンドテストを使用し、選択したBGMをそのままの状態で再度選択するとそのBGMが頭から再生されない、または無音になる。原因は不明(但し、別のBGMを選択した後であれば問題なく再生は可能)。拘るのであれば強制的にBGMを再度再生するためのサブルーチン作成が必要か? MSUモードの状態でカラオケモードを選択すると正常に歌詞が流れない(戦闘アニメーションだけが流れ続け、何かボタンを押せばキャンセル扱いでカラオケモードが終了する)。拘るのであればカラオケ画面読み込み時に強制的にSPCモードにし、カラオケ画面から抜ける際に直前のモードフラグを復帰させる機能が必要。 MSUモードからSPCモードへの切り替え時に、画面切り替え等で次のBGMが再生されるまでの間は無音の状態になってしまう(逆の場合は次のBGMが再生されるまでMSUのBGMが流れ続ける)。モード切り替え時に2006(MSUボリューム)を強制的に0にする処理をしている事が原因であるため、SPCでのBGM再生時のサブルーチン内部に2006を0にするコマンドを組み込めば解決できるのではないか。 MSUモードでサウンドテストを選択して一度サウンドテストから抜け、SPCモードに切り替えてそのまま再度サウンドテストを選択すると楽曲の選択タイトルが強制的に一番目のもの(時を越えて)になってしまう。逆の場合はこのような現象は発生しない。  これ...

第4次スーパーロボット大戦 PCMファイル再生パッチ作成の進捗状況と課題

 MSU-1チップ導入によるPCM音源再生パッチの進捗状況ですが、やはり当初思っていたよりも難解な技術というものではなく、割と簡単にMSU-1チップを介してPCMファイルを読み込み・再生する事に成功しました。しかし問題がない訳ではなく、特定のエミュレーターでしかMSU-1チップを組み込んだROMイメージが正常に動かず(具体的には現状で対応しているのはbsnes-PlusとSnes9xの2種類のみ)、それ以外のエミュレーターや実機でROMイメージを起動させるとゲーム自体はプレイできるもののBGMが再生されなくなってしまいます。これはMSU-1チップがあくまで発案者による架空の存在であるためこのチップに対応するプログラムが組み込まれたエミュレーターでないとPCM音源が再生されない(というかハードウェアレジスタンスが無効となりMSU-1チップを認識しない)ために起こる不具合です。つまりMSU-1チップを組み込んだROMイメージは嫌でも指定のエミュレーターでしかまともにプレイできなくなるという問題が生じる事になり、SNESGTをメインに使用する私としては少々モチベーションが下がってしまう思いです。  さて、PCM音源再生パッチを作成したはいいのですがもう一つの問題があります。それは「カラオケモードで字幕が一切先に進まなくなる」というものです。カラオケモードはSPCデータの内容とリンクして文字が切り替わる仕組みになってるので、PCMファイルでBGMを再生させた場合はこれが成立しなくなってしまうために起こる不具合です(不具合といっても字幕が更新されないだけでフリーズしたりする訳ではなく、キャンセルしたり本来のBGMの長さと同じだけの時間が経過すればカラオケ画面から曲目選択メニューに戻る事は可能です)。解決方法としては二つあり、一つはプランA「諦めて放置するかカラオケモードに入れないようにロックを掛ける」、もう一つはプランB「カラオケモードのカラオケ画面に入る際にカラオケモードフラグをONにし、このフラグが立っている間だけ本来のサウンドドライバによるSPCモードのBGMが再生されるように処理を切り替え、カラオケ画面終了と同時にフラグをOFFにする」というものです。作業としてはどう考えてもプランAの方が楽なのですが、折角なのでプランBが実際に実現可能なのか試してみ...