From dabd2d4cb79c2a1f676a1bdd7a8e6ec06e6d47b9 Mon Sep 17 00:00:00 2001 From: Drew T <50529377+Druthulu@users.noreply.github.com> Date: Thu, 13 Aug 2026 06:52:50 -0600 Subject: [PATCH] feat(phase-30 S49): propagate func_80183838 to its cousins (wave 7a) --- config/dedup.us.yaml | 7 ++++++ src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c | 13 +----------- src/ov_SC04_019/ov_SC04_019_jr_8017AE2C.c | 2 +- src/shared/engine_core.h | 26 +++++++++++++++++++++++ 4 files changed, 35 insertions(+), 13 deletions(-) diff --git a/config/dedup.us.yaml b/config/dedup.us.yaml index 19ab5a0eba..f0017be2e3 100644 --- a/config/dedup.us.yaml +++ b/config/dedup.us.yaml @@ -14313,3 +14313,10 @@ groups: func: DEFINE_func_8017CF60 vram: 0x8017CF60 binaries: [ov_SC04_003, ov_SC04_006] + - id: E_func_80183838 + tier: h_exact + hash: 66d459f2aad2b59f0e4e669da35014ddf56f0f4e + source: src/shared/engine_core.h + func: DEFINE_func_80183838 + vram: 0x80183838 + binaries: [ov_SC04_018, ov_SC04_019] diff --git a/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c b/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c index bff0b1805d..5b0362cf08 100644 --- a/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c +++ b/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c @@ -6648,18 +6648,7 @@ INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_8017AE2C", func_801837A INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_8017AE2C", func_801837EC); -extern s32 func_80184BAC(s32 a0, s32 a1); -extern void func_80184CB8(s32*, s32); -extern short D_80192030; - -void func_80183838(s32 *a0) { - *(s32 *)((s32)a0[0x33] + 0xB0) = 2; - if (func_80184BAC(0xC, 0x14) != 0) { - return; - } - *(short *)((char *)a0 + 0x2) = 1; - ((void (*)(s32 *, void *))func_80184CB8)(a0, (void *)&(*(s32 *)&D_80192030)); -} +DEFINE_func_80183838() /* dedup: shared engine-core @0x80183838 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_8017AE2C", func_80183890); diff --git a/src/ov_SC04_019/ov_SC04_019_jr_8017AE2C.c b/src/ov_SC04_019/ov_SC04_019_jr_8017AE2C.c index b3b6773224..e773e3c2f9 100644 --- a/src/ov_SC04_019/ov_SC04_019_jr_8017AE2C.c +++ b/src/ov_SC04_019/ov_SC04_019_jr_8017AE2C.c @@ -6594,7 +6594,7 @@ INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_8017AE2C", func_801837A INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_8017AE2C", func_801837EC); -INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_8017AE2C", func_80183838); +DEFINE_func_80183838() /* dedup: shared engine-core @0x80183838 (src/shared) */ INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_8017AE2C", func_80183890); diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index 61f9cffbb1..3eb6c2d5d7 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -57055,6 +57055,19 @@ return 0; \ } +#define DEFINE_func_80183838() \ + extern s32 func_80184BAC(s32 a0, s32 a1); \ + extern void func_80184CB8(s32*, s32); \ + extern short D_80192030; \ + void func_80183838(s32 *a0) { \ + *(s32 *)((s32)a0[0x33] + 0xB0) = 2; \ + if (func_80184BAC(0xC, 0x14) != 0) { \ + return; \ + } \ + *(short *)((char *)a0 + 0x2) = 1; \ + ((void (*)(s32 *, void *))func_80184CB8)(a0, (void *)&(*(s32 *)&D_80192030)); \ + } + #endif #define DEFINE_func_80128EA8() \ @@ -143515,4 +143528,17 @@ return 0; \ } +#define DEFINE_func_80183838() \ + extern s32 func_80184BAC(s32 a0, s32 a1); \ + extern void func_80184CB8(s32*, s32); \ + extern short D_80192030; \ + void func_80183838(s32 *a0) { \ + *(s32 *)((s32)a0[0x33] + 0xB0) = 2; \ + if (func_80184BAC(0xC, 0x14) != 0) { \ + return; \ + } \ + *(short *)((char *)a0 + 0x2) = 1; \ + ((void (*)(s32 *, void *))func_80184CB8)(a0, (void *)&(*(s32 *)&D_80192030)); \ + } + #endif