天地を喰らうシリーズは策略を使うにあたって「軍師」に任命された武将がいないと使用不能になるのですが、軍師に任命された武将は戦闘が開始されると隊列の一番後ろに配置され、隊列が6人以上になると直接戦闘に参加できなくなるというシステムになっています。これがいわゆる文官タイプ(武力や兵士数が低く知力が高い傾向の武将)であればまだいいのですが、劉備や馬謖や姜維のように文武両道の武将を軍師に任命する必要がある場合は事情が変わってきます。そこで、軍師に任命した武将がどのような処理で隊列の一番後ろに回されてしまうのか調べてみました。その結果、大まかに言うと「戦闘開始時にまず隊列の人数をチェックし、6人未満である場合は各武将の状態をチェックし、正常であれば隊列の位置そのまま、それ以外の状態の武将は隊列の最後尾に変更する。6人以上の場合は軍師を隊列の最後尾に移動させるが、負傷中の武将がいる場合は更に軍師の後ろに配置する」という処理内容でした。ここで言う武将の状態は「00=負傷中(戦闘不能)、40=軍師、80=正常、C0=正常かつ軍師」の4種類で、この処理内容を変更すれば軍師に任命した武将も隊列の変更がないまま戦闘に参加できそうです。つまり「隊列が6人以上でも6人未満でも武将が正常な状態であれば隊列の位置そのままを維持し、負傷中の武将のみ隊列の最後尾に変更する」とすればよいのではないでしょうか。この仮説を基に改変を行い、成功すればパッチとして公開する予定です。
BGMの貧弱さに定評があるキャプテン翼4ですが、これを補うべくサンプリングデータを差し替えられないか調査を始めてみました。サンプリングデータは050300から始まるオフセットテーブルで定義付けられており、最初の2バイトがデータ長、次に続く2バイトがサンプリングデータの展開先というパターン(これはSPC共通の仕様ですね)になっています。
さて、オフセットテーブルが判明している以上、ROM拡張をしてそこに音質の良いデータを書き込んでアドレス指定すればサンプリングデータの入れ替え自体は可能なのですが、問題はそれをサウンドドライバに組み込んだ場合に他のサンプリングデータと干渉しないようにできるかどうか、という事です。サンプリングデータは予め書き込み先が指定されていますので、このデータ長が他のサンプリングデータと干渉しないようにうまく調整するか、あるいはサウンドドライバ自体を書き換えてサンプリングデータの展開先アドレス領域を変更する必要が出てきます。干渉すれば当然オーバーフローを起こしてフリーズしますので、そういう意味でもなかなか面倒な作業になりそうです。
コメント
コメントを投稿