さて、使うか使わないかはさておきみんごる4の飛距離に関する改造コードをサーチしていました。
と言うのもみんごる4では飛距離として281ヤードの壁があり、もう少し飛ばせない物かと思う事が多々あるのですね。
しかしネットで落ちてるコードはPCSX2では動かなかったので自分で調べるしかないでしょうと言う事でしたが、ネットのヒントもあったので何とか探すことは出来ました。
飛距離コードサーチ
キャラのステータスとベース値
先駆者さんの情報の中で、キャラのステータスについてはそのまま利用できました。
0x2AF4D0から32バイトぐらいでのひとまとまりであり、最初の4バイトが飛距離に関する補正値と言う事が実際にプログラムやデータを見ると分かります。
補正値は1.1とかそのくらいの数値が保存されていて、1Wのベース値である230ヤードにこの補正値を掛けたものがキャラ選択画面に表示される飛距離と言う事です。
装備で飛距離が伸びる仕組みは、内部的に1ポイント飛距離のステータスが上がると0.01補正値が上がるので2.3ヤードずつ上がるという事です。
んで、飛距離に281ヤード制限があると言う事は補正値が22ポイントで頭打ちと言う事が想像されます。
プログラム的な動き
補正値が22ポイントで頭打ちと言いましたが、先ほどのキャラの補正値は1.23を超えて入っている場合もあります。
と言う事は、飛距離の計算の中で最大値チェックを行っていると予想されそこの分岐をつぶすことで飛距離制限の撤廃や、補正値をチートしての500ヤードショットが可能となります。
と言う事で自分の場合はサーチの取り掛かりとして0x2AF4D0(数馬の飛距離補正値)を3.0に変更したうえでメモリブレークポイントを仕掛けて逆算することにしました。
止まったところからフロートのレジスタを追いかけていくとf04レジスタに3.0が入ります、そこからステップ実行をしていくとすぐ近くで1.22がf00レジスタに入り、その付近で怪しげな比較命令がありました。
処理的には補正値の最大値チェックを行い、f04に入った補正値が1.22を超えていたら1.22を利用しそうでなければf04をf00にコピーして補正値を使用すると言うプログラムの様です。
改造の仕方
0x4c5570がf04(キャラの補正値)をf00(最終的に計算で利用する補正値)にコピーする命令となっており、直前の比較命令で来るときもあれば来ない時もあります。
キャラの補正値をチートで増やしたときはこの処理は来ないので、常にここに来るようにすれば良いです。
0x4c5568をNOPにするのが一番手っ取り早いですね。
なお、注意事項としてこのゲームではプログラムが動的に入れ替わるのでラウンドが始まった際に上記の改造をしないと効果が無いことと、1ゲームが終ってメニュー画面に戻ると改造の効果が無くなります。
そのためもう少しスマートに行うにはf00に代入されるリミットの補正値を変更する方が安全かと思います。ちなみに場所としては0x5b9de8になりここにフロート値で1.22が入っています。
これを3.0ぐらいにしておけばよほど足りるでしょう。
デカカップサーチ
通常
2倍
距離が一緒じゃないけど
3倍
4倍
デカカップ杯は4倍とのこと
終わりに
たまーにみんゴルがやりたくなるのですが、全ホール旗包み動画とか作りたいのですよね
問題はその時に飛距離チートを使うかどうか悩ましい所です。
もしみんゴル動画作った際には見てくださいな。
コメント