Route-A investigation of the defaulted-field hunt: mapped the generic IDXD reflective serializer (IdxdLoad_Dispatch/Idxd_Parse/ Reflect_FindFieldIndex/Reflect_SetField + g_FieldNameRegistry) and the global name-vector. Established that Idxd_Parse only writes fields present in the pool; defaults come from each type's constructor via the reflection registry. Quantified the gap (534 craft: 30-70% of core stats defaulted) and documented the two finish routes (static constructor reversal vs. runtime registry dump). Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
21 lines
1.8 KiB
SQL
21 lines
1.8 KiB
SQL
-- Re-stamp reverse-engineered function names onto sylpheed.db.
|
|
-- Source of truth: docs/RE_SYMBOLS.md. Re-run after any full DB regen
|
|
-- (regen wipes functions.name back to sub_XXXX).
|
|
-- python3 -c "import duckdb; duckdb.connect('sylpheed.db').execute(open('apply_re_symbols.sql').read())"
|
|
-- Addresses are decimal (DuckDB rejects 0x literals in some contexts); hex in comments.
|
|
|
|
UPDATE functions SET name = 'Pak_FindEntryByName' WHERE address = 2185628104; -- 0x824609C8
|
|
UPDATE functions SET name = 'Pak_HashPathName' WHERE address = 2185627944; -- 0x82460928
|
|
UPDATE functions SET name = 'Sylph_NameHash' WHERE address = 2185583736; -- 0x82455C78
|
|
UPDATE functions SET name = 'Str_ToLowerAscii' WHERE address = 2187284368; -- 0x825F4F90
|
|
UPDATE functions SET name = 'Pak_IsIPFBHeader' WHERE address = 2185627568; -- 0x824607B0
|
|
UPDATE functions SET name = 'Archive_StreamReadCrc32' WHERE address = 2185594120; -- 0x82458508
|
|
UPDATE functions SET name = 'Res3D_LoadMeshChunk' WHERE address = 2187592336; -- 0x82640290
|
|
|
|
-- IDXD reflective serialization framework (defaulted-field hunt, 2026-07-09)
|
|
UPDATE functions SET name = 'IdxdLoad_Dispatch' WHERE address = 2185529024; -- 0x824486C0 (magic dispatch IDXD/IDX2/IDX3/IDXC/IXUD; 15 callers)
|
|
UPDATE functions SET name = 'IdxdLoad_Variant2' WHERE address = 2185530624; -- 0x82448D00 (sibling variant loader)
|
|
UPDATE functions SET name = 'Idxd_Parse' WHERE address = 2185532992; -- 0x82449640 (tokenize pool; per-field lookup+set)
|
|
UPDATE functions SET name = 'Reflect_FindFieldIndex' WHERE address = 2185536240; -- 0x8244A2F0 (field-name -> index in name-vector @0x820B4F18)
|
|
UPDATE functions SET name = 'Reflect_SetField' WHERE address = 2185536688; -- 0x8244A4B0 (apply value via object registry @obj+64)
|