アップデート 2.34
2026/6/7
v2.34.0BETA
Seymour
Battle Tracker: WORKS(ライブ戦闘を読み取る) — 初回自動読み込み、正直なステータス+ RT2 書き込みロック
- Battle Tracker は 空の状態で開いた(空白のパネル2つ、「Load Ingame」は無反応)。原因は アドレスの NOT — I がライブの RAM に対して検証し(FFX.exe PID 24716、battle
azit03_01)、チェーン全体が正しいことを証明した:ADDR_BATTLE_ACTIVE(rva0xD2A8E0)=1、ENEMY_LIST/PLAYER_LIST(rva0xD34460/0xD334CC)は解決、stride0xF90、MemoryChrのオフセット(Id@0xE、Max_hp@0x594、Hp@0x5D0、In_battle@0xDC8)も一致し、formation slots[0,4,6]==In_battle=1を持つ3人のプレイヤー。バックエンド(x86 FFX を読むBinarysharp.MSharpx64)も動作し、new MemorySharp+Read<byte>(rva, isRelative:true)は正しい値を返す。原因は UX:DataModelが 最初の読み込みを一度も発火しなかった(ArenaTrackerは ctor で読み込むが、Battle Tracker は読まなかった)うえ、タイマーは Auto-Refresh がオンのときだけ読み込んでいた。修正: (1) コンストラクターで初回読み込み; (2) タイマーは毎回 正直なステータスを維持し、戦闘開始時に 最初のスナップショットを auto-populates(Auto-Refresh の切り替え不要)、戦闘終了時にクリア; (3)ReadInfoを try/catch で包み、エラーを表面化してガード(null pointer / null bytes / out-of-range slot); (4)MemSharp_Service.IsAvailable()は attach 時に例外を投げなくなり、IsAttached; (5) UI に ステータスバナー(「FFX が見つかりません」/「接続済み、戦闘なし」/「戦闘中: name · N 敵、M 味方」)と RT2 書き込みロック(チェックボックス、既定値は OFF = read-only)を追加し、改名した「⚠ ゲームへ書き込む」ボタンを制御する。新しい検証ツール:RuntimeTools/BattleTrackerProbe(同じ DLL でライブ読み取り経路を証明)。ファイル:Modules/BattleTracker/{BattleTracker_DataModel.cs, BattleTracker_Control.axaml}、Services/MemSharp_Service.cs、RuntimeTools/BattleTrackerProbe/*、docdocs/reverse/FFX_BATTLE_TRACKER_LIVE_READ_PROVEN_2026-06-07.md。モジュールのビルド OK(クリーンな HEAD worktree で検証済み。フルエディターのビルドが壊れているのは、別レーンのAiTargetOptionWIP が原因で、この変更とは無関係)。正直なところ: READ は画面/RAM 上で実証済み。書き込み(Load Ingame →WriteProcessMemory)は引き続き RT2(ゲーム起動+ロックオン)
v2.33.0