規則正しく並んでいる複数のポインターに対してシリアル化っぽいことをしたい。
シリアル化+比較でorの条件もつけたい。
しかし、これ以上フラグに入れる場所が無いのでどうしたものか。
という悩みを改善すべくMLA,MLO,MLE,PMA,PMO,PMEを纏めることにした。
これにより多重シリアルや、シリアル内での柔軟な比較が可能になる予定。
_CN0 変更元サンプル
_MLA 0x40000000 0x0000AAAA 0x0000BBBB
_MLO 0x00000000 0x00000001 0x00000002
_MLE 0x00000000 0x00000003 0x00000000
_PIN 0x00000000 0x0000CCCC 0x00000000
_PTR 0x00000000 0x0000DDDD 0x00000000
_PMA 0x10000000 0x0000EEEE 0x000000FF
_PMO 0x00000000 0x00000001 0x00000002
_PME 0x00000000 0x00000003 0x00000000
↓
_CN0 変更後サンプル
_VOF 0x00000000 0x00000002 0x00000001 //ValueOffset = 2*1
_NWR 0x40000000 0x0000AAAA 0x0000BBBB
_PIN 0x00000000 0x0000CCCC 0x00000000
_PTR 0x00000000 0x0000DDDD 0x00000000
_PWR 0x10000000 0x0000EEEE 0x000000FF
_MLS 0x00000000 0x00000001 0x00050003 //AddressOffset=1 上5行を3回ループ
代わりに下記を追加予定
_MLS 上何行を何回ループするか + AddressOffset
_AOF AddressOffset _MLSと設定が同じ場合には不要
_VOF ValueOffset 0の場合は不要
_POF PointerOffset 0の場合は不要
描画領域やらGameIDやら、かなり無理矢理取得してるのでPopsのバージョンが変わっても使えるかがちと心配。
今度こそ付けるものは付けた気がするので徐々にPC版の作成を開始。
前回同様vb.netで作ってはいるけども、差し当たって問題点が二つ。
一つは4列×5行程度の小さいlistviewでもマウスで選択したときの反応が鈍いこと。
もう一つは毎秒数回更新するメモリエディタをdatagridで作ると重過ぎること。
datagridを更新しまくると重いのは仕方ないとして、ほぼ素の状態のlistviewの反応が遅いってどういうことぞ・・・・
今後の拡張のためにリスト書式を多少変更
リスト付き編集の下位マスクとアドレス側編集に対応
サーチ結果とMemEditの操作キーは変えたかったけども、どう変えていいか分からないので保留
メモステの容量チェック以外は直すところは直した気がするので、暫く普通に使ってみて問題無ければ人柱解除かな。
0.34は実用無視のテスト用。
オプションの右にテスト用タブ追加。
テストに入るとテスト用のコードとリストが読み込まれます。
リストはVRAMに入れているのでゲームを停止していないと正常に動作しません。
□+左右でモード切り替え、上下でコードとリスト選択
で、通常のコード編集にリスト付き編集を実装するためにコード書式を変更。
ちょっと長過ぎ?
フラグ部分に4桁追加、後ろに付けた全角文字を読み込むように。
_NWR 0x00000000 0x00000000 0x00000000 [全角8文字]
何人目、何個目とかを付けるためにコード書式を追加予定
_OFS 0x00000000 0xAAAAAAAA 0xBBBBBBBB
最終書き込みアドレスをAAAAAAAA*BBBBBBBBずらす。
+Xhの作業からも解放されるし意外と便利かもしれない。
コードファイルの読み込み高速化
まとめてサーチ用バッファに読み込んでから処理するようにした。
一時的にゲーム起動時のコード読み込みも切ってあります。
最低限必要な機能は付いた気がする。
リストがらみの処理、キー操作を追加してバグを取ったら人柱解除できそうかな。
日本語表示を取るべきか安定性+サーチ速度を取るべきか。
あうあうあー