mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 22:45:39 -04:00
refactor(main): convert 20 SDK-C-REORDER verbatim bodies to INCLUDE_ASM stubs — byte-neutral
These are libapi/libcard C functions in src/800c3.c that were banked as §265 verbatim __asm__ blocks. The triage (.run/S75/triage/report.md) established they carry the §188 shape (`jr $ra` with `addiu $sp,$sp,+N` in the slot) and that the "§332/§188 wall" is the §332b -O2 reorder island, which landed 2026-09-01 -- one day BEFORE four of them were banked as assembly, with the commit itself recording "6 of 53 at closeness 0" stored drafts. Converting them to stubs makes them reachable by every gate again (a verbatim body has no INCLUDE_ASM to substitute, so gate_main drops it as "resolved to NO stub") and is the honest accounting: a stub counts as OUTSTANDING WORK, a verbatim body counted as banked. BYTE-NEUTRAL, PROVEN: make extract + make build BINARY=main -> 143dbb89f34491258bbc27810d0a12ec8b43a8dd BYTE-IDENTICAL. INCLUDE_ASM pastes the same assembly the block transcribed, so it must be -- but "must" is a claim and this was gated, not assumed. Metric moves honestly: VERBATIM __asm__ bodies 173 -> 148, INCLUDE_ASM stubs 34 -> 53. 20 of 24 converted. The 4 refusals are reported, not silent: func_800623A4 / func_80062434 / func_8006252C (800c2_2) and func_8005D8A0 -- the last being the row all three of asm_in_c's detectors missed, which is its own finding. Also fixes verbatim_to_stub to CASE-NORMALISE the address. splat's convention is func_%08X but analysis artifacts carry lowercase (the triage taxonomy does), and asking for func_8005ed4c found 0 of 24 blocks that were all sitting right there. An address is a NUMBER; matching it as a case-sensitive string is R48 in its case-sensitivity form.
This commit is contained in:
+20
-1376
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user