plumb(overlays): §378 self-caller casts + decl sync for 12 self_decl_tu drafts

The same class that produced four banks in main, applied across the overlay
fleet. `blocker_probe` over all 26 binaries holding a stranded S76 draft found
11 whose blocker is `self_decl_tu`; harvest_verify named a twelfth
(ov_SC03_111:func_80181344, `conflicting types for func_80181344').

    ov_SC01_005 func_8017FBCC     ov_SC04_005 func_80185CEC
    ov_SC01_006 func_8017FBCC     ov_SC04_007 func_80182358
    ov_SC02_041 func_801832F8     ov_SC04_011 func_8018985C
    ov_SC03_105 func_8017F018     ov_SC05_003 func_80181720
    ov_SC03_111 func_80181344     ov_SC05_018 func_80181294
    ov_SC03_124 func_8018095C     ov_SC04_002 func_80182CBC

35 edits, 0 refusals. cast_self_callers is binary-generic — only sync_tu_decls
is main-only — so the checkpoint's "extend it or drive recover_integration per
binary" needed neither.

Every one of the 12 binaries was baseline-checked with NO draft substituted and
all 12 build their locked SHA, so the casts move zero bytes fleet-wide, exactly
as they did in main.
This commit is contained in:
Drew T
2026-09-03 19:15:32 -06:00
parent 04d9d28bb6
commit 3c34f8f4a3
16 changed files with 35 additions and 35 deletions
+2 -2
View File
@@ -3885,7 +3885,7 @@ s32 a0;
}
extern void func_8017FBCC(void);
extern void func_8017FBCC(s32 arg0);
extern void func_8017FD50(s32 a0);
extern s32 func_801789AC(s32 arg0);
extern void func_80178D18(void);
@@ -3896,7 +3896,7 @@ void func_80180974(s32 a0)
s32 v0;
if (*(s16 *)(a0 + 0x100) == 0) {
func_8017FBCC();
((void (*)())func_8017FBCC)();
} else {
func_8017FD50(a0);
}
+2 -2
View File
@@ -3917,7 +3917,7 @@ s32 a0;
extern s32 func_801789AC(s32 arg0);
extern void func_801746A4(void);
extern void func_80178D18(void);
extern void func_8017FBCC(void);
extern void func_8017FBCC(s32 arg0);
extern void func_8017FD50(s32);
void func_80180974(a0)
@@ -3926,7 +3926,7 @@ s32 a0;
s32 v0;
if (*(s16 *)(a0 + 0x100) == 0) {
func_8017FBCC();
((void (*)())func_8017FBCC)();
} else {
func_8017FD50(a0);
}
+2 -2
View File
@@ -7957,7 +7957,7 @@ extern s32 rand(void);
* func_8018317C's). Its own .s takes TWO args ($a0 = entity-owner, $a1 = id):
* do NOT adopt the 1-arg `void f(void*)` spelling that the *unrelated* overlay
* ov_SC03_001 uses for its own different function at the same address. */
extern void func_801832F8(s32 a0, s32 a1);
extern s32 func_801832F8(s32 a0, u16 a1);
/* Spawn a 0x4F entity for `a0`, then jitter its three s16 fields at +0x6/+0xA/+0xE
* by a random amount (mod 28 / 32 / 28, sign picked by a second rand()), flip the
@@ -8026,7 +8026,7 @@ s32 func_8018317C(s32 a0) {
* not reproduce the target order -- only both together do, hence a real
* barrier rather than a statement reorder. */
__asm__ __volatile__("" ::: "memory");
func_801832F8(a0, 0x7F3);
((s32 (*)())func_801832F8)(a0, 0x7F3);
return s2;
}
+2 -2
View File
@@ -4113,7 +4113,7 @@ extern s32 func_8012BEE8(s32 a0);
extern s32 func_8012CBF4(s32 a0);
extern s32 func_8012CBA4(s32 a0);
extern s32 func_8012C51C(void *a0, s32 a1);
extern void func_8017F018(s32 a0);
extern s32 func_8017F018(s32 a0);
extern void func_8017F0C8(s32 a0, s32 a1);
extern void func_8002D4C8(s32 a0, s32 a1);
@@ -4183,7 +4183,7 @@ void func_8017EE34(s32 a0) {
return;
}
}
func_8017F018(s0);
((s32 (*)())func_8017F018)(s0);
}
+1 -1
View File
@@ -2800,7 +2800,7 @@ extern u8 D_8018E11C[];
extern void func_8017EC98(void *a0);
extern s32 func_8012CBA4(s32 a0);
extern s32 func_8012C51C(void *a0, s32 a1);
extern void func_8017F018(s32 a0);
extern s32 func_8017F018(s32 a0);
extern void func_8017EE34(s32 a0);
extern void func_8017EF94(s32 a0);
extern s32 func_80132EF4(s32 a0, s32 a1);
+1 -1
View File
@@ -2800,7 +2800,7 @@ extern u8 D_8018E11C[];
extern void func_8017EC98(void *a0);
extern s32 func_8012CBA4(s32 a0);
extern s32 func_8012C51C(void *a0, s32 a1);
extern void func_8017F018(s32 a0);
extern s32 func_8017F018(s32 a0);
extern void func_8017EE34(s32 a0);
extern void func_8017EF94(s32 a0);
extern s32 func_80132EF4(s32 a0, s32 a1);
+1 -1
View File
@@ -2813,7 +2813,7 @@ extern u8 D_8018E11C[];
extern void func_8017EC98(void *a0);
extern s32 func_8012CBA4(s32 a0);
extern s32 func_8012C51C(void *a0, s32 a1);
extern void func_8017F018(s32 a0);
extern s32 func_8017F018(s32 a0);
extern void func_8017EE34(s32 a0);
extern void func_8017EF94(s32 a0);
extern s32 func_80132EF4(s32 a0, s32 a1);
+1 -1
View File
@@ -2804,7 +2804,7 @@ extern s32 func_8012BEE8(s32 a0);
extern s32 func_8012CBF4(s32 a0);
extern s32 func_8012CBA4(s32 a0);
extern s32 func_8012C51C(void *a0, s32 a1);
extern void func_8017F018(s32 a0);
extern s32 func_8017F018(s32 a0);
extern void func_8017EE34(s32 a0);
extern void func_8017EF94(s32 a0);
extern s32 func_80132EF4(s32 a0, s32 a1);
+2 -2
View File
@@ -4041,9 +4041,9 @@ s32 func_801812B4(void *arg0) {
}
extern s32 func_80181344(void);
extern void func_80181344(void);
void func_80181324(void) {
func_80181344();
((void (*)())func_80181344)();
}
+1 -1
View File
@@ -6539,7 +6539,7 @@ extern short D_8018FC3C;
extern void func_8001C214(s32 a0, s32 a1);
extern void func_8012C1B8(void);
extern void func_8012CAE4(void *a0);
extern void func_8018095C();
extern s32 func_8018095C(void *a0);
extern void func_801843E0(void*, s32);
void func_801808B8(arg0)
+4 -4
View File
@@ -7201,7 +7201,7 @@ void func_80182328(s32 a0)
extern s32 func_801826E8(s32 a0);
extern s32 func_80182CBC(s32 a0, void *a1);
extern void func_80182CBC(s32 a0, void *a1);
void func_801823BC(s32 arg0) {
s32 ret;
@@ -7214,7 +7214,7 @@ void func_801823BC(s32 arg0) {
*(s32 *)(arg0 + 0x18) = 0;
*(s32 *)(arg0 + 0x4) = *(s32 *)(arg0 + 0x38);
*(s32 *)(arg0 + 0xC) = *(s32 *)(arg0 + 0x40);
func_80182CBC(arg0, ret);
((void (*)())func_80182CBC)(arg0, ret);
}
}
@@ -7253,7 +7253,7 @@ void func_80182424(void *a0) {
extern void func_8012CBF4(s32 a0);
extern void func_801319E0(s32 a0);
extern s32 func_801826E8(s32 a0);
extern s32 func_80182CBC(s32 a0, void *a1);
extern void func_80182CBC(s32 a0, void *a1);
extern void func_8012ADE4(u8 *a0);
extern void func_80131E00(void *a0, s32 a1);
extern void func_80131C78(s32 a0);
@@ -7269,7 +7269,7 @@ void func_801824A4(s32 param_1) {
}
hit = func_801826E8(param_1);
if (hit != 0) {
func_80182CBC(param_1, hit);
((void (*)())func_80182CBC)(param_1, hit);
func_8012ADE4((u8 *)param_1);
} else if (flag != 0x2000) {
func_8012ADE4((u8 *)param_1);
+2 -2
View File
@@ -9780,7 +9780,7 @@ extern s32 rand(void);
* func_80185B70's). Its own .s takes TWO args ($a0 = entity-owner, $a1 = id):
* do NOT adopt the 1-arg `void f(void*)` spelling that the *unrelated* overlay
* ov_SC03_001 uses for its own different function at the same address. */
extern void func_80185CEC(s32 a0, s32 a1);
extern s32 func_80185CEC(s32 a0, u16 a1);
/* Spawn a 0x4F entity for `a0`, then jitter its three s16 fields at +0x6/+0xA/+0xE
* by a random amount (mod 28 / 32 / 28, sign picked by a second rand()), flip the
@@ -9849,7 +9849,7 @@ s32 func_80185B70(s32 a0) {
* not reproduce the target order -- only both together do, hence a real
* barrier rather than a statement reorder. */
__asm__ __volatile__("" ::: "memory");
func_80185CEC(a0, 0x7F3);
((s32 (*)())func_80185CEC)(a0, 0x7F3);
return s2;
}
+2 -2
View File
@@ -7026,7 +7026,7 @@ extern s32 rand(void);
* func_801821DC's). Its own .s takes TWO args ($a0 = entity-owner, $a1 = id):
* do NOT adopt the 1-arg `void f(void*)` spelling that the *unrelated* overlay
* ov_SC03_001 uses for its own different function at the same address. */
extern void func_80182358(s32 a0, s32 a1);
extern s32 func_80182358(s32 a0, u16 a1);
/* Spawn a 0x4F entity for `a0`, then jitter its three s16 fields at +0x6/+0xA/+0xE
* by a random amount (mod 28 / 32 / 28, sign picked by a second rand()), flip the
@@ -7095,7 +7095,7 @@ s32 func_801821DC(s32 a0) {
* not reproduce the target order -- only both together do, hence a real
* barrier rather than a statement reorder. */
__asm__ __volatile__("" ::: "memory");
func_80182358(a0, 0x7F3);
((s32 (*)())func_80182358)(a0, 0x7F3);
return s2;
}
+8 -8
View File
@@ -11629,7 +11629,7 @@ void func_801896F8(s32 a0)
#include "common.h"
extern s32 func_80132EF4(s32 a0, s32 a1);
extern void func_8018985C(void *a0, void *a1);
extern s32 func_8018985C(void *a0, void *a1);
extern void func_8012C218(void *a0);
extern unsigned char D_80194950;
@@ -11651,7 +11651,7 @@ void func_80189764(void *a0) {
}
if (*(s16 *)((s32)a0 + 0xFE) != 0) {
func_8018985C(a0, &D_80194950);
((s32 (*)())func_8018985C)(a0, &D_80194950);
}
if (*(s16 *)(*(s32 *)((s32)a0 + 0x20) + 0x1A) <= 0) {
@@ -13641,7 +13641,7 @@ void func_8018C260(s32 a0) {
#include "common.h"
extern void func_8018985C(void *a0, void *a1);
extern s32 func_8018985C(void *a0, void *a1);
extern void func_80188764(s32 param_1);
extern s32 D_80194818;
@@ -13652,7 +13652,7 @@ void func_8018C310(void *a0)
*(u16 *)(obj + 0x1A) += 0x800;
func_8018985C(a0, &D_80194818);
((s32 (*)())func_8018985C)(a0, &D_80194818);
if (*(s16 *)(*(s32 *)((s32)s0 + 0x20) + 0x1A) >= 0x1800) {
func_80188764((s32)s0);
@@ -13663,7 +13663,7 @@ void func_8018C310(void *a0)
extern void func_8012BEE8(u8 *a0);
extern void func_8012C218(void *a0);
extern void func_80133298(s32 *a0);
extern void func_8018985C(void *a0, void *a1);
extern s32 func_8018985C(void *a0, void *a1);
extern s32 D_80194818;
void func_8018C378(void *arg0)
@@ -13682,7 +13682,7 @@ void func_8018C378(void *arg0)
} else {
if (*(u8 *)((s32)arg0 + 0x74)) {
func_80133298((s32 *)arg0);
func_8018985C(arg0, &D_80194818);
((s32 (*)())func_8018985C)(arg0, &D_80194818);
}
}
}
@@ -13837,11 +13837,11 @@ void func_8018C64C(s32 param_1)
}
extern void func_8018985C(void *a0, void *a1);
extern s32 func_8018985C(void *a0, void *a1);
extern unsigned char D_80194950;
void func_8018C72C(void *a0) {
if (*(unsigned char *)((char *)a0 + 0x74)) {
func_8018985C(a0, &D_80194950);
((s32 (*)())func_8018985C)(a0, &D_80194950);
}
}
+2 -2
View File
@@ -6149,14 +6149,14 @@ void func_801814D8(s32 arg0, s32 arg1) {
extern void func_80181720(void *a0);
extern s32 func_80181720(void *arg0);
void func_80181540(void *a0) {
extern void (*D_801A47A8[])(void);
D_801A47A8[*(u16 *)((s32)a0 + 0x2)]();
if (*(u16 *)a0 != 0) {
func_80181720(a0);
((s32 (*)())func_80181720)(a0);
}
}
+2 -2
View File
@@ -4821,7 +4821,7 @@ extern s16 D_801E664C;
extern s32 rand(void);
extern void func_80016714(void *a0, s32 a1);
extern void func_8012C218(void *a0);
extern s32 func_80181294(u16 a0, s16 a1);
extern s32 func_80181294(u16 a0, s32 a1);
extern void func_8018124C(void);
extern void func_801810B0();
@@ -4839,7 +4839,7 @@ void func_80180DBC(void *a0) {
D_801E664C = ((t - D_8018A9FC) << 12) / D_8018A9FE;
for (i = 0; i < 0x10; i++) {
*(s16 *)((s32)&D_801E660C + i * 2) =
func_80181294(*(u16 *)((s32)&D_801E662C + i * 2), D_801E664C);
((s32 (*)())func_80181294)(*(u16 *)((s32)&D_801E662C + i * 2), D_801E664C);
}
func_8018124C();
} else {