From fbe66370eee1024c07e2527c23e9366609dde433 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Fri, 14 Aug 2026 17:37:27 -0600 Subject: [PATCH] =?UTF-8?q?feat(phase-31):=20t6-recover=20gate=20=E2=80=94?= =?UTF-8?q?=20+1=20fns=20x0=20propagated=20(fleet=2095.3%)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/ov_SC03_107/ov_SC03_107_jr_801555F4.c | 2 +- src/ov_SC03_107/ov_SC03_107_jr_801594E8.c | 2 +- src/ov_SC03_107/ov_SC03_107_jr_80159C84.c | 2 +- src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.c | 20 ++++++-- src/ov_SC03_107/ov_SC03_107_jr_8016AE5C.c | 2 +- src/ov_SC03_107/ov_SC03_107_jr_80171B4C.c | 2 +- src/ov_SC03_107/ov_SC03_107_jr_801789AC.c | 2 +- src/shared/engine_core.h | 60 +++++++++++------------ 8 files changed, 53 insertions(+), 39 deletions(-) diff --git a/src/ov_SC03_107/ov_SC03_107_jr_801555F4.c b/src/ov_SC03_107/ov_SC03_107_jr_801555F4.c index 85cc77875b..9b80b9e225 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_801555F4.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_801555F4.c @@ -1964,7 +1964,7 @@ extern void func_80155344(s32 a0); extern s32 func_80155394(s32 *a0); extern void func_801553A8(s32 *a0); extern s32 func_80155458(s32 param_1); -extern s32 func_801659DC(u8 *a0); +extern s32 func_801659DC(); extern s32 func_801554B8(void *arg0); extern void func_801555F4(void *a0); extern void func_80155518(s32 *a0); diff --git a/src/ov_SC03_107/ov_SC03_107_jr_801594E8.c b/src/ov_SC03_107/ov_SC03_107_jr_801594E8.c index 46b6add367..6891166ac3 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_801594E8.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_801594E8.c @@ -1963,7 +1963,7 @@ extern void func_80155344(s32 a0); extern s32 func_80155394(s32 *a0); extern void func_801553A8(s32 *a0); extern s32 func_80155458(s32 param_1); -extern s32 func_801659DC(u8 *a0); +extern s32 func_801659DC(); extern s32 func_801554B8(void *arg0); extern void func_801555F4(void *a0); extern void func_80155518(s32 *a0); diff --git a/src/ov_SC03_107/ov_SC03_107_jr_80159C84.c b/src/ov_SC03_107/ov_SC03_107_jr_80159C84.c index 8a27a81278..b3d9eb5420 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_80159C84.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_80159C84.c @@ -1961,7 +1961,7 @@ extern void func_80155344(s32 a0); extern s32 func_80155394(s32 *a0); extern void func_801553A8(s32 *a0); extern s32 func_80155458(s32 param_1); -extern s32 func_801659DC(u8 *a0); +extern s32 func_801659DC(); extern s32 func_801554B8(void *arg0); extern void func_801555F4(void *a0); extern void func_80155518(s32 *a0); diff --git a/src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.c b/src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.c index e3d2b6f4fe..07a4f7f185 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_8015A3C8.c @@ -1942,7 +1942,7 @@ extern void func_80155344(s32 a0); extern s32 func_80155394(s32 *a0); extern void func_801553A8(s32 *a0); extern s32 func_80155458(s32 param_1); -extern s32 func_801659DC(u8 *a0); +extern s32 func_801659DC(); extern s32 func_801554B8(void *arg0); extern void func_801555F4(void *a0); extern void func_80155518(s32 *a0); @@ -6826,7 +6826,15 @@ void func_80165240(void *param_1, void *param_2, void *param_3) } -DEFINE_func_8016533C() /* dedup: shared engine-core @0x8016533c (src/shared) */ +/* de-macroized: per-overlay-local decl for func_801659DC (byte-true sig); do NOT re-macroize */ + extern u8 D_80078EC1; + extern s32 D_80126B58; + extern u8 D_80126CF8; + extern s32 func_801659DC(); + void func_8016533C(void) { + D_80126CF8 = D_80078EC1; + func_801659DC((u8 *)&D_80126B58); + } /* dedup: shared engine-core @0x8016533c (src/shared) */ DEFINE_func_80165374() /* dedup: shared engine-core @0x80165374 (src/shared) */ @@ -7001,7 +7009,13 @@ DEFINE_func_801659B8() /* dedup: shared engine-core @0x801659b8 (src/shared) */ DEFINE_func_801659CC() /* dedup: shared engine-core @0x801659cc (src/shared) */ -INCLUDE_ASM("asm/ov_SC03_107/nonmatchings/ov_SC03_107_jr_8015A3C8", func_801659DC); +extern void (*D_80185284[])(void); + +s32 func_801659DC(void *a0) +{ + D_80185284[*(u8 *)((s32)a0 + 0x1A0)](); +} + void func_80165A18(void) { } diff --git a/src/ov_SC03_107/ov_SC03_107_jr_8016AE5C.c b/src/ov_SC03_107/ov_SC03_107_jr_8016AE5C.c index fa97dbe0ee..c65f48d3a8 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_8016AE5C.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_8016AE5C.c @@ -1961,7 +1961,7 @@ extern void func_80155344(s32 a0); extern s32 func_80155394(s32 *a0); extern void func_801553A8(s32 *a0); extern s32 func_80155458(s32 param_1); -extern s32 func_801659DC(u8 *a0); +extern s32 func_801659DC(); extern s32 func_801554B8(void *arg0); extern void func_801555F4(void *a0); extern void func_80155518(s32 *a0); diff --git a/src/ov_SC03_107/ov_SC03_107_jr_80171B4C.c b/src/ov_SC03_107/ov_SC03_107_jr_80171B4C.c index 5d1de52981..982ee77883 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_80171B4C.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_80171B4C.c @@ -2005,7 +2005,7 @@ extern void func_80155344(s32 a0); extern s32 func_80155394(s32 *a0); extern void func_801553A8(s32 *a0); extern s32 func_80155458(s32 param_1); -extern s32 func_801659DC(u8 *a0); +extern s32 func_801659DC(); extern s32 func_801554B8(void *arg0); extern void func_801555F4(void *a0); extern void func_80155518(s32 *a0); diff --git a/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c b/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c index 0cd27f1ac6..3feb9a51e1 100644 --- a/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c +++ b/src/ov_SC03_107/ov_SC03_107_jr_801789AC.c @@ -2041,7 +2041,7 @@ extern void func_80155344(s32 a0); extern s32 func_80155394(s32 *a0); extern void func_801553A8(s32 *a0); extern s32 func_80155458(s32 param_1); -extern s32 func_801659DC(u8 *a0); +extern s32 func_801659DC(); extern s32 func_801554B8(void *arg0); extern void func_801555F4(void *a0); extern void func_80155518(s32 *a0); diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index ef64391cdd..7156c1f838 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -9548,7 +9548,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -15344,7 +15344,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -18920,7 +18920,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -24128,7 +24128,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -27644,7 +27644,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -30850,7 +30850,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -34549,7 +34549,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -38165,7 +38165,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -42944,7 +42944,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -44352,7 +44352,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -47092,7 +47092,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -48564,7 +48564,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -54619,7 +54619,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018B7D4[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -58177,7 +58177,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018CA68[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -67651,7 +67651,7 @@ extern u8 D_80078EC1; \ extern s32 D_80126B58; \ extern u8 D_80126CF8; \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ void func_8016533C(void) { \ D_80126CF8 = D_80078EC1; \ func_801659DC((u8 *)&D_80126B58); \ @@ -77242,7 +77242,7 @@ } #define DEFINE_func_801554B8() \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ s32 func_801554B8(void *arg0) { \ s32 var_v0; \ u8 temp_a0; \ @@ -99393,7 +99393,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -105189,7 +105189,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -108765,7 +108765,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -113973,7 +113973,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -117489,7 +117489,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -120695,7 +120695,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -124394,7 +124394,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -128010,7 +128010,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -132789,7 +132789,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -134197,7 +134197,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -136937,7 +136937,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -138409,7 +138409,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018D3D8[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -144464,7 +144464,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018B7D4[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \ @@ -148022,7 +148022,7 @@ extern s32 func_80029178(s32); \ extern int (*D_8018CA68[])(void); \ extern s32 func_80155458(s32 param_1); \ - extern s32 func_801659DC(u8 *a0); \ + extern s32 func_801659DC(); \ extern s32 func_801554B8(void *arg0); \ extern void func_801555F4(void *a0); \ extern void func_80155518(s32 *a0); \