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へロードしているアドレスに 浮動小数点で数値を入れて効果があるか試してみると 回転速度が速くなったりなど、ちゃんと効果が出ました。 場合によっては、シンボルが無くても ラベルや文字列の参照先を調べる事によって 意外とすんなり解析できるという事があります。 私はあんまりこういう方法で見つけた事はありませんが・・・