Actualización 2.37
7/6/2026
v2.37.0BETA
Seymour
Editor Monster AI: una condición PROBADA "Si HP está por debajo del X%" (IDA+corpus) + 222 campos de propiedad con nombre (final de "campo 0xNN")
- Halyson dijo que usara IDA y adivinó "debe ser un archivo de configuración donde la línea = un número" - ambos acertados. RE en
FFX_recon.i64: el despacho nativo ATEL =handler = *(FuncspaceTables[funcId>>12] + 16*(funcId&0xFFF))(ranura +0 CALLPOPA / +12 CALL);readChrProperty(0x700F) =0x7A4D70→ un interruptorfield→property(sub_7B2DD0). Referencia cruzada con FFXDataParser/ScriptConstants.putBattleActorProperty (la "configuración" que el propietario intuyó) + el corpus: campo 0x00 = HP (stat_hp, la propiedad más leída del corpus: 306×), 0x02 = maxHP (137×), 0x119 = NearDeath (= IDA caso 281current<max/2). Códigos de operación aritméticos probados (* 0x16, etc.). #11 REAL enviado: un fragmento protegido "Si HP está por debajo del X% → forzar comando" = el modismoHP*100 < maxHP*X(campos probados en corpus 0/2): la verdadera ira del jefe, ya no es una suposición (la versión anterior de v2.35.0 era genérica porque el campo HP no estaba probado; ahora sí lo está). Denominación: el nuevoFfxLib/Ai/AiChrPropertyNames.cs(222 campos con nombre, la misma procedencia pública que la tabla de nombres de funciones del códec) conectado al detector de mejoras/estadísticas → las acciones de estado ahora muestran "Prisa/Coraza/StatusPoison/HP/maxHP…" en lugar de "campo 0xNN". Puerta--ai2: HP%-enrage 346/346 + condicional 346/346;--ai3PASS. Documentos:docs/reverse/FFX_AI_NATIVE_DISPATCH_AND_CHRPROPERTY_FIELDMAP_2026-06-07.md(+ cola de cambio de nombre para.i64). Honesto: estructura probada fuera de línea, efecto en el juego = RT2; el indicador 0xDA/218=HP%×256 existe en IDA pero el corpus no lo usa (usé la ruta que realmente usa AI, 0/2). El editor está en rojo debido al WIP del carril Sphere Grid (no relacionado); Todos mis archivos son FfxLib, validados por puerta
v2.36.0.1
v2.37.1BETA
Seymour
LIENZO DE CUADRÍCULA DE ESFERA: imágenes AUTÉNTICAS (iconos REALES de FFX a través del atlas del editor) + nodos legibles + advertencia de rotura EN VIVO + colores/leyenda/brillo/desplazamiento/sonido
- El propietario pidió "hacerlo bonito + advertencias automáticas" y señaló que el v1 era un círculo pequeño sin icono. Encontramiento de clave: el editor YA tenía el magnífico renderizador del Explorador (
SphereGridPreview_Control+Assets/SphereGrid/icon_atlas.png), así que robé el atlas REAL (y eliminé el game-icons.net que había agregado antes). Ahora el lienzo: (1) íconos AUTÉNTICOS de FFX: un orbe de color + el spriteicon_atlas.pngdeAppearanceType(STR/DEF/MAG/HP/MP/blanco/negro/especial/habilidad/lock) O una insignia de texto (AGI/ACC/EVA/LCK…), exactamente como el Explorador, a través deSphereGridNodeVisualInfocreado a partir depanel.bin(la misma lógicaCreatePreviewVisual/BuildShortLabel). (2) nodos LEGIBLES — orbe ~12px (era 5.5) + el zoom predeterminado ahora se abre en un nivel legible (ya no abarrota 828 nodos) + LOD (puntos cuando se aleja para obtener una descripción general) + selección de ventana gráfica. (3) Advertencia de interrupción EN VIVO: arrastrar un nodo <40u O cruzar un enlace lo vuelve ROJO instantáneamente + un banner, sin clic en Validar (una verificación económica solo del nodo movido, por cuadro). (4) colores de categoría + una leyenda, un brillo pulsante en la selección (DispatcherTimer), iluminación flotante y sonido a través deAudioStudio_Service(incluido FFX UI SFX; permitido porque el proyecto es PRIVADO: corrección del propietario). NO hay imagen AI: es el objeto REAL del juego que ya se incluye en el editor. Construya 0 errores; El editor arranca sin fallas
v2.37.0
v2.37.2BETA
Seymour
Monstruo AI Editor: #8 objetivos NOMBRADOS reales (Yo / enemigos / aliados / Personaje#N…) — el analizador descifró a los centinelas
- Después de "mirar a los analizadores":
FFXDataParser/ScriptConstants.putEnum("btlActor")ES exactamente el mapa centinela objetivo que IDA no había entregado (el solucionador ATEL agotado el tiempo). Ahora con nombre y consistente con el corpus: -13/0xFFF3 = Sí mismo (probado), -14/0xFFF2 = FrontlineChars (los "enemigos" del monstruo = los personajes del jugador; el centinela literal más común, 272×), -6/-7/-8 = Personaje #1/#2/#3, -15/0xFFF1 = AllMonsters (los "aliados" del monstruo — coincide con Viento blanco→curar monstruos), -17 = LastAttacker, -5 = AllActors, -3 = TargetActors, -20 = AllAeons,0x10NN = MonsterType… (el enemigo/aliado es desde el punto de vista del monstruo). Entonces, 🎯 Cambiar objetivo (v2.33.0) deja de ser "copiar con el ejemplo" y se convierte en un menú desplegable de MODO de objetivo con nombre: "uno/todos los enemigos/todos los aliados" que el propietario quería en el n.° 8 desde el principio; la lista de acciones muestra "alvo: FrontlineChars"; y el editor de desensamblaje/operando pasa por alto los centinelas (0xFFE9–0xFFFF, el rango inequívoco) como "(alvo: Sí mismo/...)". NuevoFfxLib/Ai/AiTargetNames.cs(btlActor, la misma procedencia pública que las tablas de funciones/propiedades del códec); conectado al menú desplegable +AiScript_File.OperandGloss. Puerta--ai2/--ai3PASS (RT0 byte idéntico intacto; solo brillo, cero bytes cambiados); El editor genera 0 errores. Honesto: El yo está probado en bytes; el resto de los nombres son de público RE + consistente con corpus (semántica fina = RT2)
v2.37.1
v2.37.3BETA
Seymour
LIENZO DE CUADRÍCULA DE ESFERA: los nodos se escalan con zoom + iconos vectoriales limpios (el atlas se recortó mal)
- Comentarios del propietario sobre v2.37.1: el atlas Explorador (
icon_atlas.png) recortó sus celdas mal (Lv1-4 y muchos otros feos) y los nodos se redujeron a medida que se acercaba (tamaño constante de la pantalla → se perdían). el espaciado). Dos correcciones: (1) el radio se escala con zoom —CurrentNodeRadius = clamp(26×scale, 5..42px), por lo que acercar = un orbe MÁS GRANDE (icono legible), alejar = más pequeño (descripción general); la escala del icono/texto con él. (2) iconos vectoriales — volver a game-icons.net (CC BY) glifos (SphereGridIcons.cs, ruta SVG →Geometry.Parse) que escalan nítidamente con cualquier zoom, sin recorte (el atlas de mapa de bits se elimina): candados = una insignia "L{n}" limpia (Lv1-4 nunca se vuelve a recortar), las estadísticas obtienen un ícono (HP/MP/Fuerza/Defensa/Magia/Agilidad/Buena suerte/habilidad), el resto = una insignia de texto escalado (ACC/EVA/MDF/WHT/BLK/SPL/SKL). Mantiene el orbe de color de categoría + brillo/desplazamiento/leyenda/advertencia de pausa en vivo/sonido. Construya 0 errores; Atribución CC-BY enSPHERE_GRID_ICON_CREDITS.txt
v2.37.2