Aggiornamento 2.34
07/06/2026
v2.34.0BETA
Seymour
Battle Tracker: FUNZIONA (legge la battaglia live) — lettura iniziale automatica, status onesto + un RT2 write lock. (letterale tecnico: WORKS)
- Il Battle Tracker si apriva vuoto (due pannelli bianchi, "Load Ingame" inerte). La causa NON erano gli indirizzi (letterale tecnico: NOT) — ho provato contro la RAM live (FFX.exe PID 24716, battaglia
azit03_01) che l'intera catena è corretta:ADDR_BATTLE_ACTIVE(rva0xD2A8E0)=1,ENEMY_LIST/PLAYER_LIST(rva0xD34460/0xD334CC) risolvono, stride0xF90, offsetMemoryChr(Id@0xE,Max_hp@0x594,Hp@0x5D0,In_battle@0xDC8) corrispondono, slot formation[0,4,6]== i 3 giocatori conIn_battle=1. Anche il backend (Binarysharp.MSharpx64 che legge l'x86 FFX) funziona —new MemorySharp+Read<byte>(rva, isRelative:true)restituisce il valore giusto. La causa era UX: ilDataModelnon ha mai sparato la prima lettura (l'ArenaTrackerlegge nel suo ctor; il Battle Tracker no), e il timer leggeva solo con Auto-Refresh attivo. Fix: (1) lettura iniziale nel costruttore; (2) il timer mantiene lo status onesto a ogni tick e auto-popola il primo snapshot quando inizia una battaglia (letterale tecnico: auto-populates) (niente bisogno di togglare Auto-Refresh) e pulisce all'uscita battaglia; (3)ReadInfoavvolto in try/catch che fa emergere l'errore + guardie (null pointer / null bytes / slot out-of-range); (4)MemSharp_Service.IsAvailable()non lancia più su attach +IsAttached; (5) la UI ha guadagnato un banner status ("FFX not found" / "attached, no battle" / "In battle: name · N enemies, M allies") e un RT2 write lock (checkbox, default OFF = read-only) che gata il pulsante rinominato "⚠ Write to game". Nuovo tool di verifica:RuntimeTools/BattleTrackerProbe(prova il percorso read live con la stessa DLL). File: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. Build modulo OK (validato in un worktree HEAD pulito; la build editor completa è rotta dal WIPAiTargetOptiondi un'altra lane, non correlato a questo cambio). Onesto: READ provato su schermo/RAM; writes (Load Ingame →WriteProcessMemory) restano RT2 (gioco aperto + lock on)
v2.33.0