Update 2.37
7.6.2026
v2.37.0BETA
Seymour
Monster AI Editor: eine BEWIESENE „Wenn HP unter X%"-Bedingung (IDA+Korpus) + 222 benannte Property-Felder (Ende von "campo 0xNN")
- Halyson sagte, IDA zu verwenden, und vermutete "es muss eine Konfigurationsdatei sein, in der die Zeile = eine Zahl ist" — beides voll ins Schwarze. RE in
FFX_recon.i64: der ATEL-native Dispatch =handler = *(FuncspaceTables[funcId>>12] + 16*(funcId&0xFFF))(Slot +0 CALLPOPA / +12 CALL);readChrProperty(0x700F) =0x7A4D70→ einfield→property-Wechsel (sub_7B2DD0). Querverwiesen mit FFXDataParser/ScriptConstants.putBattleActorProperty (die "Konfiguration", die der Besitzer intuitiv erfasst hat) + dem Korpus: Feld 0x00 = HP (stat_hp, die am häufigsten gelesene Property des Korpus — 306×), 0x02 = maxHP (137×), 0x119 = NearDeath (= IDA-Fall 281current<max/2). Arithmetische Opcodes bewiesen (* 0x16usw.). #11 REAL ausgeliefert: ein geschützter Snippet "Wenn HP unter X% → Befehl erzwingen" = dasHP*100 < maxHP*X-Idiom (korpus-bewiesene Felder 0/2) — die echte Boss-Wut, keine Vermutung mehr (die frühere v2.35.0 war generisch, weil das HP-Feld nicht bewiesen war; jetzt ist es bewiesen). Benennung: neueFfxLib/Ai/AiChrPropertyNames.cs(222 benannte Felder, gleiche öffentliche Provenienz wie die Funktionsnamen-Tabelle des Codecs) in den Buff/Stat-Detektor verdrahtet → Statusaktionen zeigen jetzt "Hast/Protes/StatusPoison/HP/maxHP…" statt "campo 0xNN". Gate--ai2: HP%-Enrage 346/346 + bedingt 346/346;--ai3PASS. Doku:docs/reverse/FFX_AI_NATIVE_DISPATCH_AND_CHRPROPERTY_FIELDMAP_2026-06-07.md(+ Umbenennungs-Warteschlange für die.i64). Ehrlich: Struktur offline bewiesen, In-Game-Effekt = RT2; das 0xDA/218=HP%×256-Gauge existiert in IDA, aber der Korpus nutzt es nicht (ich habe den Pfad genutzt, den die AI tatsächlich verwendet, 0/2). Editor-Build rot wegen WIP der Sphere-Grid-lane (unabhängig); alle meine Dateien sind FfxLib, gate-validiert. [vorher:v2.36.0.1]
v2.37.1BETA
Seymour
SPHERE GRID CANVAS: AUTHENTISCHE Optik (ECHTE FFX-Icons über das Atlas des Editors) + lesbare Nodes + LIVE-Break-Warnung + Farben/Legende/Glow/Hover/Sound
- Der Eigentümer bat darum, es „hübsch zu machen + automatische Warnungen", und wies darauf hin, dass v1 ein winziger Kreis ohne Icon war. Kernfund: der Editor hatte BEREITS den prachtvollen Renderer des Explorers (
SphereGridPreview_Control+Assets/SphereGrid/icon_atlas.png) — also habe ich das ECHTE Atlas gestohlen (und die game-icons.net verworfen, die ich früher hinzugefügt hatte). Jetzt das Canvas: (1) AUTHENTISCHE FFX-Icons — eine farbige Kugel + dericon_atlas.png-Sprite nachAppearanceType(STR/DEF/MAG/HP/MP/white/black/special/skill/lock) ODER ein Text-Badge (AGI/ACC/EVA/LCK…), exakt wie im Explorer, viaSphereGridNodeVisualInfogebaut auspanel.bin(dieselbeCreatePreviewVisual/BuildShortLabel-Logik). (2) LESBARE Nodes — Kugel ~12px (war 5.5) + der Standard-Zoom öffnet jetzt auf lesbarer Ebene (828 Nodes nicht mehr gequetscht) + LOD (Punkte beim Herauszoomen für die Übersicht) + Viewport-Cull. (3) LIVE-Break-Warnung — das Ziehen eines Nodes <40u ODER das Überkreuzen einer Linie färbt ihn SOFORT ROT + ein Banner, ohne Validate-Klick (ein billiger Check nur des bewegten Nodes, pro Frame). (4) Kategorie-Farben + eine Legende, ein pulsierender Glow auf der Auswahl (DispatcherTimer), Hover-Licht und Sound viaAudioStudio_Service(gebündelte FFX-UI-SFX; erlaubt, weil das Projekt PRIVAT ist — die Korrektur des Eigentümers). KEINE Bild-AI — es ist der ECHTE Spiel-Sprite, der bereits im Editor ausgeliefert wird. Build 0 Fehler; Editor startet ohne Crash. [previous:v2.37.0]
v2.37.2BETA
Seymour
Monster-AI-Editor: #8 echte BENANNTE Ziele (Self / Gegner / Verbündete / Character#N…) — der Parser hat die Sentinels geknackt
- Nach dem "schau auf die Parser":
FFXDataParser/ScriptConstants.putEnum("btlActor")IST exakt die Ziel-Sentinel-Karte, die IDA nicht geliefert hatte (der ATEL-Resolver lief in den Timeout). Jetzt benannt und korpus-konsistent: -13/0xFFF3 = Self (bewiesen), -14/0xFFF2 = FrontlineChars (die "Gegner" des Monsters = die Spielercharaktere; der häufigste literale Schutzwall, 272×), -6/-7/-8 = Character #1/#2/#3, -15/0xFFF1 = AllMonsters (die "Verbündeten" des Monsters — passt zu Himmelswind→Monster heilen), -17 = LastAttacker, -5 = AllActors, -3 = TargetActors, -20 = AllAeons,0x10NN = MonsterType… (Gegner/Verbündeter aus der Perspektive des Monsters). Damit hört 🎯 Change target (v2.33.0) auf, "nur nach Beispiel kopieren" zu sein, und wird ein benanntes Ziel-Modus-Dropdown — das "alle / alle Gegner / alle Verbündeten", das der Besitzer in #8 von Anfang an wollte; die Aktionsliste zeigt "alvo: FrontlineChars"; und die Disassembly / der Operand-Editor glossiert die Sentinels (0xFFE9–0xFFFF, der eindeutige Bereich) als "(alvo: Self/…)". NeueFfxLib/Ai/AiTargetNames.cs(btlActor, gleiche öffentliche Provenienz wie die Func-/Property-Tabellen des Codecs); in das Dropdown +AiScript_File.OperandGlossverdrahtet. Gates--ai2/--ai3PASS (RT0 byteidentisch intakt — nur Gloss, null Bytes geändert); Editor baut 0 Fehler. Ehrlich: Self ist byte-bewiesen; die übrigen Namen stammen aus öffentlicher RE + korpus-konsistent (Feinsemantik = RT2). [previous:v2.37.1]
v2.37.3BETA
Seymour
SPHERE-GRID-CANVAS: Knoten skalieren mit dem Zoom + saubere Vektor-Icons (der Atlas hat falsch gecroppt)
- Besitzer-Feedback zu v2.37.1: der Explorer-Atlas (
icon_atlas.png) croppte seine Zellen falsch (Lv1-4 und viele andere hässlich), und Knoten schrumpften beim Hineinzoomen (bildschirmkonstante Größe → verloren im Abstand). Zwei Fixes: (1) Radius skaliert mit dem Zoom —CurrentNodeRadius = clamp(26×scale, 5..42px), also Zoom-in = eine GRÖSSERE Kugel (lesbares Icon), Zoom-out = kleiner (Überblick); das Icon/der Text skaliert mit. (2) Vektor-Icons — zurück zu game-icons.net (CC BY)-Glyphen (SphereGridIcons.cs, SVG-Pfad →Geometry.Parse), die bei jedem Zoom knackig skalieren, ohne Cropping (der Bitmap-Atlas ist verworfen): Schlösser = ein sauberes "L{n}"-Abzeichen (Lv1-4 nie wieder abgeschnitten), Stats bekommen ein Icon (HP/MP/Strength/Defense/Magic/Agility/Fortuna/ability), der Rest = ein skaliertes Text-Abzeichen (ACC/EVA/MDF/WHT/BLK/SPL/SKL). Behält die kategoriefarbene Kugel + Glow/Hover/Legende/Live-Break-Warnung/Sound. Build 0 Fehler; CC-BY-Attribution inSPHERE_GRID_ICON_CREDITS.txt. [previous:v2.37.2]