diff --git a/src/md_MAIN_037/md_MAIN_037.c b/src/md_MAIN_037/md_MAIN_037.c index bba1c4b304..92265854f9 100644 --- a/src/md_MAIN_037/md_MAIN_037.c +++ b/src/md_MAIN_037/md_MAIN_037.c @@ -30,7 +30,30 @@ INCLUDE_ASM("asm/md_MAIN_037/nonmatchings/md_MAIN_037", func_800CAF94); INCLUDE_ASM("asm/md_MAIN_037/nonmatchings/md_MAIN_037", func_800CB014); -INCLUDE_ASM("asm/md_MAIN_037/nonmatchings/md_MAIN_037", func_800CB028); +#include "common.h" + +extern u8 D_80078EC1; +extern void (*D_800CB634[])(void); +extern void func_800CB358(void); + +void func_800CB028(s32 a0) { + u16 index; + s16 value; + + if (D_80078EC1 == 0x19) { + index = *(u16 *)(a0 + 2); + D_800CB634[index](); + + value = *(s16 *)(a0 + 0xA); + if (value < 0x401) { + return; + } + ((void (*)(s32))func_800CB358)(a0); + } else { + ((void (*)(s32))func_800CB358)(a0); + } +} + INCLUDE_ASM("asm/md_MAIN_037/nonmatchings/md_MAIN_037", func_800CB09C);