diff --git a/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c b/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c index 8a184dede..eca12d1bb 100644 --- a/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c +++ b/src/ov_SC02_000/ov_SC02_000_jr_8018173C.c @@ -4060,7 +4060,28 @@ void func_80186AE4(s32 self) } -INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8018173C", func_80186C44); +#include "common.h" + +extern void func_8012C1B8(void); +extern void func_8012CAE4(void *a0); +extern void func_8001C214(s32, s32); +extern void func_8012A828(s32, void*); +extern u8 D_801DCA30[]; +extern M2C_UNK D_8018AF28; + +void func_80186C44(void *a0) { + s32 v0 = ((s32 (*)(void *))func_8012C1B8)(a0); + *(int *)((char *)a0 + 0x20) = v0; + + if (v0 == 0) { + func_8012CAE4(a0); + } else { + ((void (*)(s32, u8 *))func_8001C214)(v0, D_801DCA30); + ((void (*)(void *, u8 *))func_8012A828)(a0, ((u8 *)&D_8018AF28)); + *(short *)((char *)a0 + 0x2) = 1; + } +} + extern void (*D_8018F3AC[])(void);