Update 2.38
7.6.2026
v2.38.0BETA
Seymour
AURORA: BEARBEITE die echten Kampfkamera-Parameter (Winkel · Distanz · Position · Roll) im Panel
- Antwort auf "und wie sehe/bearbeite ich das?": Die 🎥 Kamera-Karte erhielt "🎚 Camera parameters (EDITABLE)". RE (IDA + FFXDataParser-Cross-Check, auf den Hinweis des Eigentümers): Die Kampfkamera ist SCRIPT-BERECHNET in chunk0 — Camera-Namespace-Calls (
camSetPolar(angle,distance),refSetPos(x,y,z),camSetRoll,camSetScrDpt), deren Parameter FLOAT-Konstanten im Pool sind. Neuer ReaderFfxLib/BattleMap/BattleCameraSetup_File.csextrahiert jeden Call + löst die Floats + die unterscheidbaren editierbaren Knobs;WithFloatbearbeitet den Float-Pool byte-lokal (gleiche Länge, nutztAiScript_File.EditFloatConstwieder), unter Erhalt der anderen Chunks. Das Panel listet die Knobs gruppiert nach Typ (polar/refPos/roll/screenDepth) mit Filter + Suche (die Kamera ist ein Cinematic-Script mit ~730 Cuts pro Kampf, also navigiert man per Gruppe/Suche, nicht über eine rohe Liste), jeder editierbar; "💾 Save camera parameters" wendet die geänderten Floats an (Backup-once + Reload). GateBattleCameraScanLaberweitert: 855 Bins mit Kamera, 623.981 Calls, Float-Edit-Round-Trip 855/855 (byte-lokal + reversibel). Ehrlich: Das Bearbeiten eines Floats ändert ALLE Cuts, die es teilen; ein eigener Winkel IST in der Datei (hebt das frühere "= scene authoring" auf); In-Game-Effekt = RT2. Docdocs/reverse/FFX_BATTLE_CAMERA_SHOT_TABLE_IDA_2026-06-07.md§6. Build 0 Fehler. [previous:v2.37.3]
v2.38.1BETA
Seymour
Monster AI Editor: STAT-Aktionen benannt (Ende von „stat 0xNN") — `setStatField` nutzt DIESELBE Tabelle
- Der Eigentümer wies am Bildschirm darauf hin, dass die 📊-Stats weiterhin roh angezeigt wurden („stat 0xDA = 8"). Befund (FFXDataParser ScriptFuncLib-Cross-Check):
setStatField(0x70AB)/getStatField(0x70AA) verwenden denselbenbtlActorProperty-indexType wiereadChrProperty(0x700F)/writeChrProperty(0x7018) — d. h. DIESELBE Feldtabelle; meine Annahme eines „getrennten Raums" war falsch. Warum sie roh blieben: IDs wie i.e0xDA/0xDB/0xE6haben im Parsername=null(nur eineninternalName:stat_round/stat_round_return/stat_attack_inc_speed), und die ersteAiChrPropertyNamesnahm nur die mit einem freundlichen Namen. Fix: das Dict regeneriert, um das interne Symbol des Spiels als Fallback aufzunehmen, wenn es keinen englischen Namen gibt (222 → 341 Felder) und es in den Stat-Zweig des Detektors verdrahtet. Jetzt wird „stat 0xDA = 8" zu „ = 8".FfxLib/Ai/AiChrPropertyNames.cs+AiAutomation(Stat-Zweig viaStatusFieldName). Gate--ai3PASS (4156 Stats; RT0 byte-identisch — nur Anzeige); Editor 0 Fehler. Ehrlich: die englischen Namen sind öffentliches RE; dieinternalNames sind das echte Symbol des Spiels (Typ „unknown" = Feinsemantik nicht 100% gemappt, aber das Symbol ist ehrlich und weit besser als Hex). [vorher:v2.38.0]