diff --git a/config/dedup.us.yaml b/config/dedup.us.yaml index 5b649cf94..d675fdc41 100644 --- a/config/dedup.us.yaml +++ b/config/dedup.us.yaml @@ -14600,3 +14600,10 @@ groups: func: DEFINE_func_80185F24 vram: 0x80185F24 binaries: [ov_SC02_000, ov_SC02_003] + - id: E_func_8017DD7C + tier: h_exact + hash: fc81e68ce00bfd54ccd26581d16837d15efef9ac + source: src/shared/engine_core.h + func: DEFINE_func_8017DD7C + vram: 0x8017DD7C + binaries: [ov_SC04_018, ov_SC04_019, ov_SC05_017] 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 421c21107..1b36a01c5 100644 --- a/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c +++ b/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c @@ -4510,30 +4510,7 @@ s32 func_8017DCE8(void) { INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_8017AE2C", func_8017DD0C); -extern void func_800D1E28(void); -extern s32 func_800D1D94(void); -extern void func_8002D4C8(s32 a0, s32 a1); -extern void func_8001BFD0(void); -extern void func_800D0C48(s32 a0); - -s32 func_8017DD7C(s32 a0) { - - extern s16 D_800B9A0A; - s16 s0; - - if (--(*(s32 *)(a0 + 0x28)) == -1) { - func_800D1E28(); - s0 = D_800B9A0A; - if (s0 != 0x1000 || (s16)func_800D1D94() != s0) { - func_8002D4C8(0x1C, 0); - func_8001BFD0(); - func_8002D4C8(0x1D, 0); - func_800D0C48(1); - } - *(u8 *)(a0 + 0x15) += 1; - } - return 0; -} +DEFINE_func_8017DD7C() /* dedup: shared engine-core @0x8017DD7C (src/shared) */ extern void func_800D1EBC(void); 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 0b8897b0c..331fbfe8e 100644 --- a/src/ov_SC04_019/ov_SC04_019_jr_8017AE2C.c +++ b/src/ov_SC04_019/ov_SC04_019_jr_8017AE2C.c @@ -4505,30 +4505,7 @@ s32 func_8017DCE8(void) { INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_8017AE2C", func_8017DD0C); -extern void func_800D1E28(void); -extern s32 func_800D1D94(void); -extern void func_8002D4C8(s32 a0, s32 a1); -extern void func_8001BFD0(void); -extern void func_800D0C48(s32 a0); - -s32 func_8017DD7C(s32 a0) { - - extern s16 D_800B9A0A; - s16 s0; - - if (--(*(s32 *)(a0 + 0x28)) == -1) { - func_800D1E28(); - s0 = D_800B9A0A; - if (s0 != 0x1000 || (s16)func_800D1D94() != s0) { - func_8002D4C8(0x1C, 0); - func_8001BFD0(); - func_8002D4C8(0x1D, 0); - func_800D0C48(1); - } - *(u8 *)(a0 + 0x15) += 1; - } - return 0; -} +DEFINE_func_8017DD7C() /* dedup: shared engine-core @0x8017DD7C (src/shared) */ extern void func_800D1EBC(void); diff --git a/src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c b/src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c index 8b77971f3..2c2d82a1e 100644 --- a/src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c +++ b/src/ov_SC05_017/ov_SC05_017_jr_8017AE2C.c @@ -4517,30 +4517,7 @@ s32 func_8017DCE8(void) { INCLUDE_ASM("asm/ov_SC05_017/nonmatchings/ov_SC05_017_jr_8017AE2C", func_8017DD0C); -extern void func_800D1E28(void); -extern s32 func_800D1D94(void); -extern void func_8002D4C8(s32 a0, s32 a1); -extern void func_8001BFD0(void); -extern void func_800D0C48(s32 a0); - -s32 func_8017DD7C(s32 a0) { - - extern s16 D_800B9A0A; - s16 s0; - - if (--(*(s32 *)(a0 + 0x28)) == -1) { - func_800D1E28(); - s0 = D_800B9A0A; - if (s0 != 0x1000 || (s16)func_800D1D94() != s0) { - func_8002D4C8(0x1C, 0); - func_8001BFD0(); - func_8002D4C8(0x1D, 0); - func_800D0C48(1); - } - *(u8 *)(a0 + 0x15) += 1; - } - return 0; -} +DEFINE_func_8017DD7C() /* dedup: shared engine-core @0x8017DD7C (src/shared) */ extern void func_800D1EBC(void); diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index 26dbe12bf..608d798ee 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -60501,6 +60501,29 @@ } \ } +#define DEFINE_func_8017DD7C() \ + extern void func_800D1E28(void); \ + extern s32 func_800D1D94(void); \ + extern void func_8002D4C8(s32 a0, s32 a1); \ + extern void func_8001BFD0(void); \ + extern void func_800D0C48(s32 a0); \ + s32 func_8017DD7C(s32 a0) { \ + extern s16 D_800B9A0A; \ + s16 s0; \ + if (--(*(s32 *)(a0 + 0x28)) == -1) { \ + func_800D1E28(); \ + s0 = D_800B9A0A; \ + if (s0 != 0x1000 || (s16)func_800D1D94() != s0) { \ + func_8002D4C8(0x1C, 0); \ + func_8001BFD0(); \ + func_8002D4C8(0x1D, 0); \ + func_800D0C48(1); \ + } \ + *(u8 *)(a0 + 0x15) += 1; \ + } \ + return 0; \ + } + #endif #define DEFINE_func_80128EA8() \ @@ -150407,4 +150430,27 @@ } \ } +#define DEFINE_func_8017DD7C() \ + extern void func_800D1E28(void); \ + extern s32 func_800D1D94(void); \ + extern void func_8002D4C8(s32 a0, s32 a1); \ + extern void func_8001BFD0(void); \ + extern void func_800D0C48(s32 a0); \ + s32 func_8017DD7C(s32 a0) { \ + extern s16 D_800B9A0A; \ + s16 s0; \ + if (--(*(s32 *)(a0 + 0x28)) == -1) { \ + func_800D1E28(); \ + s0 = D_800B9A0A; \ + if (s0 != 0x1000 || (s16)func_800D1D94() != s0) { \ + func_8002D4C8(0x1C, 0); \ + func_8001BFD0(); \ + func_8002D4C8(0x1D, 0); \ + func_800D0C48(1); \ + } \ + *(u8 *)(a0 + 0x15) += 1; \ + } \ + return 0; \ + } + #endif