Files
BFM-decomp/src/libgs6.c
T
Drew T f91a67a6fe feat(phase-7): libgs block 6 linked byte-identical (16 objs / 26 SDK funcs) — session F
- resegment 800b -> [800b pre][libgs6][800b2 post]; psyq_integrate the 16 contiguous
  block-6 libgs objects (GS_110/119/120/121/122/123/127/131/133/134/135/137, PRESET,
  PRESET3, OBJT, OBJT3) at vram 0x80053AF8-0x80057928; make check BYTE-IDENTICAL
- fix the resegment-triggered spimdisasm boundary instability: declare GsMulCoord2/3
  (real MATRIX.o funcs, verified via the PsyQ object, R15 Ghidra-mirror pending) +
  carve the s8 data descriptor table [0x53198,data,53198] (D_80062998 was shadowed by
  a mis-detected func_80062998); ld_interleave FRONT_DATA -> 53198.data.o
- psyq_integrate multi-library support: per-lib NOLOAD section namespacing (.nl_<tag>_*)
  so the 2nd integration's NOLOAD isn't skipped (was discarding OBJT3 .rdata/.bss);
  trial-link includes sibling *_externals.ld (kills the '31 UNRESOLVED' false alarm);
  global NOLOAD re-sort by vram (kills 'dot moved backwards')
- tools/make_libgs_block6.sh: reproducible curated-dir regen (disambiguated 16 objects)
- gated on [ -d .run/obj40/libgs_block6 ]: fresh-clone stub fallback verified byte-identical
- cookbook s9.4 (multi-library integration gotchas); CURRENT_PHASE updated
- next: full libgs integration (other 5 blocks), then Task 6 close-out + Task 7 PhaseEnd
2026-06-15 10:48:08 -06:00

356 lines
9.8 KiB
C

#include "common.h"
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80053AF8);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80053B20);
INCLUDE_ASM("asm/nonmatchings/libgs6", gte_scale_matrix);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80053CF8);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80053D44);
void GS_122_OBJ_DC(void) {
}
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80053E28);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_123_OBJ_78);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_123_OBJ_90);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_123_OBJ_A8);
void GS_123_OBJ_BC(void) {
}
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80053EEC);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80053F6C);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80054340);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_131_OBJ_4A4);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80054430);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_800544F8);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80054514);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_133_OBJ_30);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_133_OBJ_224);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_800547D8);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_134_OBJ_30);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_134_OBJ_224);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80054AAC);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_135_OBJ_38);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_135_OBJ_22C);
INCLUDE_ASM("asm/nonmatchings/libgs6", GsSetRefView2L);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_137_OBJ_1B8);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_137_OBJ_274);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_137_OBJ_39C);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_137_OBJ_488);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_137_OBJ_48C);
INCLUDE_ASM("asm/nonmatchings/libgs6", GS_137_OBJ_5EC);
INCLUDE_ASM("asm/nonmatchings/libgs6", GsLinkObject5);
INCLUDE_ASM("asm/nonmatchings/libgs6", GsPresetObject);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_108);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_14C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_1A8);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_1CC);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_244);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_2E8);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_380);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_39C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_3B4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_3C0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_450);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_4B4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_574);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_5C0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_63C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_6E8);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_744);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_748);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_754);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_7E8);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_8C0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_8CC);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET_OBJ_8FC);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80055D40);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_D0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_13C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_16C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_1A0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_210);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_254);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_2E0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_33C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_39C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_3E0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_424);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_484);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_4B0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_4D8);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_4DC);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_4FC);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_528);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_540);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_550);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_598);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_5E4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_62C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_658);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_678);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_6C4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_6C8);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_6D4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_6E4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_738);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_76C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_7F4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_838);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_8D4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_91C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_96C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_9B0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_9F4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_A44);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_A68);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_A88);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_A94);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_AA8);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_AD4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_AF0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_B28);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_B68);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_BA0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_BCC);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_BE0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_C20);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_C24);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_C30);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_C40);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_CB4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_D3C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_D80);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_E1C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_E64);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_EB4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_EF8);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_F3C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_F8C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_FB4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_FD8);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_FE0);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_FF4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_1020);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_103C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_1074);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_10B4);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_10EC);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_1118);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_112C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_116C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_1170);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_117C);
INCLUDE_ASM("asm/nonmatchings/libgs6", PRESET2_OBJ_118C);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80056F18);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_C4);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_D0);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_D8);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_E4);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_EC);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_F8);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_108);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_110);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_118);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_124);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_12C);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT_OBJ_13C);
INCLUDE_ASM("asm/nonmatchings/libgs6", func_80057094);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_E0);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_14C);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_1C4);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_248);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_28C);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_358);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_3BC);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_468);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_4AC);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_558);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_5C0);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_5EC);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_614);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_618);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_640);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_66C);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_69C);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_6EC);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_740);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_790);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_7BC);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_7E4);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_838);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_83C);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_848);
INCLUDE_ASM("asm/nonmatchings/libgs6", OBJT2_OBJ_858);