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

最新の投稿

ファミコン版天地を喰らう 軍師キャラの隊列変更阻止について

 天地を喰らうシリーズは策略を使うにあたって「軍師」に任命された武将がいないと使用不能になるのですが、軍師に任命された武将は戦闘が開始されると隊列の一番後ろに配置され、隊列が6人以上になると直接戦闘に参加できなくなるというシステムになっています。これがいわゆる文官タイプ(武力や兵士数が低く知力が高い傾向の武将)であればまだいいのですが、劉備や馬謖や姜維のように文武両道の武将を軍師に任命する必要がある場合は事情が変わってきます。そこで、軍師に任命した武将がどのような処理で隊列の一番後ろに回されてしまうのか調べてみました。その結果、大まかに言うと「戦闘開始時にまず隊列の人数をチェックし、6人未満である場合は各武将の状態をチェックし、正常であれば隊列の位置そのまま、それ以外の状態の武将は隊列の最後尾に変更する。6人以上の場合は軍師を隊列の最後尾に移動させるが、負傷中の武将がいる場合は更に軍師の後ろに配置する」という処理内容でした。ここで言う武将の状態は「00=負傷中(戦闘不能)、40=軍師、80=正常、C0=正常かつ軍師」の4種類で、この処理内容を変更すれば軍師に任命した武将も隊列の変更がないまま戦闘に参加できそうです。つまり「隊列が6人以上でも6人未満でも武将が正常な状態であれば隊列の位置そのままを維持し、負傷中の武将のみ隊列の最後尾に変更する」とすればよいのではないでしょうか。この仮説を基に改変を行い、成功すればパッチとして公開する予定です。

第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再生の不具合が起きないか心配という事でしょうか。この辺は組み合わせが膨大なので実際にプレイして確かめてみるしかありません。ただ、爆発音がおかしくなっても前述の通りプレイそのものには全く支障がないと思いますので、どうしてもそれが気になるという人以外は特にどうこう手を加えなくてもいいような問題でしょうね。

コメント

人気の投稿

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

第4次スーパーロボット大戦 改造コスト&改造数値分岐パッチを公開しました