diff --git a/config/dedup.us.yaml b/config/dedup.us.yaml index 2848aa1aa..2d1e4f89b 100644 --- a/config/dedup.us.yaml +++ b/config/dedup.us.yaml @@ -14656,3 +14656,10 @@ groups: func: DEFINE_func_8018942C vram: 0x8018942C binaries: [ov_SC03_014, ov_SC03_015] + - id: E_func_801878B8 + tier: h_exact + hash: e765f85ad086fe8774b5fb4a8c8c61f413ade4aa + source: src/shared/engine_core.h + func: DEFINE_func_801878B8 + vram: 0x801878B8 + binaries: [ov_SC03_118, ov_SC03_119] diff --git a/src/ov_SC03_118/ov_SC03_118_jr_801863CC.c b/src/ov_SC03_118/ov_SC03_118_jr_801863CC.c index 8ed33a0cf..30a3fe9c1 100644 --- a/src/ov_SC03_118/ov_SC03_118_jr_801863CC.c +++ b/src/ov_SC03_118/ov_SC03_118_jr_801863CC.c @@ -3745,24 +3745,7 @@ void func_80187674(s32 a0) #include "common.h" -extern void (*D_801C700C[])(void); -extern void func_80049CAC(s32 a0, s32 a1); - -void func_801878B8(void *a0) { - D_801C700C[*(u16 *)(a0 + 2)](); - - if (*(u16 *)a0 != 0) { - if ((*(s16 *)(a0 + 0x70)) == 0 || (*(s16 *)(a0 + 0x70)) == 7) { - func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - } - - if ((*(s16 *)(a0 + 0x70)) == 0xF) { - func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); - } - - func_8012B260((u8 *)a0); - } -} +DEFINE_func_801878B8() /* dedup: shared engine-core @0x801878B8 (src/shared) */ #include "common.h" diff --git a/src/ov_SC03_119/ov_SC03_119_jr_801863CC.c b/src/ov_SC03_119/ov_SC03_119_jr_801863CC.c index 810c74c1d..57d62c22b 100644 --- a/src/ov_SC03_119/ov_SC03_119_jr_801863CC.c +++ b/src/ov_SC03_119/ov_SC03_119_jr_801863CC.c @@ -3670,7 +3670,7 @@ void func_80187674(s32 a0) } -INCLUDE_ASM("asm/ov_SC03_119/nonmatchings/ov_SC03_119_jr_801863CC", func_801878B8); +DEFINE_func_801878B8() /* dedup: shared engine-core @0x801878B8 (src/shared) */ extern u8 *func_8012913C(s32 a0); diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index 2a3f7768e..aa6e7979d 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -60637,6 +60637,22 @@ ((void (*)(s32))func_80178970)(arg0); \ } +#define DEFINE_func_801878B8() \ + extern void (*D_801C700C[])(void); \ + extern void func_80049CAC(s32 a0, s32 a1); \ + void func_801878B8(void *a0) { \ + D_801C700C[*(u16 *)(a0 + 2)](); \ + if (*(u16 *)a0 != 0) { \ + if ((*(s16 *)(a0 + 0x70)) == 0 || (*(s16 *)(a0 + 0x70)) == 7) { \ + func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); \ + } \ + if ((*(s16 *)(a0 + 0x70)) == 0xF) { \ + func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); \ + } \ + func_8012B260((u8 *)a0); \ + } \ + } + #endif #define DEFINE_func_80128EA8() \ @@ -150679,4 +150695,20 @@ ((void (*)(s32))func_80178970)(arg0); \ } +#define DEFINE_func_801878B8() \ + extern void (*D_801C700C[])(void); \ + extern void func_80049CAC(s32 a0, s32 a1); \ + void func_801878B8(void *a0) { \ + D_801C700C[*(u16 *)(a0 + 2)](); \ + if (*(u16 *)a0 != 0) { \ + if ((*(s16 *)(a0 + 0x70)) == 0 || (*(s16 *)(a0 + 0x70)) == 7) { \ + func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); \ + } \ + if ((*(s16 *)(a0 + 0x70)) == 0xF) { \ + func_80049CAC(*(s32 *)(a0 + 0x20) + 0x10, *(s32 *)(a0 + 0x20) + 0x34); \ + } \ + func_8012B260((u8 *)a0); \ + } \ + } + #endif