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 3c1309f955..50f9038d70 100644 --- a/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c +++ b/src/ov_SC04_018/ov_SC04_018_jr_8017AE2C.c @@ -5164,7 +5164,21 @@ extern void func_80029124(s32 arg0, s32 arg1); } -INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_8017AE2C", func_8017FA58); +#include "common.h" + +extern s32 func_80184BD0(u8 a0, u8 a1, u8 a2, u8 a3); +extern void func_8017F500(void *a0); + +void func_8017FA58(void *a0) { + s32 v0; + + *(s32 *)(*(s32 *)((s32)a0 + 0xCC) + 0xB0) = 2; + v0 = func_80184BD0(0xB, 0, 0x17, 0); + if (v0) { + func_8017F500(a0); + } +} + #include "common.h" @@ -5841,7 +5855,34 @@ s32 func_80181564(void *a0) } -INCLUDE_ASM("asm/ov_SC04_018/nonmatchings/ov_SC04_018_jr_8017AE2C", func_801815DC); +#include "common.h" + +extern s16 D_801B99A8; +extern u8 D_801B662C[]; + +extern void func_8012E88C(s32 a0); +extern void func_8012A828(s32 *a0, s32 a1); +extern void func_80184C90(s32 a0); +extern void func_80184ED4(s32 a0, s32 a1, s32 a2, s32 a3); +extern void func_80181998(void); + +void func_801815DC(void *arg0) { + s32 s0; + + s0 = (s32)arg0; + *(s16*)((char *)arg0 + 0x2) = 2; + func_8012E88C((s32)arg0); + + __asm__("" ::: "memory"); + func_8012A828((s32*)s0, (s32)&D_801B99A8); + func_80184C90((s32)s0); + + *(s16*)((char *)arg0 + 0x34) = 0; + func_80184ED4((s32)s0, (s32)D_801B662C, 0, 0x80); + + func_80181998(); +} + #include "common.h"