Update 2.34
7.6.2026
v2.34.0BETA
Seymour
Battle Tracker: er FUNKTIONIERT (liest die Live-Battle) — automatischer Erst-Read, ehrlicher Status + eine RT2
- Der Battle Tracker öffnete leer (zwei leere Panels, „Load Ingame" inert). Die Ursache waren NICHT die Adressen — ich habe gegen Live-RAM bewiesen (FFX.exe PID 24716, Battle
azit03_01), dass die gesamte Kette korrekt ist:ADDR_BATTLE_ACTIVE(rva0xD2A8E0)=1,ENEMY_LIST/PLAYER_LIST(rva0xD34460/0xD334CC) lösen auf, stride0xF90,MemoryChr-Offsets (Id@0xE,Max_hp@0x594,Hp@0x5D0,In_battle@0xDC8) passen, Formations-Slots[0,4,6]== die 3 Spieler mitIn_battle=1. Das Backend (Binarysharp.MSharpx64 liest das x86-FFX) funktioniert auch —new MemorySharp+Read<byte>(rva, isRelative:true)liefert den richtigen Wert. Die Ursache war UX: dasDataModelfeuerte den ersten Read nie (derArenaTrackerliest in seinem ctor; der Battle Tracker nicht), und der Timer las nur bei aktiviertem Auto-Refresh. Fix: (1) Erst-Read im Konstruktor; (2) der Timer hält bei jedem Tick den ehrlichen Status und befüllt den ersten Snapshot automatisch, wenn eine Battle startet (kein Umschalten von Auto-Refresh nötig) und leert bei Battle-Ende; (3)ReadInfoin try/catch gewrappt, das den Fehler + Guards anzeigt (Null-Pointer / Null-Bytes / Slot außerhalb des Bereichs); (4)MemSharp_Service.IsAvailable()wirft beim Attach nicht mehr +IsAttached; (5) die UI bekam ein Statusbanner („FFX nicht gefunden" / „verbunden, kein Kampf" / „Im Kampf: Name · N Gegner, M Verbündete") und eine RT2 (Checkbox, Standard OFF = read-only), die den umbenannten „⚠ Write to game"-Button gated. Neues Verifikationswerkzeug:RuntimeTools/BattleTrackerProbe(beweist den Live-Read-Pfad mit derselben DLL). Dateien: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. Modul-Build OK (validiert in einem sauberen HEAD-Worktree; der vollständige Editor-Build ist durch ein laneAiTargetOption-WIP einer anderen gebrochen, unabhängig von dieser Änderung). Ehrlich: READ auf Screen/RAM bewiesen; Writes (Load Ingame →WriteProcessMemory) bleiben RT2 (Spiel offen + Sperre an). [vorher:v2.33.0]