diff --git a/config/dedup.us.yaml b/config/dedup.us.yaml index b47649f434..f68473e2e7 100644 --- a/config/dedup.us.yaml +++ b/config/dedup.us.yaml @@ -12126,3 +12126,10 @@ groups: func: DEFINE_func_8017F224 vram: 0x8017F224 binaries: [ov_SC03_126, ov_SC04_021, ov_SC05_019] + - id: E_func_8018235C + tier: h_exact + hash: 9422daebbf8740c847ae4afde0147dcf12ee136c + source: src/shared/engine_core.h + func: DEFINE_func_8018235C + vram: 0x8018235C + binaries: [ov_SC02_000, ov_SC02_003] diff --git a/src/ov_SC01_009/ov_SC01_009.c b/src/ov_SC01_009/ov_SC01_009.c index 28939bc388..4e9b19ef9c 100644 --- a/src/ov_SC01_009/ov_SC01_009.c +++ b/src/ov_SC01_009/ov_SC01_009.c @@ -5039,7 +5039,11 @@ void func_8018178C(void *a0) { } -INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009", func_80181794); +extern void func_80181724(s32 arg0, s32 arg1); + void func_80181794(void *arg0) { + func_80181724(M2C_FIELD(arg0, s16 *, 0x70), 0x2D); + } + extern void func_80181724(s32 arg0, s32 arg1); void func_801817B8(void *arg0) { diff --git a/src/ov_SC01_080/ov_SC01_080.c b/src/ov_SC01_080/ov_SC01_080.c index 48f4aaac39..d1e4dd8e45 100644 --- a/src/ov_SC01_080/ov_SC01_080.c +++ b/src/ov_SC01_080/ov_SC01_080.c @@ -4981,7 +4981,12 @@ INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080", func_801809E4); INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080", func_80180D54); -INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080", func_80180F30); +extern void (*D_8018A22C[])(void); + +void func_80180F30(void *a0) { + D_8018A22C[*(u16 *)((s32)a0 + 0x2)](); +} + extern void (*D_8018A240[])(void); diff --git a/src/ov_SC01_084/ov_SC01_084.c b/src/ov_SC01_084/ov_SC01_084.c index 447c1a7c3d..5bde6f2571 100644 --- a/src/ov_SC01_084/ov_SC01_084.c +++ b/src/ov_SC01_084/ov_SC01_084.c @@ -5045,7 +5045,12 @@ INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084", func_8017FD68); INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084", func_8017FDB0); -INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084", func_8017FDE0); +extern void (*D_8018A8FC[])(void); + +void func_8017FDE0(void *a0) { + D_8018A8FC[*(u16 *)((s32)a0 + 0x2)](); +} + INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084", func_8017FE1C); diff --git a/src/ov_SC02_000/ov_SC02_000.c b/src/ov_SC02_000/ov_SC02_000.c index 27bcb28ea9..b823f58b0e 100644 --- a/src/ov_SC02_000/ov_SC02_000.c +++ b/src/ov_SC02_000/ov_SC02_000.c @@ -4974,7 +4974,8 @@ INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000", func_801822BC); DEFINE_func_80182338() /* dedup: shared engine-core @0x80182338 (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000", func_8018235C); +DEFINE_func_8018235C() /* dedup: shared engine-core @0x8018235C (src/shared) */ + INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000", func_80182398); diff --git a/src/ov_SC02_003/ov_SC02_003.c b/src/ov_SC02_003/ov_SC02_003.c index 5a1150fda4..bf9ccc4d9b 100644 --- a/src/ov_SC02_003/ov_SC02_003.c +++ b/src/ov_SC02_003/ov_SC02_003.c @@ -4968,7 +4968,7 @@ INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003", func_801822BC); DEFINE_func_80182338() /* dedup: shared engine-core @0x80182338 (src/shared) */ -INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003", func_8018235C); +DEFINE_func_8018235C() /* dedup: shared engine-core @0x8018235C (src/shared) */ INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003", func_80182398); diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index 837bddc072..d76d80cc27 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -24535,4 +24535,10 @@ void func_8017F224(void) { \ } +#define DEFINE_func_8018235C() \ + extern void (*D_8018EAD8[])(void); \ + void func_8018235C(void *a0) { \ + D_8018EAD8[*(u8 *)((s32)a0 + 0x15)](); \ + } + #endif