diff --git a/config/dedup.us.yaml b/config/dedup.us.yaml index 7a530286c..bd32480bc 100644 --- a/config/dedup.us.yaml +++ b/config/dedup.us.yaml @@ -14467,3 +14467,10 @@ groups: func: DEFINE_func_8017DCD8 vram: 0x8017DCD8 binaries: [ov_SC04_000, ov_SC04_004, ov_SC04_007] + - id: E_func_8017CCF8 + tier: h_exact + hash: 0dc7d970a3a5f0c07a97a9d6b3adcb5c89a4256a + source: src/shared/engine_core.h + func: DEFINE_func_8017CCF8 + vram: 0x8017CCF8 + binaries: [ov_SC02_031, ov_SC03_031] diff --git a/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c b/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c index 9e65fb44a..845c31bbb 100644 --- a/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c +++ b/src/ov_SC02_031/ov_SC02_031_jr_8017AE2C.c @@ -4013,28 +4013,7 @@ void func_8017CC04(void *a0) { -extern s16 func_80128CFC(u16 a0); - -void func_8017CCF8(void *a0) { - void *v1 = *(void **)(a0 + 0xDC); - s16 v0; - - if (*(u8 *)(v1 + 1) == 0) { - v0 = 1; - } else { - v0 = *(s16 *)(a0 + 0x108); - if (v0 == 0) { - u16 arg = *(u16 *)(v1 + 2); - v0 = func_80128CFC(arg); - *(s16 *)(a0 + 0x108) = v0; - } - v0 = *(s16 *)(a0 + 0x108); - } - - if (v0 != 0) { - *(u16 *)(a0 + 0x2) += 1; - } -} +DEFINE_func_8017CCF8() /* dedup: shared engine-core @0x8017CCF8 (src/shared) */ diff --git a/src/ov_SC03_031/ov_SC03_031_jr_8017AE2C.c b/src/ov_SC03_031/ov_SC03_031_jr_8017AE2C.c index cab324004..cd2bf09a6 100644 --- a/src/ov_SC03_031/ov_SC03_031_jr_8017AE2C.c +++ b/src/ov_SC03_031/ov_SC03_031_jr_8017AE2C.c @@ -4019,28 +4019,7 @@ void func_8017CC04(void *a0) { -extern s16 func_80128CFC(u16 a0); - -void func_8017CCF8(void *a0) { - void *v1 = *(void **)(a0 + 0xDC); - s16 v0; - - if (*(u8 *)(v1 + 1) == 0) { - v0 = 1; - } else { - v0 = *(s16 *)(a0 + 0x108); - if (v0 == 0) { - u16 arg = *(u16 *)(v1 + 2); - v0 = func_80128CFC(arg); - *(s16 *)(a0 + 0x108) = v0; - } - v0 = *(s16 *)(a0 + 0x108); - } - - if (v0 != 0) { - *(u16 *)(a0 + 0x2) += 1; - } -} +DEFINE_func_8017CCF8() /* dedup: shared engine-core @0x8017CCF8 (src/shared) */ diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index 7ac0542de..aa771274e 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -60150,6 +60150,27 @@ ((void (*)(Ent_8017BFE0_8017DCD8 *))func_8017DF10)(param_1); \ } +#define DEFINE_func_8017CCF8() \ + extern s16 func_80128CFC(u16 a0); \ + void func_8017CCF8(void *a0) { \ + void *v1 = *(void **)(a0 + 0xDC); \ + s16 v0; \ + if (*(u8 *)(v1 + 1) == 0) { \ + v0 = 1; \ + } else { \ + v0 = *(s16 *)(a0 + 0x108); \ + if (v0 == 0) { \ + u16 arg = *(u16 *)(v1 + 2); \ + v0 = func_80128CFC(arg); \ + *(s16 *)(a0 + 0x108) = v0; \ + } \ + v0 = *(s16 *)(a0 + 0x108); \ + } \ + if (v0 != 0) { \ + *(u16 *)(a0 + 0x2) += 1; \ + } \ + } + #endif #define DEFINE_func_80128EA8() \ @@ -149705,4 +149726,25 @@ ((void (*)(Ent_8017BFE0_8017DCD8 *))func_8017DF10)(param_1); \ } +#define DEFINE_func_8017CCF8() \ + extern s16 func_80128CFC(u16 a0); \ + void func_8017CCF8(void *a0) { \ + void *v1 = *(void **)(a0 + 0xDC); \ + s16 v0; \ + if (*(u8 *)(v1 + 1) == 0) { \ + v0 = 1; \ + } else { \ + v0 = *(s16 *)(a0 + 0x108); \ + if (v0 == 0) { \ + u16 arg = *(u16 *)(v1 + 2); \ + v0 = func_80128CFC(arg); \ + *(s16 *)(a0 + 0x108) = v0; \ + } \ + v0 = *(s16 *)(a0 + 0x108); \ + } \ + if (v0 != 0) { \ + *(u16 *)(a0 + 0x2) += 1; \ + } \ + } + #endif