エリアオーバー解析

連邦VSジオンにもシンボルが残っていますが
やっぱりというか何というか
逆に多すぎて混乱します(汗)

ステージにはエリアオーバーラインがあり
これを超えると強制的に戻されてしまいます
もしこれが外せれば広いエリアでプレイ出来ます。

早速シンボルをだーっと見ていくと
AreaOverCheck
というシンボルが存在します

もうシンボル名そのまんま
エリアオーバーのチェックと思われます。

早速プログラムを見てみた所
見慣れない命令が多数存在します

この見慣れない命令のほとんどは
浮動小数点を扱う時に使われる命令です

lwc1は浮動小数点レジスタへの数値ロード
mtc1は通常レジスタから浮動レジスタへの数値転送
c.le.sとc.lt.sは浮動レジスタの比較命令
bc1tとbc1fはCフラグによる分岐命令です
Cフラグとはc.le.sなどの比較命令によって
0か1が格納される特殊な物です。

予め設定したエリアを自機がオーバーしたら
エリア内に強制送還されるという事は
大体分岐命令でチェックされているハズです
bc1tbc1fなどは分岐命令なので
この4つを潰せばエリア外でもエリア内と
プログラムに誤認させれそうです

早速この4行をnopなどで潰してみましょう
すると、作戦エリアをオーバーしても
強制送還されなくなりました
これでエリアオーバー無しの完成です。