前回、過去の有志の方たちによって作られているトレモやその他便利スクリプトの存在に存在に気付くとこまで書きました。
ここまでがだいたい2019年3月中旬くらいまでで、4月までちまちまとスクリプトをつくってきました。現在の進捗の一部です。
いろいろ取り込んでおります。以下、スクリプト実装でこれまでやってきたことです。
当たり判定表示と、スクロールする入力表示、OSDのスクリプトを合体させました。厳密には新しいrbff2.luaをつくって、外部のスクリプトファイルを呼び出して取り込むつくりにしています。
スクリプト内での関数名の競合があってくっつけるとちゃんと動かなかったり、描画前の画面消去命令で全部必要な情報が表示されなかったりしたのを直しました。
以下、取り込んだスクリプトを改造した部分の説明です。
- 当たり判定表示 - ほぼ手をいれていません。ガード判定色が複数種類あったので色を分けました。実際はガード一種類だけではなく、立ちガード、しゃがみガード、空中ガードだったり、倍返しの判定だったり、当身投げの判定だったりで別物の判定表示でした。全部は判明しておりません。飛び道具の攻撃判定が表示されていないのでなんとかしたいですが、知識や技術が追い付いていませんので後回しにしています。なんとかしたいなー。スクリプト改造のミスでしたが、飛び道具の判定が表示できるように戻りました。
- スクロールする入力表示 - 8x8ドットに画像のサイズと表示範囲を差し替えました。
- OSD - RBFF2用にはスタン表示がありませんでしたが、スタン値とスタン値解除タイマーのアドレスをRAMウォッチとかを駆使して探し、表示できるようにして、みためもカッコよくしました。体力下のゲージがそう。上がスタン値で、下がタイマーのフレーム数です。これ見えるようにしたほうがゲームとして楽しいのになーと思います。コンボ表示とダメージ表示も必要やろっていうことでこちらもアドレスを頑張ってさがして実現しました。
その他、自力で準備した機能は以下です。
- メニュー - メニューでいろいろと切り替えられるようにしました。セレクトでメニューの開閉できます。メニュー表示中はポーズもさせたいのですが未解決です。
- 体力値固定 - 満タンか赤ゲージに固定できるようにしました。減るようにもできますが、体力値ゼロになるとKOしてしまうのを回避できていないので固定です。デバッグDIP含めたチートを参考にして作っています。
- パワーゲージ固定 - 常に満タンか通常モードのどちらかになるようにしました。こちらもチートから。
- 残り時間無限 - チートでは99固定になっていましたが見た目がよろしくなかったので、デバッグDIPの時間固定チートと「RB2」表示になる時間の値をセットして実現しています。
- いろいろなガードモード(未完成) - 攻撃に反応してガード行動をとれるようにしています。ノーガード、自動ガード、立ちガード、しゃがみガード、1ヒットガード、ランダムガード、スウェー、避け攻撃、各種詠酒 をできるようにしました。相手の攻撃行動を判断するための方法がまだ確立できていないので、デバッグDIPで見れる情報から攻撃を検知するためのアドレスがわかり、ガードをするようにできていますが、上中下段を正確に攻撃を検知できていません。
- 距離の表示 - 1P座標 - 2P座標の結果の値を画面の下に表示しています。めくりのときにどちらか見たいこともあるだろうということで、絶対値にはしていません。マイナスなら1Pが2Pの右側、プラスなら左側になります。
- 前進行動 - 挑発している間、相手が前進してきます。すこし手前で止まるようにしています。
と、いろいろと作ってきていますが、参考にしたスクリプトなどの存在や、合法的にデータ入手できたりする方法などとあわせて人の目に触れられるようにするのには価値があるのではないかとおもってブログをはじめることにしました。
今後も進捗とかいろいろ書いていきますので、興味ある方はよろしくおねがいします。
リポジトリ準備中です。