diff --git a/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c b/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c index 31e0981bc..eb2ef6cfc 100644 --- a/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c +++ b/src/ov_SC02_011/ov_SC02_011_jr_8017AE2C.c @@ -11132,154 +11132,7 @@ void func_8018898C(s32 a0) { } -typedef struct { - s8 pad00[0x2]; - s16 unk02; - s8 pad04[0x2]; - s16 unk06; - s8 pad08[0x4]; - s16 unk0C; - s8 pad0E[0x6]; - s16 unk14; - s8 pad16[0x4]; - s32 unk1C; - s16 unk20; - s8 pad22[0x12]; - s16 unk34; - s8 pad36[0x24]; - s16 unk5C; - s8 pad5E[0xE]; - s16 unk6C; - s8 pad6E[0x2]; - u16 unk70; - s8 pad72[0x12]; - u16 unk84; - s8 pad86[0x2]; - s16 unk88; - s8 pad8A[0x2]; - s16 unk8C; - s8 pad8E[0x6C]; - s16 unkFC; - u16 unkFE; -} SC02_11; - -extern void func_8012B8E4(SC02_11 *arg0, s32 arg1); -extern void func_80142414(SC02_11 *arg0, s32 arg1); -extern void func_8002D4C8(s32 arg0, s32 arg1); -extern s32 func_8012BEE8(SC02_11 *arg0); -extern void func_8012A828(SC02_11 *arg0, void *arg1); -extern s32 func_8012B178(void *arg0, void *arg1); -extern s32 func_8012CBA4(SC02_11 *arg0); -extern void func_80131E00(SC02_11 *arg0, s32 arg1); -extern void func_8012ADE4(SC02_11 *arg0); -extern void func_80188250(SC02_11 *arg0); -extern void func_80143B6C(SC02_11 *arg0, s32 arg1); -extern s32 Square0(s32 arg0); -extern s32 func_8012BCCC(SC02_11 *arg0); -extern s32 rand(void); -extern s32 func_8012B744(void *arg0, void *arg1); -extern s32 func_8012BD3C(SC02_11 *arg0, s32 arg1, s32 arg2); -extern void func_80188D54(SC02_11 *arg0); -extern void func_80188D80(SC02_11 *arg0); - -s32 D_8019609C; -void D_801D3CBC; -void D_801D3D64; -void D_801D3DEC; - -s32 func_80188A10(SC02_11 *s0) { - s32 sp10; - s32 sp14; - s32 sp18; - s32 v1; - s32 v0; - s32 phi_v0; - s32 phi_ret; - - if (s0->unk02 == 0) { - func_8012B8E4(s0, 4); - v1 = *(u16 *) (s0->unk14 + 0x12) + v0; - *(u16 *) (s0->unk14 + 0x12) = v1; - if (s0->unk1C == 15) { - func_80142414(s0, -0x78); - func_8002D4C8(0x6A9, 0); - } - if (func_8012BEE8(s0) != 0) { - if ((s0->unk84 & 2)) { - func_8012A828(s0, &D_801D3D64); - s0->unk02 = 1; - s0->unk1C = 40; - s0->unkFE = 0; - } else { - func_8012A828(s0, &D_801D3DEC); - s0->unk02 = 0; - s0->unk1C = 25; - s0->unk84 |= 2; - } - } - return 0; - } - if (s0->unk02 != 1) { - return 0; - } - func_8012B8E4(s0, 6); - v1 = *(u16 *) (s0->unk14 + 0x12) + v0; - *(u16 *) (s0->unk14 + 0x12) = v1; - func_8012B178(&D_8019609C, s0); - v1 = func_8012CBA4(s0); - if ((v1 & 0x1000)) { - func_80131E00(s0, 0x12); - phi_v0 = 0; - } else if (v1 == 0x2000) { - phi_v0 = 1; - } else { - func_8012ADE4(s0); - phi_v0 = 1; - } - if (phi_v0 != 0) { - func_80188250(s0); - phi_ret = s0->unkFE - 1; - s0->unkFE = phi_ret; - if (phi_ret <= 0) { - func_80143B6C(s0, 0); - s0->unkFE = 8; - } - sp14 = 0; - sp10 = s0->unk06 - s0->unk88; - sp18 = s0->unk0C - s0->unk8C; - if (((sp10 + Square0(sp18)) < 0x8FFFF) && (func_8012BCCC(s0), (func_8012BCCC(s0) >= 0x10000))) { - block_58: - s0->unk02 = 1; - s0->unk5C = 0xAA10; - s0->unk34 = 0; - v0 = rand() & 0x1F; - s0->unk1C = v0 + 0x28; - sp14 = 0; - sp10 = s0->unk06 - s0->unk88; - sp18 = s0->unk0C - s0->unk8C; - if (((sp10 + Square0(sp18)) >= 0x8FFFF) || (func_8012B744(s0->pad04, &v1), (s0->unkFC = v0, 0))) { - v0 = rand() & 0x3FF; - v1 = v0 - 0x200; - if (v1 >= 0) { - v1 = v0 + 0x100; - } else { - v1 = v0 - 0x500; - } - s0->unkFC = (*(u16 *) (s0->unk14 + 0x12) + v1) & 0xFFF; - } - func_8012A828(s0, &D_801D3CBC); - } - } - if (!(s0->unk70 & 0x100)) { - if (func_8012BD3C(s0, 0x200, 0x1000) != 0) { - func_80188D54(s0); - } - } else if (func_8012BD3C(s0, 0x400, 0x40000) != 0) { - func_80188D80(s0); - } - return 0; -} - +INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_8017AE2C", func_80188A10); INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_8017AE2C", func_80188D54);