-- 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)
