Files
BFM-decomp/src/snd2.c
T
Drew T 0cda15c6de fix(phase-24): T5c — restore main's clean-rebuild: propagate the Phase-21 PsyQ renames to 62 stub refs
Pre-existing latent breakage (Phase-21 close commit:0292, "+62 PsyQ names"), found during T5b's
R22 fleet verify. A genuinely-clean `make clean` + re-extract + build of `main` failed with
dozens of `can't open asm/nonmatchings/800c3/func_*.s` — clean-rebuild broken since Phase 21,
masked all along by incremental builds reusing stale pre-rename .s/.o (the exact R22 failure mode).

- Root cause (byte-proven): Phase-21 xdedup renamed 62 PsyQ library functions to their proper
  names (InitHeap, FlushCache, GetTPage, SysEnqIntRP, SpuWrite, CdMix, __main …) in
  symbols.us.txt, but never regenerated/renamed the committed src/*.c stub refs that call them by
  the OLD func_<ADDR> name. splat's FRESH regeneration of a stub .c uses the CURATED names (move
  src/800c3.c aside -> splat writes INCLUDE_ASM(InitHeap) + emits InitHeap.s); the committed stubs
  were simply stale.
- Fix: rename all 62 INCLUDE_ASM(func_<ADDR>) -> the curated name across 12 files (800c.c 1,
  800c3.c 22, apicard1/2/4 4/6/2, boot.c 1, libcd1.c 8, libetc.c 6, libgpu.c 3, sgap.c 1,
  snd1.c 7, snd2.c 1). Pure rename to match splat's canonical output; byte-neutral.
- VERIFIED: main clean-builds 143dbb89 from a fully clean tree; full clean fleet check-all 136/136.
- Lesson (cookbook): a symbols.us.txt rename must be propagated to (a) shared-macro bodies
  (engine_core.h — the T5b GetTPage fix) AND (b) INCLUDE_ASM stub refs (this), AND verified by a
  genuinely-clean check-all (make clean + full re-extract), never incremental. Added a lint check.
2026-07-03 02:50:03 -06:00

137 lines
3.5 KiB
C

#include "common.h"
INCLUDE_ASM("asm/nonmatchings/snd2", func_8003C498);
INCLUDE_ASM("asm/nonmatchings/snd2", S_STSA_OBJ_48);
INCLUDE_ASM("asm/nonmatchings/snd2", func_8003C4F0);
INCLUDE_ASM("asm/nonmatchings/snd2", S_ITC_OBJ_88);
INCLUDE_ASM("asm/nonmatchings/snd2", S_ITC_OBJ_90);
INCLUDE_ASM("asm/nonmatchings/snd2", func_8003C598);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_5C);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_64);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_6C);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_74);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_7C);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_84);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_8C);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_94);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_9C);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_CC);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_124);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_12C);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_134);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_13C);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_144);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_14C);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_154);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_15C);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_164);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_194);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_288);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_2DC);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_330);
INCLUDE_ASM("asm/nonmatchings/snd2", S_SCA_OBJ_384);
INCLUDE_ASM("asm/nonmatchings/snd2", func_8003C92C);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_1EC);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_1F4);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_1FC);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_204);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_20C);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_214);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_21C);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_224);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_22C);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_25C);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_2BC);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_2C4);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_2CC);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_2D4);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_2DC);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_2E4);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_2EC);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_2F4);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_2FC);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_32C);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_3C0);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_514);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_598);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_SV_OBJ_608);
INCLUDE_ASM("asm/nonmatchings/snd2", _spu_2pitch);
INCLUDE_ASM("asm/nonmatchings/snd2", func_8003CFF8);
INCLUDE_ASM("asm/nonmatchings/snd2", S_N2P_OBJ_11C);
INCLUDE_ASM("asm/nonmatchings/snd2", _spu_pitch2note);
INCLUDE_ASM("asm/nonmatchings/snd2", S_N2P_OBJ_208);
INCLUDE_ASM("asm/nonmatchings/snd2", func_8003D25C);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_GAKS_OBJ_B4);
void SR_GAKS_OBJ_C8(void) {
}
INCLUDE_ASM("asm/nonmatchings/snd2", SpuGetAllKeysStatus);
INCLUDE_ASM("asm/nonmatchings/snd2", SR_GAKS_OBJ_140);
INCLUDE_ASM("asm/nonmatchings/snd2", func_8003D3B4);
INCLUDE_ASM("asm/nonmatchings/snd2", SpuSetReverbModeDepth);