diff --git a/src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c b/src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c index d73a7dc73..d5c4379de 100644 --- a/src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c +++ b/src/ov_SC04_000/ov_SC04_000_jr_8017BEBC.c @@ -5829,7 +5829,38 @@ INCLUDE_ASM("asm/ov_SC04_000/nonmatchings/ov_SC04_000_jr_8017BEBC", func_80182A3 INCLUDE_ASM("asm/ov_SC04_000/nonmatchings/ov_SC04_000_jr_8017BEBC", func_80182AC0); -INCLUDE_ASM("asm/ov_SC04_000/nonmatchings/ov_SC04_000_jr_8017BEBC", func_80182B20); +#include "common.h" + +extern void func_80182D78(void); +extern void func_80016940(s32 a0); +extern void func_8012AD50(s32 a0); + +void func_80182B20(s32 a0) { + u8 *s0; + u16 val16; + + s0 = *(u8 **)(a0 + 0x20); + func_80182D78(); + + val16 = *(u16 *)(s0 + 0x18); + val16 += 0x200; + *(u16 *)(s0 + 0x18) = val16; + + { + s16 temp = (s16)val16; + if (temp >= 0x7001) { + *(u16 *)(s0 + 0x18) = 0x7000; + } + } + + *(u16 *)(s0 + 0x1A) = *(u16 *)(s0 + 0x18); + + if (*(s16 *)(s0 + 0x18) == 0x7000) { + func_80016940(0x4); + func_8012AD50(a0); + } +} + INCLUDE_ASM("asm/ov_SC04_000/nonmatchings/ov_SC04_000_jr_8017BEBC", func_80182BA8);