不具合修正や各種動作チェックも完了し、ようやくカスタムサントラモードの実装が完了しました。オプション画面やマップ画面の BGM設定を「ノーマル」にすればデフォルトの楽曲が再生され、「カスタム」にすれば任意のBGMを自分で用意した楽曲と差し替える事が可能です(どちらのモードでも再生される楽曲は強制的にステレオ出力になります)。また、動画の通りBGM継続パッチにも対応し、カスタムモードで差し替えた楽曲は楽曲ごとにバイナリエディタやBNE2で音量の指定設定も可能です。カスタムサントラモードはMSU-1チップをサポートした一部のエミュレーターやフラッシュカートリッジ(Snes9xやbsnes、 FXPAK PROなど )でのみその機能を使用できますが、ノーマルモードであれば他の環境でも問題なくプレイ可能(カスタムモードにするとBGMが再生されないだけ)です。 現状で確認できる不具合…というか仕様として、カスタムモードでサウンドテストを選択して楽曲を再生させた後にメニューに戻すと、再度サウンドテストのウィンドウを開いた際に楽曲の項目が1番目(デフォルトであれば「時を越えて」)になってしまうというものがあります。特にプレイに支障が出るものでもないと思うのですが、一応修正するアイデアがないわけでもないので、できる事ならば修正しておきたいところです。 今回は事前の知識としてBGM継続パッチやサウンドドライバ、BGMにSE周りのシステム関連の解析を行っていたので割と容易に実装可能となりましたが、作業量やデバッグの手間を考えるとその時間を他のリソースに割く方が懸命に思え、MSU-1関連のパッチ作成は他のタイトルでは積極的にやりたくはないというのが本音ですね。
レベルアップ時に再生されるファンファーレというかジングルですが、これはSE(=効果音)ではなくBGM(=曲)扱いのため、直前にSPC内で再生されているBGMデータが上書きされていまい、ジングルの終了後に改めて7E0076にリザーブされていたIDのBGMが再生され直す仕様になっています。そこで今回はこのジングルをSEに変更する事でBGMが上書きされる仕様を回避してみる事にしました。
とはいえジングルのBGMをSEに変換するのはサウンドドライバやチャンネルなどの仕様上不可能と判断し、既存のSE(回復系の行動で再生されるID:0044)でこれを代用してみました。この変更によりマップBGM(BGM継続パッチ適用時であれば再生中の戦闘BGM)が中断される事なくレベルアップ告知の表示が可能です(なお、技術的には経験値入手の処理と同様にジングルやSEを再生させないようにする事も可能です)。再生されているBGMの内容によってはややSEが聞き取りにくいのが難点ですが、ついでに本来は間をおいて表示されるレベルアップ告知ウィンドウが経験値取得ウィンドウと同時に表示されるようにしていますので、ゲームスピードはやや向上しています。これに需要があるかどうか不明ですが、この仕様に変更するパッチも作成しましたので、以下のURLからダウンロード可能です。ファイル解凍に必要なパスワードは「i(4FQy_$kks$)XEE」です。
コメント
コメントを投稿