feat(phase-30 S38): wave-6 propagation — func_8017EA84 x2 sibling slots

jtbl_family_bank (the §53 carve path; family_sweep --hseq refuses has_mid_jr
families by design). Each sibling individually byte-gated: carve -> extract ->
remap -> whole-binary build, kept iff byte-identical else reverted. Committed here
because jtbl_family_bank requires a clean tree between families (its per-sibling
revert restores from HEAD). R22 clean-fleet runs once over the whole batch.
This commit is contained in:
Drew T
2026-08-04 17:55:31 -06:00
parent 81c5cc559a
commit 7247c68b60
7 changed files with 6914 additions and 100 deletions
-48
View File
@@ -5169,51 +5169,3 @@ s32 func_80180F10(s32 param_1, s32 param_2) {
}
return 0;
}
INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077_jr_8017AE2C", func_8018103C);
INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077_jr_8017AE2C", func_80181948);
// @class: plumbing
// @stuck: none — MATCH expected; simple param-survives-call store sequence
extern void func_8012A828(s32 a0, void *a1);
extern char D_801B0118[];
void func_80181B58(int param_1)
{
*(short *)(param_1 + 2) = 2;
*(short *)(param_1 + 0x34) = 0;
func_8012A828(param_1, &D_801B0118);
*(int *)(param_1 + 0x1c) = 0x14;
}
// @class: plumbing
// @stuck: none — MATCH expected; param_1 survives call in $s0 naturally (single global allocno)
extern void func_8012A828(s32 a0, void *a1);
extern s32 D_801B0D50;
void func_80181B9C(s32 param_1) {
*(s16 *)(param_1 + 2) = 2;
*(s16 *)(param_1 + 0x34) = 3;
func_8012A828(param_1, &D_801B0D50);
*(s32 *)(param_1 + 0x1c) = 0x1e;
}
INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077_jr_8017AE2C", func_80181BE4);
INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077_jr_8017AE2C", func_80181F08);
INCLUDE_ASM("asm/ov_SC01_077/nonmatchings/ov_SC01_077_jr_8017AE2C", func_801820DC);
void func_80182254(s32 a0) {
*(s16 *)(a0 + 0x2) = 4;
*(s16 *)(a0 + 0x98) = 0;
*(s32 *)(a0 + 0x1C) = 0;
}
File diff suppressed because it is too large Load Diff
-48
View File
@@ -4164,51 +4164,3 @@ s32 func_8017E958(s32 param_1, s32 param_2) {
}
return 0;
}
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017EA84);
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017F390);
// @class: plumbing
// @stuck: none — MATCH expected; simple param-survives-call store sequence
extern void func_8012A828(s32 a0, void *a1);
extern char D_801A668C[];
void func_8017F5A0(int param_1)
{
*(short *)(param_1 + 2) = 2;
*(short *)(param_1 + 0x34) = 0;
func_8012A828(param_1, &D_801A668C);
*(int *)(param_1 + 0x1c) = 0x14;
}
// @class: plumbing
// @stuck: none — MATCH expected; param_1 survives call in $s0 naturally (single global allocno)
extern void func_8012A828(s32 a0, void *a1);
extern s32 D_801A72C4;
void func_8017F5E4(s32 param_1) {
*(s16 *)(param_1 + 2) = 2;
*(s16 *)(param_1 + 0x34) = 3;
func_8012A828(param_1, &D_801A72C4);
*(s32 *)(param_1 + 0x1c) = 0x1e;
}
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017F62C);
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017F950);
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8017AE2C", func_8017FB24);
DEFINE_func_8017FC9C() /* dedup: shared engine-core @0x8017FC9C (src/shared) */
File diff suppressed because it is too large Load Diff