敵動かない
敵関係のシンボルが無いか探していくと
ENEMY(エネミー=敵)という文字を縮めたと思われる
ENMYという文字から始まるシンボルが大量に見つかりました
(1文字しか縮まってないのでENEMYのままでも良かった気も。)
その中に「ENMY_Move」というシンボルがありました
文字通り「敵の移動」に関係するプログラムと考えられます。
早速このシンボルが張られているプログラムに飛びます
少しプログラムを見ただけではどういう流れかは掴めませんが
シンボル名から敵の移動に関係するプログラムである可能性は高いので
このルーチンを動作しないようにして、どうなるかテストします
このENMY_Moveの先頭を参照先に設定して
F3でどこからこの関数を読んでいるか調べます
すると、0017D838の一箇所だけが見つかりました
このjal命令をnopに書き換えてしまえば
ENMY_Moveのプログラムを一切通過しなくなるので
事実上、ENMY_Moveを潰したのと同じになります
A017D838 00000000
〜暗号化〜
9C825B60 1456E7A5
これでゲームを始めてみると・・・
敵が全く出てこなくなってしまいました
どうやら敵の動作を止める事が出来ているみたいですが
このままではゲームを進める事が出来ません
そこでパッド操作でそれぞれ潰す、復帰するコードを作り
この敵が出てこない不具合を回避する事にします
D07B8A02 0000FBFD
2017D838 00000000
D07B8A02 0000F7FD
2017D838 0C09E940
〜暗号化〜
0CEE0D26 1456AC0A
1C825B60 1456E7A5
0CEE0D26 1456B80A
1C825B60 104DBE65
これで、敵の姿が見えてるうちにL3とL1を同時に押すと
その瞬間敵の動きが停止するようになりました
L3とR1を同時に押すとちゃんと動き出します
気分は「ザ・ワールド」です(笑)
またまた、私自身が出してるコードは
転載確認用に普段は見ない命令を使っていますが
結局は命令を潰しているだけで特に意味合いは変わりません。