Actualización 2.34
7/6/2026
v2.34.0BETA
Seymour
Batalla Rastreador: FUNCIONA (lee la batalla en vivo) — lectura inicial automática, estado honesto + un bloqueo de escritura RT2
- El Batalla Rastreador se abrió vacío (dos paneles en blanco, "Cargar en el juego" inerte). La causa fue NO las direcciones — Probé contra RAM en vivo (FFX.exe PID 24716, batalla
azit03_01) que toda la cadena es correcta:ADDR_BATTLE_ACTIVE(rva0xD2A8E0)=1,ENEMY_LIST/PLAYER_LIST(rva0xD34460/0xD334CC) resolución, paso Desplazamientos de0xF90,MemoryChr(Id@0xE,Max_hp@0x594,Hp@0x5D0,In_battle@0xDC8) partido, espacios de formación[0,4,6]== los 3 jugadores conIn_battle=1. El backend (Binarysharp.MSharpx64 que lee x86 FFX) también funciona:new MemorySharp+Read<byte>(rva, isRelative:true)devuelve el valor correcto. La causa fue UX: elDataModelnunca disparó la primera lectura (elArenaTrackerlee en su ctor; el Batalla Rastreador no lo hizo), y el temporizador solo leyó con la actualización automática activada. Solución: (1) lectura inicial en el constructor; (2) el temporizador mantiene el estado honesto cada tic y completa automáticamente la primera instantánea cuando comienza una batalla (no es necesario alternar la Actualización automática) y se borra al salir de la batalla; (3)ReadInfoincluido en intentar/catch que muestra el error + protecciones (puntero nulo/bytes nulos/ranura fuera de rango); (4)MemSharp_Service.IsAvailable()ya no se activa al adjuntar +IsAttached; (5) el UI obtuvo un banner de estado ("FFX no encontrado" / "adjunto, no hay batalla" / "En batalla: nombre · N enemigos, M aliados") y un RT2 bloqueo de escritura (casilla de verificación, predeterminado DESACTIVADO = solo lectura) que activa el botón renombrado "⚠ Escribir en el juego". Nueva herramienta de verificación:RuntimeTools/BattleTrackerProbe(prueba la ruta de lectura en vivo con el mismo DLL). Archivos: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. La compilación del módulo es correcta (validada en un árbol de trabajo HEAD limpio; la compilación completa del editor está interrumpida por el WIPAiTargetOptionde otro carril, no relacionado con este cambio). Honesto: LEER probado en pantalla/RAM; escribe (Cargar dentro del juego →WriteProcessMemory) permanece RT2 (juego abierto + bloqueo activado)
v2.33.0