AP、エネルギーゲージ減らない ブースト速度変更

AP、エネルギーゲージ減らない


これは猛将伝のような感じで見つかりました
まず、アーマード・コア2を調べた所
APの値をロードする命令は
8C420004という数値でロードしているようなので
アーマード・コア3で数値検索をして
同じ命令を探してみましょう。

いくつか候補がありますが
その中で参照先が書かれている場所があります

早速この参照先であるアドレス
つまり004F54A4に数値を書き込んで
何か変化があるか実験してみた所
見事にAPが固定されています

APの値はゲーム画面に表示される数値の
4倍の数値で格納されているようなので
とりあえず8000の4倍の32000(7D00)にして終わりです

エネルギーゲージのアドレスは
AC2の時はAPのアドレス+4hの場所だったので
004F54A8で合ってるか実験してみた所
やはりエネルギーゲージが減らなくなりました。
その他、弾倉などのアドレスも
AC2を参考に周辺を調べたところ
あまりズレも無い状態で見つかりました。

猛将伝やアーマード・コアの様に
前作のコードや情報が利用出来る物も少なくないので
続編物などは、前作を友達から借りたりして
解析をして色々調べておけば
次回作の解析が楽になるという事もあります。


ブースト速度変更

このゲームはプログラムにラベルが付かない
つまりシンボルが無いという事になります
シンボルは残っていませんが
いくつか役に立ちそうなラベルがあります

その中で"dash:%f/%f\n"という文字列を見つけました

その近くにはturnなどの
移動に関係しそうな文字列が存在します
この文字列を参照している場所を解析してみます。

プログラムのおおまかな流れは
lwc1命令で$f12レジスタに何か数値をロードして
002FB008のプログラムルーチンへジャンプするようです
容量の問題で画像はありませんが
002FB008からのプログラムの中で
$f12レジスタの数値をストアする命令があります
どうやらこの文字列は、プログラムで
何かの働きに関係しているようです。

turnやdashなどの文字列の参照先が存在し
尚且つ、浮動小数点の数値をロードしている事や
プログラムの大体の流れからして
移動速度を設定するプログラムと思われます

実際にこの$f12へロードしているアドレスに
浮動小数点で数値を入れて効果があるか試してみると
回転速度が速くなったりなど、ちゃんと効果が出ました。

場合によっては、シンボルが無くても
ラベルや文字列の参照先を調べる事によって
意外とすんなり解析できるという事があります。
私はあんまりこういう方法で見つけた事はありませんが・・・