diff --git a/src/md_SC05_027/md_SC05_027.c b/src/md_SC05_027/md_SC05_027.c index 6b47be4f3..ee7d64272 100644 --- a/src/md_SC05_027/md_SC05_027.c +++ b/src/md_SC05_027/md_SC05_027.c @@ -22,7 +22,30 @@ s32 func_801EDA2C(s32 param_1) { } -INCLUDE_ASM("asm/md_SC05_027/nonmatchings/md_SC05_027", func_801EDA78); +extern s32 func_8001BFD0(void); +extern s32 func_800291B4(s32); +extern s32 func_80029504(void); +extern s32 func_8002D4C8(s32, s32); +extern s32 func_800D0C48(s32); +extern s32 func_800D1E28(void); + +s32 func_801EDA78(s32 param_1) { + u32 s1 = func_80029504(); + + if ((*(s32 *)(param_1 + 0x28) = *(s32 *)(param_1 + 0x28) - 1) == -1) { + func_800D1E28(); + func_8002D4C8(0x1C, 0); + func_8001BFD0(); + if ((func_800291B4(0xCE) & 0xFF) == 0 && + (s1 - 0x384) >= 0x6E && (s1 - 0x460) >= 0x32) { + func_8002D4C8(0x1D, 0); + func_800D0C48(1); + } + *(u8 *)(param_1 + 0x15) = *(u8 *)(param_1 + 0x15) + 1; + } + return 0; +} + extern void func_800D1EBC(void); void func_801EDB30(void) {