mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
5b7e366648
- reloc_targets: propagate lui-hi through add/addu index arithmetic (gcc-2.7.2 indexed-global idiom lui;addu $idx;lw %lo($at)). The pre-26 tracker dropped it -> D[i] functions mis-normalized per overlay (inflated the 'h_norm reach-1 tail') AND lost their indexed D_ symbols in remap. norm_stream/h_norm deliberately UNTOUCHED (fleet metrics + proven sweep depend on it). - remap/symbol_map: backward-compatible to_addr=None (cross-address T2b sibling + self-rename) + imm_map hook (T2a); sequential re.sub -> single-pass simultaneous substitution (fixes latent chained-rename/value-permutation corruption). All 5 family_sweep call sites unchanged. - V0 (.run/v0_reloc.py): func_80141100 22/22 NEW==OLD (zero regression); func_801407F4 15/15 vs splat .s (pre-fix 10), recovers indexed D_80187B88/90/B0; cross-addr symbol_map clean. - V1 (.run/v1_regression.py): 160 real h_norm sibling pairs, 96 SAME, 0 lost — differences are strict indexed-reloc improvements only. - docs: cookbook §40b (the technique, R30) + decision-log 2026-07-11 (the strategic why, R31).