mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-03 08:07:25 -04:00
161d36cf36
- tools/argcheck.py: every call site whose in-scope declaration is narrower than the callee's real definition. 15,626 definitions read; 110,478 narrower declarations over 1,912 callees (86,701 K&R-empty, 23,777 positively narrow); 471 of them sit in a body that still holds a NEEDED $4-$7 pin — 323 bodies, the targeted draw, written to .run/P36/engine/argcheck_draw.tsv. Checked against the six agent cracks it was built from: it finds a7, a12 and a25, and it CANNOT find a13, whose function is declared (void) in 131 of 138 sites AND defined (void) — a declaration comparison is blind to a definition that is uniformly wrong. The census is a lower bound and the residual stays the oracle; the docstring says so. Corrected before use: the scope column says which FIX is available, not whether the body can be banked — the cast route is body-only at either scope (a7 closed a file-scope case that way). - Drew challenged a10's 'needed by construction' verdict: nobody wrote the pin, so a plain-C spelling must exist. He is right and the verdict is downgraded to its real scope — no spelling reaches the bytes in that TU's CURRENT declaration environment. That environment is demonstrably wrong there: the file declares extern s32 func_801789AC(s32 arg0) while the body calls it through a cast that drops the argument, the same class six agents cracked today. Restoring it was tested at once and scores 3, not 0, so it is not the whole answer — but a verdict taken inside a distorted environment is not a property of the function. func_80178970 moves to the structs/types phase list rather than being marked permanent, with its reading attached. - R14's documented premise corrected on bytes (agent a15): MIPS defines only PROMOTE_PROTOTYPES, not PROMOTE_MODE (config/mips/mips.h:1153), so a narrowed parameter stays HImode and the extension still happens at the use. R14's banked closes stand on their bytes, not on that rationale.
31 MiB
31 MiB
The file is too large to be shown.
View Raw