Update 2.227
8/12/2026
v2.227.0.1BETAREVISION
LuluAug 8, 2026
New 2.227.x numbering (supersedes the 2.224 chain). Magic PPP: opcode table 0x00?0x8A with semantics (external source: FFX mods Discord), documented & validated
- [previous: 2.227.0.0 MINOR by another session; 2.224.1.x chain superseded]
- New doc:
docs/reverse/magic_dlls/PPP_OPCODE_SEMANTIC_TABLE_2026-08-04.md? 139 opcodes (0x00?0x8A) with handler + semantics (Velocity/Step/Draw/PointChain/FlipbookCluster/etc.). - Validation: 139/139 handlers match the
field_map.json(221 families) by name; opcodes match exactly theprogtblslots (0xC3A500, 418 slots). 0 dropped handlers missing from field_map. - Value: adds the SEMANTICS layer to the dispatch table (which we lacked); falls into Magic PPP golden-rule categories (scale/movement/acceleration/angle/matrix/draw/resources-KeTh/behavior).
- Trust boundary: semantics is external source, not IDA-verified ? confirm 1 family by decompile before promoting to production (rule: IDA first).
- IDA verification (2026-08-12, canonical GUI via ida-pro-mcp):
pppKeThRes32CONFIRMS (PointChain 1x32,FFX_PppMem_BuildNodeChain);pppKeTh/pppKeGrvEff/pppKeLnsLpDIVERGE (delta accumulator / render-HUD / spring transform);pppDrawRainpartial (generic render). The generic classification (draw/PointChain/transform) is reliable; the specific usage names are NOT. Reinforced rule: decompile before any production claim. - Full batch (2026-08-12): all 139 handlers decompiled in batch via
py_exec_file(ida-pro-mcp). Real categories by decompiled name: Delta/Accum-transform (21), Transform/Matrix (24), VFX-Build/draw (18), Random (13), Render (13), NodeChain (confirmedFFX_PppMem_BuildNodeChain), KR-resource, Field/Node/Anim, UI/Debug. Doc section 6 with the full table (137/139 with real name). - Doc/RE only (REVISION) ? NO behavior change.
v2.227.0.2BETAREVISION
LuluAug 12, 2026
Documented the IDA GUI access flow via JSON-RPC + `py_exec_file` (ida-pro-mcp, port 13337)
CLAUDE.md("FLUXO IDA GUI via JSON-RPC") +AGENTS.md("Acesso ao IDA GUI"): steps (initialize ? tools/list ? decompile ? py_exec_file ? server_health), payloads, locked canonical DB caveat (ffx-reconstructed...), no-GUI fallback (idalib/idat).- Embedded proof: batch-decompile of 139 PPP handlers via one
py_exec_file(ref: PPP_OPCODE_SEMANTIC_TABLE ?5/?6). - Coordination doc only (REVISION) ? NO behavior change.
v2.227.0.1
v2.227.1.0BETAMINOR
LuluAug 12, 2026
Axis A complete: windows of the 37 non-editable handlers (RE) + `semantics_category`/`real_func` in the editor schema
- A1 ? RE of non-editable windows: batch-decompile (IDA GUI, py_exec_file) of the no-window handlers. Results documented (matrices = pos/rot/scale a1+16..60; node-chains =
FFX_PppMem_BuildNodeChain; tails). Honest correction: decompiled windows NOT applied as editable (matrices/tails without proven typed fields broke RT0 ? testMagic0117_Fuzz500Edits); kept as doc note (window_note) +work/magic_editor/ppp_windows_A1.json. - A2 ?
semantics_categoryon ALL 221 families (field_map.json): real categories from the IDA probe (Transform 36, Random 28, NodeChain 27, Delta/Accum 26, VFX-Build 23, etc.) + name heuristics for the 84 outside the probe. NewMagicFamilySchema.SemanticsCategory+ parsing inMagicFieldMap.cs. - A3 ?
real_func: 12 pppKeThRes* with derived function (FFX_PppMem_BuildNodeChain_1xN/4xN); 25 non-editable handlers already renamed in .i64 (previous sessions). NewMagicFamilySchema.RealFunc. - Gates: Release build 0 errors; MagicDll suite 76/76 PASS (RT0 fixed by reverting no-typed-field windows).
_embedded_families.json(140) +MagicFieldMapEmbeddedData.csregenerated. - Foundation for the semantic Inspector (Axis B).
v2.227.0.2