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

最新の投稿

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

 不具合修正や各種動作チェックも完了し、ようやくカスタムサントラモードの実装が完了しました。オプション画面やマップ画面の BGM設定を「ノーマル」にすればデフォルトの楽曲が再生され、「カスタム」にすれば任意のBGMを自分で用意した楽曲と差し替える事が可能です(どちらのモードでも再生される楽曲は強制的にステレオ出力になります)。また、動画の通りBGM継続パッチにも対応し、カスタムモードで差し替えた楽曲は楽曲ごとにバイナリエディタやBNE2で音量の指定設定も可能です。カスタムサントラモードはMSU-1チップをサポートした一部のエミュレーターやフラッシュカートリッジ(Snes9xやbsnes、 FXPAK PROなど )でのみその機能を使用できますが、ノーマルモードであれば他の環境でも問題なくプレイ可能(カスタムモードにするとBGMが再生されないだけ)です。 現状で確認できる不具合…というか仕様として、カスタムモードでサウンドテストを選択して楽曲を再生させた後にメニューに戻すと、再度サウンドテストのウィンドウを開いた際に楽曲の項目が1番目(デフォルトであれば「時を越えて」)になってしまうというものがあります。特にプレイに支障が出るものでもないと思うのですが、一応修正するアイデアがないわけでもないので、できる事ならば修正しておきたいところです。 今回は事前の知識としてBGM継続パッチやサウンドドライバ、BGMにSE周りのシステム関連の解析を行っていたので割と容易に実装可能となりましたが、作業量やデバッグの手間を考えるとその時間を他のリソースに割く方が懸命に思え、MSU-1関連のパッチ作成は他のタイトルでは積極的にやりたくはないというのが本音ですね。

第2次スーパーロボット大戦G シナリオデモのイベントコード

ようやくシナリオデモ(マップ開始前・終了後の会話画面)のイベントコードがほぼ解明できました。シナリオ変更の一助になれば幸いです。

次はマップそのもので展開されるイベントコードの解明ですが、こちらはしばらく時間がかかりそうです。気長にお待ち下さい。


0x0003 ウェイト。 03 xx yy

                xx yyは待ち時間。

0x0004 指定アドレスにジャンプ。 04 xx yy

                xx yyはROM内のアドレス。

0x0049 BGMの変更。 49 xx

                xxはBGM番号。

0x0081 シナリオデモの終わり。 81

0x0084 パイロット参入。 84 xx

                xxはパイロットID。

0x0085 機体入手。 85 xx

                xxは機体ID。

0x0086 パイロット離脱。 86 xx

                xxはパイロットID。

0x0087 機体離脱。 87 xx

                xxは機体ID。

0x0088 強制乗り換え 88 xx yy

                xxはパイロットID、yyは機体ID。

0x0089 自軍にユニット(=機体に乗ったパイロット)が参入。 89 xx yy zz

                xxはパイロットID、yyはパイロットのレベル、zzは機体ID。

0x008A フラグONならば指定アドレスにジャンプ。

                F2 XX YY 8A xx yy

                xx yyはROM内のアドレス。「F2 XX YY」と組み合わせて使用。

0x008B フラグOFFならば指定アドレスにジャンプ。

                F2 XX YY 8B xx yy     9B 8B xx yy

                xx yyはROM内のアドレス。「F2 XX YY」と組み合わせて使用。

                択一イベントの場合は「9B」と組み合わせ。

                選択肢の二番目を選ぶとxx yyにジャンプ。

0x0092 メッセージイベント開始。 92 xx yy zz

                xxはパイロットID。yy zzはメッセージID。

0x009A メッセージ呼び出し。 9A xx yy

                xx yyはメッセージID。

0x009B 択一イベント開始。 9B 8B xx yy

                基本的に「8B xx yy」と一緒に使用。

                選択肢の二番目を選ぶとxx yyにジャンプ。

0x009E ワールドMAPを呼び出してポインタを付ける。 9E ww xx yy zz

                wwはワールドMAPのID、xxは地名ID、yy zzはMAP上の座標。

0x009F 指定座標にポインタを動かす。 9F xx yy zz

                xxは地名ID、yy zzは目標座標。

0x00A4 表示ウィンドウを消す。 A4

0x00C8 指定機体の改造引き継ぎ。 C8 xx yy

                xxは引き継ぎ元の機体ID、yyは引き継ぎ先の機体ID。

0x00C9 指定パイロットを出撃禁止にする。 C9 xx

                xxはパイロットID。

0x00CA 指定パイロットの出撃禁止を解除する。 CA xx

                xxはパイロットID。

0x00CE 次のシナリオの指定。 CE xx

                xxはシナリオのID。

0x00E1 指定パイロットが経験値を取得。 E1 xx yy zz

                xxはパイロットID、yy zzは取得する経験値。

0x00F0 指定フラグをONにする。 F0 xx yy

                xx yyはフラグ番号。

0x00F2 指定フラグを参照する。 F2 xx yy

                xx yyはフラグ番号。

0x00F4 資金を入手。 F4 xx yy

                xx yyは入手する資金の額。

0x00F6 BGMの開始。 F6 xx

                xxはBGM番号。

コメント

人気の投稿

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

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