#include #include #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721E8(?); // extern extern ? D_80165CC6; void func_80086E70(s32 arg0) { *(&D_80165CC6 + (arg0 * 0xE0)) = 1; func_800721E8(8); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086E70.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721E8(?); // extern extern ? D_80165C18; void func_80086EAC(s32 arg0, s8 arg1, s16 arg2) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unkDD = arg1; temp_v0->unkAE = arg2; func_800721E8(8); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086EAC.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80086E70(); // extern void func_80086EF0(void) { func_80086E70(); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086EF0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80086E70(); // extern extern ? D_80165C18; void func_80086F10(s32 arg0, s32 arg1, s32 arg2) { void *temp_v0; func_80086E70(); temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unkDE = arg1; temp_v0->unk80 = arg2; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086F10.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721E8(?); // extern extern ? D_80165C18; void func_80086F60(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unkAE = 0; temp_v0->unkDD = 0; temp_v0->unkDE = 0; func_800721E8(8); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086F60.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165CC6; ? func_80086FA4(s32 arg0) { ? phi_v1; phi_v1 = 0; if (*(&D_80165CC6 + (arg0 * 0xE0)) == 0) { phi_v1 = 1; } return phi_v1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086FA4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721E8(?); // extern extern ? D_80165C18; void func_80086FD4(s32 arg0) { void *temp_v0; func_800721E8(8); temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unkAE = temp_v0->unkAE + 1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80086FD4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721E8(?); // extern extern ? D_80165CC6; void func_8008701C(s32 arg0, s32 arg1) { func_800721E8(8); *(&D_80165CC6 + (arg0 * 0xE0)) = arg1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008701C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern s32 func_80072270(?); // extern extern ? D_80165C18; extern ? D_80165CC8; s32 func_80087060(s32 arg0, s32 arg1) { s32 sp1C; s32 temp_a0; void *temp_v0; s32 phi_a0; sp1C = 0; temp_a0 = arg0; phi_a0 = temp_a0; if (func_80072270(8) != 0) { arg0 = temp_a0; func_800721C0(temp_a0, 8); *(&D_80165CC8 + (arg0 * 0xE0)) = arg1; phi_a0 = arg0; } temp_v0 = (phi_a0 * 0xE0) + &D_80165C18; temp_v0->unkB0 = temp_v0->unkB0 - 1; if (temp_v0->unkB0 < 0) { func_800721E8(phi_a0, 8); sp1C = 1; } return sp1C; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087060.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern s32 func_80072270(?); // extern extern ? D_80165C18; extern ? D_80165CC8; s32 func_80087104(s32 arg0, u16 arg1) { s32 sp24; void *temp_v0; sp24 = 0; if (func_80072270(8) != 0) { func_800721C0(arg0, 8); *(&D_80165CC8 + (arg0 * 0xE0)) = random_int(arg1); } temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unkB0 = temp_v0->unkB0 - 1; if (temp_v0->unkB0 < 0) { func_800721E8(arg0, 8); sp24 = 1; } return sp24; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087104.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern s32 func_80072270(?); // extern ? func_80086FD4(s32); // extern extern ? D_80165C18; extern ? D_80165CC8; s32 func_800871AC(s32 arg0, s32 arg1) { s32 sp24; void *temp_v0; sp24 = 0; if (func_80072270(8) != 0) { func_800721C0(arg0, 8); *(&D_80165CC8 + (arg0 * 0xE0)) = arg1; } temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unkB0 = temp_v0->unkB0 - 1; if (temp_v0->unkB0 < 0) { func_800721E8(arg0, 8); func_80086FD4(arg0); sp24 = 1; } return sp24; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800871AC.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_802B7830(f32, f32); // extern extern ? D_80165C18; void func_800872D8(s32 arg0, void *arg1) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; func_802B7830(temp_v0->unk4 - arg1->unk0, temp_v0->unkC - arg1->unk8); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800872D8.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 s32 func_802B7830(f32, f32); // extern extern ? D_80165C18; s32 func_80087324(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; return -func_802B7830(temp_v0->unk3C, temp_v0->unk40) & 0xFFFF; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087324.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_802B7830(f32, f32); // extern extern ? D_80165C18; void func_80087368(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; func_802B7830(temp_v0->unk38, temp_v0->unk40); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087368.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 u16 func_800417B4(u16, s32); // extern s32 func_80087368(); // extern extern ? D_80165C18; void func_800873F4(s32 arg0) { void *sp18; s32 temp_v0; void *temp_v1; temp_v0 = func_80087368(); temp_v1 = (arg0 * 0xE0) + &D_80165C18; sp18 = temp_v1; temp_v1->unkC0 = func_800417B4(temp_v1->unkC0, temp_v0 & 0xFFFF); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800873F4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 f32 sins(u16); // extern f32 coss(u16); // extern extern ? D_80165C18; void func_8008751C(s32 arg0) { void *sp1C; void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; sp1C = temp_v0; temp_v0->unk38 = sins(temp_v0->unkC0) * temp_v0->unk34; temp_v0->unk40 = coss(temp_v0->unkC0) * temp_v0->unk34; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008751C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 f32 sins(u16); // extern f32 coss(u16); // extern extern ? D_80165C18; void func_8008757C(s32 arg0) { f32 sp24; void *temp_s0; temp_s0 = (arg0 * 0xE0) + &D_80165C18; sp24 = coss(temp_s0->unkBE); temp_s0->unk38 = sins(temp_s0->unkC0) * (temp_s0->unk34 * sp24); temp_s0->unk3C = sins(temp_s0->unkBE) * -temp_s0->unk34; sp24 = coss(temp_s0->unkBE); temp_s0->unk40 = coss(temp_s0->unkC0) * (temp_s0->unk34 * sp24); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008757C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 f32 sins(s32); // extern f32 coss(s32); // extern extern ? D_80165C18; void func_80087620(s32 arg0) { void *sp1C; void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; sp1C = temp_v0; temp_v0->unk38 = sins((temp_v0->unkC0 + 0x8000) & 0xFFFF) * temp_v0->unk34; temp_v0->unk40 = coss((temp_v0->unkC0 + 0x8000) & 0xFFFF) * temp_v0->unk34; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087620.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 f32 sins(u16); // extern f32 coss(u16); // extern extern ? D_80165C18; void func_800876A0(s32 arg0) { void *sp18; void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; sp18 = temp_v0; temp_v0->unk28 = temp_v0->unk28 + (temp_v0->unk34 * sins(temp_v0->unkC0)); temp_v0->unk30 = temp_v0->unk30 + (temp_v0->unk34 * coss(temp_v0->unkC0)); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800876A0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_80087710(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk28 = temp_v0->unk28 + temp_v0->unk38; temp_v0->unk2C = temp_v0->unk2C + temp_v0->unk3C; temp_v0->unk30 = temp_v0->unk30 + temp_v0->unk40; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087710.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008775C(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk28 = temp_v0->unk28 + temp_v0->unk38; temp_v0->unk30 = temp_v0->unk30 + temp_v0->unk40; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008775C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_800877C4(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk2C = temp_v0->unk2C + temp_v0->unk3C; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800877C4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8008751C(); // extern ? func_8008775C(s32); // extern void func_8008781C(s32 arg0) { func_8008751C(); func_8008775C(arg0); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008781C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8008757C(); // extern ? func_80087710(s32); // extern void func_80087844(s32 arg0) { func_8008757C(); func_80087710(arg0); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087844.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern s32 func_80072270(?); // extern ? func_8008751C(s32); // extern ? func_8008775C(s32); // extern extern ? D_80165C18; extern ? D_80165CC8; s32 func_8008789C(s32 arg0, s32 arg1) { s32 sp24; void *temp_v0; sp24 = 0; if (func_80072270(8) != 0) { func_800721C0(arg0, 8); func_8008751C(arg0); *(&D_80165CC8 + (arg0 * 0xE0)) = arg1; } temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unkB0 = temp_v0->unkB0 - 1; if (temp_v0->unkB0 < 0) { func_800721E8(arg0, 8); sp24 = 1; } else { func_8008775C(arg0); } return sp24; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008789C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern s32 func_80072270(?); // extern ? func_80087620(s32); // extern ? func_8008775C(s32); // extern extern ? D_80165C18; extern ? D_80165CC8; s32 func_80087954(s32 arg0, s32 arg1) { s32 sp24; void *temp_v0; sp24 = 0; if (func_80072270(8) != 0) { func_800721C0(arg0, 8); func_80087620(arg0); *(&D_80165CC8 + (arg0 * 0xE0)) = arg1; } temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unkB0 = temp_v0->unkB0 - 1; if (temp_v0->unkB0 < 0) { func_800721E8(arg0, 8); sp24 = 1; } else { func_8008775C(arg0); } return sp24; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087954.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern s32 func_80072270(?); // extern ? func_8008751C(s32); // extern ? func_8008775C(s32); // extern s16 func_802B7830(f32, f32, s16); // extern extern ? D_80165C18; s32 func_80087A0C(s32 arg0, s16 arg1, s16 arg2, s16 arg3, s16 arg4) { s16 sp36; s32 sp2C; s32 sp28; s32 sp24; void *sp20; s16 temp_a0; s16 temp_v0; void *temp_v1; void *temp_v1_2; sp2C = 0; if (func_80072270(8) != 0) { func_800721C0(arg0, 8); temp_v0 = arg2 - arg1; temp_a0 = arg4 - arg3; sp24 = temp_a0; sp28 = temp_v0; temp_v1 = (arg0 * 0xE0) + &D_80165C18; sp36 = sqrtf((temp_v0 * temp_v0) + (temp_a0 * temp_a0)); temp_v1->unk14 = 0.0f; sp20 = temp_v1; temp_v1->unkC0 = func_802B7830(temp_v0, temp_a0, temp_a0); func_8008751C(arg0); temp_v1->unkB0 = sp36 / temp_v1->unk34; } temp_v1_2 = (arg0 * 0xE0) + &D_80165C18; temp_v1_2->unkB0 = temp_v1_2->unkB0 - 1; if (temp_v1_2->unkB0 < 0) { func_800721E8(arg0, 8); sp2C = 1; } else { func_8008775C(arg0); } return sp2C; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087A0C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern s32 func_80072270(?); // extern ? func_80086FD4(s32); // extern ? func_800877C4(s32); // extern extern ? D_80165C18; extern ? D_80165C54; s32 func_80087B84(s32 arg0, f32 arg1, f32 arg2) { s32 sp24; void *sp20; sp24 = 0; if (func_80072270(8) != 0) { func_800721C0(arg0, 8); *(&D_80165C54 + (arg0 * 0xE0)) = -arg1; } sp20 = (arg0 * 0xE0) + &D_80165C18; func_800877C4(arg0); if (sp20->unk8 <= arg2) { func_800721E8(arg0, 8); func_80086FD4(arg0); sp24 = 1; } return sp24; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087B84.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern s32 func_80072270(?); // extern ? func_80086FD4(s32); // extern ? func_800877C4(s32); // extern extern ? D_80165C18; s32 func_80087C48(s32 arg0, f32 arg1, f32 arg2, s32 arg3) { s32 sp24; void *temp_v0; void *temp_v0_2; sp24 = 0; if (func_80072270(8) != 0) { func_800721C0(arg0, 8); temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk3C = arg1; temp_v0->unkB0 = arg3; } temp_v0_2 = (arg0 * 0xE0) + &D_80165C18; temp_v0_2->unkB0 = temp_v0_2->unkB0 - 1; if (temp_v0_2->unkB0 < 0) { func_800721E8(arg0, 8); func_80086FD4(arg0); sp24 = 1; } else { temp_v0_2->unk3C = temp_v0_2->unk3C - arg2; func_800877C4(arg0); } return sp24; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087C48.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern s32 func_80072270(?); // extern ? func_80086FD4(s32); // extern ? func_800877C4(s32); // extern extern ? D_80165C18; extern ? D_80165C54; s32 func_80087D24(s32 arg0, f32 arg1, f32 arg2, f32 arg3) { s32 sp24; void *sp20; void *temp_v0; sp24 = 0; if (func_80072270(8) != 0) { func_800721C0(arg0, 8); *(&D_80165C54 + (arg0 * 0xE0)) = arg1; } temp_v0 = (arg0 * 0xE0) + &D_80165C18; sp20 = temp_v0; temp_v0->unk3C = temp_v0->unk3C - arg2; func_800877C4(arg0); if (temp_v0->unk2C <= arg3) { sp20 = temp_v0; func_800721E8(arg0, 8); temp_v0->unk2C = arg3; func_80086FD4(arg0); sp24 = 1; } return sp24; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087D24.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern s32 func_80072270(?); // extern ? func_80086FD4(s32); // extern ? func_8008751C(s32); // extern ? func_80087710(s32); // extern extern ? D_80165C18; s32 func_80087E08(s32 arg0, f32 arg1, f32 arg2, f32 arg3, s16 arg4, s32 arg5) { s32 sp2C; void *sp24; void *temp_v0; void *temp_v0_2; sp2C = 0; if (func_80072270(8) != 0) { func_800721C0(arg0, 8); temp_v0 = (arg0 * 0xE0) + &D_80165C18; sp24 = temp_v0; temp_v0->unk30 = 0.0f; temp_v0->unk2C = 0.0f; temp_v0->unk28 = 0.0f; temp_v0->unk34 = arg3; temp_v0->unk3C = arg1; temp_v0->unkC0 = arg4; func_8008751C(arg0); temp_v0->unkB0 = arg5; } temp_v0_2 = (arg0 * 0xE0) + &D_80165C18; temp_v0_2->unkB0 = temp_v0_2->unkB0 - 1; if (temp_v0_2->unkB0 < 0) { func_800721E8(arg0, 8); func_80086FD4(arg0); sp2C = 1; } else { temp_v0_2->unk3C = temp_v0_2->unk3C - arg2; func_80087710(arg0); } return sp2C; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80087E08.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 f32 sins(s32); // extern f32 coss(u16); // extern extern ? D_80165C18; void func_80088038(s32 arg0, f32 arg1, s32 arg2) { f32 sp24; f32 sp20; void *sp1C; f32 temp_f2; f32 temp_f4; u16 temp_t0; void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_f4 = temp_v0->unk28; temp_t0 = temp_v0->unkC4 + arg2; temp_v0->unkC4 = temp_t0; sp1C = temp_v0; sp24 = temp_f4; sp20 = temp_v0->unk30; temp_v0->unk28 = sins(temp_t0 & 0xFFFF) * arg1; temp_f2 = coss(temp_v0->unkC4) * arg1; temp_v0->unk30 = temp_f2; temp_v0->unk38 = temp_v0->unk28 - temp_f4; temp_v0->unk40 = temp_f2 - sp20; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088038.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165760; extern ? D_80165770; extern ? D_80165780; extern ? D_80165784; extern ? D_80165C94; void func_800880E4(s32 arg0) { ? *temp_a1; ? *temp_a2; ? *temp_a3; void *temp_v0; void *phi_v0; ? *phi_a1; ? *phi_a2; ? *phi_a3; phi_v0 = *(&D_80165C94 + (arg0 * 0xE0)); phi_a1 = &D_80165760; phi_a2 = &D_80165770; phi_a3 = &D_80165780; do { temp_a3 = phi_a3 + 2; temp_a1 = phi_a1 + 2; temp_a1->unk-2 = phi_v0->unk0; temp_a2 = phi_a2 + 2; temp_v0 = phi_v0 + 8; temp_a2->unk-2 = phi_v0->unk2; temp_a3->unk-2 = temp_v0->unk-4; phi_v0 = temp_v0; phi_a1 = temp_a1; phi_a2 = temp_a2; phi_a3 = temp_a3; } while (temp_a3 != &D_80165784); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800880E4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_80088150(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk7C = temp_v0->unk7C + 8; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088150.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 s32 func_802B7830(f32, f32); // extern extern ? D_80165760; extern ? D_80165780; extern ? D_80165C18; void func_80088178(s32 arg0, s32 arg1) { s16 temp_a1; u16 temp_a0; void *temp_v1; temp_v1 = (arg0 * 0xE0) + &D_80165C18; temp_a0 = temp_v1->unkC0; temp_a1 = func_802B7830(D_80165760.unk2 - D_80165760.unk0, D_80165780.unk2 - D_80165780.unk0) - temp_a0; if (temp_a1 > 0) { temp_v1->unkC0 = temp_a0 + (arg1 << 8); return; } if (temp_a1 < 0) { temp_v1->unkC0 = temp_a0 - (arg1 << 8); } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088178.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80086FD4(); // extern extern ? D_80165C18; void func_80088228(s32 arg0) { void *temp_v0; void *temp_v1; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v1 = temp_v0->unk80 + 2; temp_v0->unk96 = 0; temp_v0->unk7C = temp_v1; temp_v0->unk94 = temp_v1->unk-2; temp_v0->unk28 = temp_v1->unk0; temp_v0->unk2C = temp_v1->unk2; temp_v0->unk30 = temp_v1->unk4; func_80086FD4(); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088228.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern s16 D_80165762; extern s16 D_80165772; extern s16 D_80165782; extern ? D_80165C18; ? func_800882B0(s32 arg0, s32 arg1) { f32 temp_f0; f32 temp_f12; f32 temp_f2; void *temp_a2; ? phi_v1; temp_a2 = (arg0 * 0xE0) + &D_80165C18; temp_f0 = D_80165762 - temp_a2->unk28; temp_f2 = D_80165772 - temp_a2->unk2C; temp_f12 = D_80165782 - temp_a2->unk30; phi_v1 = 0; if ((((temp_f0 * temp_f0) + (temp_f2 * temp_f2) + (temp_f12 * temp_f12)) - (arg1 * arg1)) <= 0) { phi_v1 = 1; } return phi_v1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800882B0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800876A0(s32); // extern ? func_800880E4(); // extern ? func_80088150(s32); // extern ? func_80088178(s32, ?); // extern s32 func_800882B0(s32, ?); // extern extern ? D_80165C18; void func_80088364(s32 arg0) { u16 temp_t9; void *temp_v0; func_800880E4(); func_80088178(arg0, 1); func_800876A0(arg0); if (func_800882B0(arg0, 0xA) != 0) { temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_t9 = temp_v0->unk96 + 1; temp_v0->unk96 = temp_t9; if (((temp_t9 & 0xFFFF) + 3) == temp_v0->unk94) { temp_v0->unkAE = temp_v0->unkAE + 1; return; } func_80088150(arg0); // Duplicate return node #4. Try simplifying control flow for better match } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088364.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(?); // extern s32 func_8007223C(s32, ?); // extern f32 func_802ABE30(?32, ?, ?32, u16); // extern ? func_802ADDC8(? *, ?, ?32, ?, ?32); // extern s16 func_802B7830(f32, f32); // extern extern ? D_80165C18; extern ? D_8018C3B0; s32 func_80088538(s32 arg0) { s32 sp2C; void *temp_s0; sp2C = 0; func_800721E8(0x800000); if (func_8007223C(arg0, 0x400) != 0) { temp_s0 = (arg0 * 0xE0) + &D_80165C18; func_802ADDC8(&D_8018C3B0, 0x41200000, temp_s0->unk4, 0x41A00000, temp_s0->unkC); if (D_8018C3B0.unk4 == 1) { sp2C = 1; func_800721C0(arg0, 0x800000); } temp_s0->unk44 = func_802ABE30(temp_s0->unk4, 0, temp_s0->unkC, D_8018C3B0.unkA); temp_s0->unkB8 = func_802B7830(D_8018C3B0.unk38, D_8018C3B0.unk34) + 0x4000; temp_s0->unkBC = func_802B7830(D_8018C3B0.unk30, D_8018C3B0.unk34); } return sp2C; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088538.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(?); // extern s32 func_8007223C(s32, ?); // extern f32 func_802ABE30(?32, ?, ?32, u16); // extern ? func_802ADDC8(? *, ?, ?32, ?, ?32); // extern extern ? D_80165C18; extern ? D_8018C3B0; s32 func_8008861C(s32 arg0) { s32 sp2C; void *temp_s0; sp2C = 0; func_800721E8(0x800000); if (func_8007223C(arg0, 0x400) != 0) { temp_s0 = (arg0 * 0xE0) + &D_80165C18; func_802ADDC8(&D_8018C3B0, 0x41200000, temp_s0->unk4, 0x41A00000, temp_s0->unkC); if (D_8018C3B0.unk4 == 1) { sp2C = 1; func_800721C0(arg0, 0x800000); } temp_s0->unk44 = func_802ABE30(temp_s0->unk4, 0, temp_s0->unkC, D_8018C3B0.unkA); temp_s0->unk1C = D_8018C3B0.unk30; temp_s0->unk20 = D_8018C3B0.unk34; temp_s0->unk24 = D_8018C3B0.unk38; } return sp2C; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008861C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern f32 func_802ABE30(?32, ?, ?32, u16); // extern ? func_802ADDC8(? *, ?, ?32, ?, ?32); // extern s16 func_802B7830(f32, f32); // extern extern ? D_80165C18; extern ? D_8018C3B0; void func_800886F4(s32 arg0) { void *temp_s0; temp_s0 = (arg0 * 0xE0) + &D_80165C18; func_802ADDC8(&D_8018C3B0, 0x41200000, temp_s0->unk4, 0x41A00000, temp_s0->unkC); if (D_8018C3B0.unk4 == 1) { func_800721C0(arg0, 0x800000); temp_s0->unk44 = func_802ABE30(temp_s0->unk4, 0, temp_s0->unkC, D_8018C3B0.unkA); temp_s0->unkB8 = func_802B7830(D_8018C3B0.unk38, D_8018C3B0.unk34) + 0x4000; temp_s0->unkBC = func_802B7830(D_8018C3B0.unk30, D_8018C3B0.unk34); return; } func_800721E8(arg0, 0x800000); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800886F4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern f32 func_802ABE30(?32, ?, ?32, u16); // extern ? func_802ADDC8(? *, ?, ?32, ?, ?32); // extern extern ? D_80165C18; extern ? D_8018C3B0; void func_800887C0(s32 arg0) { void *temp_s0; temp_s0 = (arg0 * 0xE0) + &D_80165C18; func_802ADDC8(&D_8018C3B0, 0x41200000, temp_s0->unk4, 0x41A00000, temp_s0->unkC); if (D_8018C3B0.unk4 == 1) { func_800721C0(arg0, 0x800000); temp_s0->unk44 = func_802ABE30(temp_s0->unk4, 0, temp_s0->unkC, D_8018C3B0.unkA); temp_s0->unk38 = D_8018C3B0.unk30; temp_s0->unk3C = D_8018C3B0.unk34; temp_s0->unk40 = D_8018C3B0.unk38; return; } func_800721E8(arg0, 0x800000); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800887C0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; s32 func_8008896C(s32 arg0, void *arg1) { s32 temp_f10; s32 temp_f6; void *temp_a2; temp_a2 = (arg0 * 0xE0) + &D_80165C18; temp_f10 = temp_a2->unk4 - arg1->unk0; temp_f6 = temp_a2->unkC - arg1->unk8; return (temp_f10 * temp_f10) + (temp_f6 * temp_f6); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008896C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; ? func_80088A58(s32 arg0, void *arg1, f32 arg2) { f32 temp_f0; f32 temp_f2; void *temp_v0; ? phi_v1; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_f0 = temp_v0->unk4 - arg1->unk14; temp_f2 = temp_v0->unkC - arg1->unk1C; phi_v1 = 0; if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) <= (arg2 * arg2)) { phi_v1 = 1; } return phi_v1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088A58.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; ? func_80088BB8(s32 arg0, void *arg1, f32 arg2) { f32 temp_f0; f32 temp_f2; void *temp_v0; ? phi_v1; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_f0 = temp_v0->unk4 - arg1->unk0; temp_f2 = temp_v0->unkC - arg1->unk8; phi_v1 = 0; if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) <= (arg2 * arg2)) { phi_v1 = 1; } return phi_v1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088BB8.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; ? func_80088D18(s32 arg0, void *arg1) { f32 temp_f0; f32 temp_f12; f32 temp_f18; f32 temp_f2; u16 temp_t8; void *temp_v0; f32 phi_f18; ? phi_v1; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_f0 = temp_v0->unk4 - arg1->unk14; temp_t8 = temp_v0->unkC8; temp_f2 = temp_v0->unkC - arg1->unk1C; temp_f18 = temp_t8; phi_f18 = temp_f18; phi_v1 = 0; if (temp_t8 < 0) { phi_f18 = temp_f18 + 4294967296.0f; } temp_f12 = phi_f18 + arg1->unk70; if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2)) <= (temp_f12 * temp_f12)) { phi_v1 = 1; } return phi_v1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088D18.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; ? func_80088DA4(s32 arg0, void *arg1) { f32 temp_f0; f32 temp_f12; f32 temp_f14; f32 temp_f2; f32 temp_f6; u16 temp_t8; void *temp_v0; f32 phi_f6; ? phi_v1; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_f0 = temp_v0->unk4 - arg1->unk14; temp_t8 = temp_v0->unkC8; temp_f2 = temp_v0->unk8 - arg1->unk18; temp_f12 = temp_v0->unkC - arg1->unk1C; temp_f6 = temp_t8; phi_f6 = temp_f6; phi_v1 = 0; if (temp_t8 < 0) { phi_f6 = temp_f6 + 4294967296.0f; } temp_f14 = phi_f6 + arg1->unk70; if (((temp_f0 * temp_f0) + (temp_f2 * temp_f2) + (temp_f12 * temp_f12)) <= (temp_f14 * temp_f14)) { phi_v1 = 1; } return phi_v1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088DA4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; ? func_80088E98(s32 arg0, void *arg1, f32 arg2) { f32 temp_f0; f32 temp_f12; f32 temp_f14; f32 temp_f2; void *temp_v0; f32 phi_f2; ? phi_v1; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_f0 = temp_v0->unk4 - arg1->unk14; temp_f12 = temp_v0->unkC - arg1->unk1C; temp_f2 = temp_v0->unk8 - arg1->unk18; temp_f14 = temp_v0->unkC8 + arg1->unk70; phi_f2 = temp_f2; phi_v1 = 0; if (temp_f2 < 0.0f) { phi_f2 = -temp_f2; } if ((((temp_f0 * temp_f0) + (temp_f12 * temp_f12)) <= (temp_f14 * temp_f14)) && (phi_f2 <= arg2)) { phi_v1 = 1; } return phi_v1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088E98.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C20; f32 func_80088F54(s32 arg0, void *arg1) { f32 temp_f2; f32 phi_f2; temp_f2 = *(&D_80165C20 + (arg0 * 0xE0)) - arg1->unk74; phi_f2 = temp_f2; if (temp_f2 < 0.0f) { phi_f2 = -temp_f2; } return phi_f2; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088F54.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 void func_80088FF0(void *arg0) { arg0->unk8C = 0.0f; arg0->unk9C = 0.0f; arg0->unk34 = 0.0f; arg0->unk3C = 0.0f; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80088FF0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800413B8(f32, f32 *, f32, f32, f32 *); // extern extern f32 D_800EF4A0; extern f32 D_800EF4A4; extern f32 D_800EF4A8; extern f32 D_800EF4AC; extern f32 D_800EF4B0; extern f32 D_800EF4B4; extern f32 D_800EF4B8; extern f32 D_800EF4BC; extern f32 D_800EF4C0; extern f32 D_800EF4C4; extern f32 D_800EF4C8; extern f32 D_800EF4CC; extern f32 D_800EF4D0; extern f32 D_800EF4D4; void func_80089020(s32 arg0, f32 *arg1) { f32 temp_f0; f64 temp_f0_2; f64 temp_f0_3; f64 temp_f0_4; f64 temp_f0_5; f32 phi_f2; f32 phi_f0; temp_f0 = *arg1; if (temp_f0 >= 0.0f) { phi_f2 = temp_f0; } else { phi_f2 = -temp_f0; } if ((D_800DC4DC[arg0].unk_0BC & 0xC0) != 0) { if (gCurrentCourseId == 0xC) { temp_f0_2 = phi_f2; if (temp_f0_2 <= 0.5) { phi_f0 = D_800EF4A0; } else if (temp_f0_2 <= 2.0) { phi_f0 = D_800EF4A4; } else if (temp_f0_2 <= 4.0) { phi_f0 = D_800EF4A8; } else { phi_f0 = 0.25f; } } else { temp_f0_3 = phi_f2; if (temp_f0_3 <= 2.0) { phi_f0 = D_800EF4AC; } else if (temp_f0_3 <= 3.0) { phi_f0 = D_800EF4B0; } else if (temp_f0_3 <= 4.0) { phi_f0 = D_800EF4B4; } else { phi_f0 = 0.25f; } } } else if (gCurrentCourseId == 0xC) { temp_f0_4 = phi_f2; if (temp_f0_4 <= 0.5) { phi_f0 = D_800EF4B8; } else if (temp_f0_4 <= 2.0) { phi_f0 = D_800EF4BC; } else if (temp_f0_4 <= 4.0) { phi_f0 = D_800EF4C0; } else { phi_f0 = D_800EF4C4; } } else { temp_f0_5 = phi_f2; if (temp_f0_5 <= 2.0) { phi_f0 = D_800EF4C8; } else if (temp_f0_5 <= 3.0) { phi_f0 = D_800EF4CC; } else if (temp_f0_5 <= 4.0) { phi_f0 = D_800EF4D4; } else { phi_f0 = D_800EF4D0; } } func_800413B8(0.0f, arg1, 0.0f, phi_f0, arg1); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089020.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80089020(f32 *, f32 *); // extern void func_800892E0(s32 arg0) { struct_D_8018CE10 *sp1C; s8 temp_v1; struct_D_8018CE10 *temp_v0; temp_v0 = &D_8018CE10[arg0]; sp1C = temp_v0; func_80089020(&temp_v0->unk_04); func_80089020(arg0, &temp_v0->unk_0C); temp_v1 = temp_v0->unk1E; if (temp_v1 > 0) { temp_v0->unk1E = temp_v1 - 1; } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_800892E0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; f32 func_8008933C(void *arg0, s32 arg1, f32 arg2, f32 arg3) { f32 temp_f0; f32 temp_f12; f32 temp_f2; f32 temp_f2_2; struct_D_8018CE10 *temp_v1; void *temp_v0; f32 phi_f2; temp_v1 = &D_8018CE10[(arg0 - D_800DC4DC) / 0xDD8]; phi_f2 = 0.0f; if (temp_v1->unk1E == 0) { arg0->unk46 = arg0->unk46 | 2; arg0->unkBC = arg0->unkBC | 0x8000; temp_v1->unk1E = 4; temp_v0 = (arg1 * 0xE0) + &D_80165C18; temp_f2 = temp_v0->unk38; if ((temp_f2 * (arg0->unk14 - temp_v0->unk4)) >= 0.0f) { temp_v1->unk_04 = (temp_f2 * arg3) + (-arg0->unk34 * arg2); } else { temp_v1->unk_04 = -arg0->unk34 * arg2; } temp_f2_2 = temp_v0->unk40; if ((temp_f2_2 * (arg0->unk1C - temp_v0->unkC)) >= 0.0f) { temp_v1->unk_0C = (temp_f2_2 * arg3) + (-arg0->unk3C * arg2); } else { temp_v1->unk_0C = -arg0->unk3C * arg2; } temp_f0 = temp_v1->unk_0C; temp_f12 = temp_v1->unk_04; phi_f2 = (temp_f0 * temp_f0) + (temp_f12 * temp_f12); } return phi_f2; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008933C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80072180(); // extern s32 func_8007223C(?); // extern f32 func_8008933C(Player *, s32, s32, s32); // extern ? func_800C9060(u8, s32); // extern void func_80089474(s32 arg0, u8 arg1, s32 arg2, s32 arg3, s32 arg4) { Player *sp18; sp18 = &D_800DC4DC[arg1]; if (func_8007223C(0x4000000) != 0) { func_80072180(); } if ((func_8008933C(sp18, arg0, arg2, arg3) >= 4.0) && ((sp18->unk_000 & 0x1000) != 0x1000)) { func_800C9060(arg1, arg4); } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089474.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80072180(); // extern ? func_800721C0(s32, ?); // extern ? func_800721E8(?); // extern s32 func_8007223C(s32, ?); // extern s32 func_80088D18(s32, Player *); // extern f32 func_8008933C(Player *, s32, ?, f32); // extern ? func_800C9060(s32, ?); // extern extern f64 D_800EF4E0; extern ? D_80165C18; extern s32 D_8018D158; void func_80089820(s32 arg0, ? arg1, f32 arg2, ? arg3) { Player *temp_s0; f32 temp_f20; s32 temp_s1; u16 temp_v0; Player *phi_s0; s32 phi_s1; temp_s0 = D_800DC4DC; func_800721E8(0x2000000); if (func_8007223C(arg0, 0x200) != 0) { phi_s1 = 0; if (D_8018D158 > 0) { phi_s0 = temp_s0; do { if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && ((phi_s0->unk_0BC & 0x80000000) == 0)) { temp_v0 = phi_s0->unk_000; if (((temp_v0 & 0x8000) != 0) && ((temp_v0 & 0x100) == 0) && (func_80088D18(arg0, phi_s0) != 0)) { if ((phi_s0->unk_0BC & 0x200) != 0) { func_800721C0(arg0, 0x2000000); } else { temp_f20 = arg2 * D_800EF4E0; if (func_8007223C(arg0, 0x4000000) != 0) { func_80072180(); } if ((func_8008933C(phi_s0, arg0, arg1, temp_f20) >= 4.0) && ((phi_s0->unk_000 & 0x1000) != 0x1000)) { func_800C9060(phi_s1 & 0xFF, arg3); } } } } temp_s1 = phi_s1 + 1; phi_s0 += 0xDD8; phi_s1 = temp_s1; } while (temp_s1 < D_8018D158); } } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089820.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80072180(); // extern s32 func_8007223C(s32, ?); // extern s32 func_80088DA4(s32, Player *); // extern ? func_8008933C(Player *, s32, ?, f32); // extern extern f64 D_800EF4E8; extern ? D_80165C18; extern s32 D_8018D158; void func_80089A04(s32 arg0, ? arg1, f32 arg2) { Player *temp_s0; f64 temp_f20; s32 temp_s1; Player *phi_s0; s32 phi_s1; temp_s0 = D_800DC4DC; if (func_8007223C(0x200) != 0) { phi_s1 = 0; if (D_8018D158 > 0) { temp_f20 = D_800EF4E8; phi_s0 = temp_s0; do { if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && ((phi_s0->unk_0BC & 0x80000200) == 0) && (func_80088DA4(arg0, phi_s0) != 0)) { func_8008933C(phi_s0, arg0, arg1, arg2 * temp_f20); if (func_8007223C(arg0, 0x4000000) != 0) { func_80072180(); } } temp_s1 = phi_s1 + 1; phi_s0 += 0xDD8; phi_s1 = temp_s1; } while (temp_s1 < D_8018D158); } } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089A04.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80072180(); // extern s32 func_8007223C(s32, ?); // extern s32 func_80088D18(s32, Player *); // extern ? func_800C9060(s32, ?); // extern extern ? D_80165C18; extern s32 D_8018D158; s32 func_80089B50(s32 arg0) { s32 sp40; Player *temp_s0; s32 temp_s2; u16 temp_v0; Player *phi_s0; s32 phi_s1; s32 phi_s2; sp40 = 0; temp_s0 = D_800DC4DC; phi_s1 = 0; if (func_8007223C(0x200) != 0) { phi_s2 = 0; if (D_8018D158 > 0) { phi_s0 = temp_s0; do { if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && ((phi_s0->unk_0BC & 0x81000000) == 0)) { temp_v0 = phi_s0->unk_000; if (((temp_v0 & 0x8000) != 0) && ((temp_v0 & 0x100) == 0) && (func_80088D18(arg0, phi_s0) != 0)) { sp40 = 1; if ((phi_s0->unk_0BC & 0x200) == 0) { phi_s0->unk_00C |= 0x400000; if (func_8007223C(arg0, 0x4000000) != 0) { func_80072180(); } } else { func_800C9060(phi_s1 & 0xFF, 0x19018010); } } } temp_s2 = phi_s2 + 1; phi_s0 += 0xDD8; phi_s1 += 1; phi_s2 = temp_s2; } while (temp_s2 < D_8018D158); } } return sp40; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089B50.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80072180(); // extern s32 func_8007223C(s32, ?); // extern s32 func_80088E98(s32, Player *, ?); // extern extern ? D_80165C18; extern s32 D_8018D158; ? func_80089CBC(s32 arg0, ? arg1) { Player *temp_s0; s32 temp_s1; u16 temp_v0; Player *phi_s0; s32 phi_s1; ? phi_s7; ? phi_s7_2; temp_s0 = D_800DC4DC; phi_s7 = 0; phi_s7_2 = 0; if (func_8007223C(0x200) != 0) { phi_s1 = 0; if (D_8018D158 > 0) { phi_s0 = temp_s0; do { if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && ((phi_s0->unk_0BC & 0x81000000) == 0)) { temp_v0 = phi_s0->unk_000; if (((temp_v0 & 0x8000) != 0) && ((temp_v0 & 0x100) == 0) && (func_80088E98(arg0, phi_s0, arg1) != 0)) { phi_s7_2 = 1; if ((phi_s0->unk_0BC & 0x200) == 0) { phi_s0->unk_00C |= 0x400000; if (func_8007223C(arg0, 0x4000000) != 0) { func_80072180(); } } } } temp_s1 = phi_s1 + 1; phi_s0 += 0xDD8; phi_s1 = temp_s1; phi_s7 = phi_s7_2; } while (temp_s1 < D_8018D158); } } return phi_s7; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089CBC.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80072180(); // extern s32 func_8007223C(s32, ?); // extern s32 func_80088D18(s32, Player *); // extern extern ? D_80165C18; extern s32 D_8018D158; ? func_80089F24(s32 arg0) { Player *temp_s0; s32 temp_s1; u16 temp_v0; Player *phi_s0; s32 phi_s1; ? phi_s7; ? phi_s7_2; temp_s0 = D_800DC4DC; phi_s7 = 0; phi_s7_2 = 0; if (func_8007223C(0x200) != 0) { phi_s1 = 0; if (D_8018D158 > 0) { phi_s0 = temp_s0; do { if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && ((phi_s0->unk_0BC & 0x800002C0) == 0)) { temp_v0 = phi_s0->unk_000; if (((temp_v0 & 0x8000) != 0) && ((temp_v0 & 0x100) == 0) && (func_80088D18(arg0, phi_s0) != 0)) { phi_s7_2 = 1; if (func_8007223C(arg0, 0x4000000) != 0) { func_80072180(); } phi_s0->unk_00C |= 0x200000; } } temp_s1 = phi_s1 + 1; phi_s0 += 0xDD8; phi_s1 = temp_s1; phi_s7 = phi_s7_2; } while (temp_s1 < D_8018D158); } } return phi_s7; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_80089F24.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165CD8; ? func_8008A060(s32 arg0, void *arg1, s32 arg2) { s32 temp_t3; s32 temp_t6; ? phi_v1; temp_t6 = arg2 & 0xFFFF; temp_t3 = ((arg1->unk26 - *(&D_80165CD8 + (arg0 * 0xE0))) + (temp_t6 >> 1)) & 0xFFFF; phi_v1 = 0; if ((temp_t3 >= 0) && (temp_t6 >= temp_t3)) { phi_v1 = 1; } return phi_v1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A060.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 s32 func_802B7830(f32, f32); // extern extern ? D_80165C18; s32 func_8008A0B4(s32 arg0, void *arg1, void *arg2, u16 arg3) { s32 sp18; s32 temp_t3; void *temp_v0; s32 phi_t0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; sp18 = 0; temp_t3 = ((arg2->unk26 - func_802B7830(temp_v0->unk4 - arg1->unk14, temp_v0->unkC - arg1->unk1C)) + (arg3 >> 1)) & 0xFFFF; phi_t0 = sp18; if ((temp_t3 >= 0) && (arg3 >= temp_t3)) { phi_t0 = 1; } return phi_t0; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A0B4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 s32 func_80041770(f32, f32, s32, s32); // extern extern ? D_80165C18; s32 func_8008A140(s32 arg0, void *arg1, u16 arg2) { s32 sp18; s32 temp_t2; void *temp_v0; s32 phi_t0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; sp18 = 0; temp_t2 = ((func_80041770(arg1->unk0, temp_v0->unk4, arg1->unk8, temp_v0->unkC) + (arg2 / 2)) - arg1->unk26) & 0xFFFF; phi_t0 = sp18; if ((temp_t2 >= 0) && (arg2 >= temp_t2)) { phi_t0 = 1; } return phi_t0; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A140.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(?); // extern u32 func_8008896C(s32, s32); // extern s32 func_8008A140(s32, s32, ?); // extern void func_8008A1D0(s32 arg0, s32 arg1, s32 arg2, s32 arg3) { u32 sp2C; s32 sp24; u32 temp_v0; ? phi_a2; sp24 = (arg1 * 0xB8) + camera1; func_800721E8(0x140000); temp_v0 = func_8008896C(arg0, sp24); if (temp_v0 < 0x2711) { phi_a2 = 0x5555; } else { phi_a2 = 0x2AAB; if (temp_v0 < 0x9C41) { phi_a2 = 0x4000; } } sp2C = temp_v0; if ((func_8008A140(arg0, sp24, phi_a2) != 0) && ((arg3 * arg3) >= temp_v0)) { sp2C = temp_v0; func_800721C0(arg0, 0x40000); if (temp_v0 >= (arg2 * arg2)) { func_800721C0(arg0, 0x100000); } } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A1D0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(?); // extern u32 func_8008896C(s32, s32); // extern s32 func_8008A140(s32, s32, u16); // extern u32 func_8008A364(s32 arg0, s32 arg1, u16 arg2, s32 arg3) { s32 sp24; u32 sp20; u32 temp_v0; u16 phi_a2; u32 phi_v1; sp24 = (arg1 * 0xB8) + camera1; func_800721E8(0x60000); temp_v0 = func_8008896C(arg0, sp24); phi_v1 = temp_v0; if (temp_v0 < (arg3 * arg3)) { sp20 = temp_v0; func_800721C0(arg0, 0x20000); if (sp20 < 0x2711) { phi_a2 = 0x5555; } else { phi_a2 = arg2; if (sp20 < 0x9C41) { phi_a2 = 0x4000; } } sp20 = sp20; phi_v1 = sp20; if (func_8008A140(arg0, sp24, phi_a2) != 0) { sp20 = sp20; func_800721C0(arg0, 0x40000); phi_v1 = sp20; } } return phi_v1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A364.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(s32, ?); // extern u32 func_8008896C(s32); // extern void func_8008A454(s32 arg0, s32 arg1, s32 arg2) { if (func_8008896C((arg1 * 0xB8) + camera1) < (arg2 * arg2)) { func_800721C0(arg0, 0x20); return; } func_800721E8(arg0, 0x20); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A454.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(?); // extern s32 func_8008A140(s32, s32, ?); // extern extern ? D_80165C18; extern ? D_8018CF68; void func_8008A4CC(s32 arg0) { s16 *temp_s0; s16 temp_v0; s32 temp_s2; u8 temp_v1; void *temp_s3; s32 phi_s2; s32 phi_s4; func_800721E8(0x70000); phi_s2 = 0; phi_s4 = camera1; if (gPlayerCountSelection1 > 0) { temp_s3 = (arg0 * 0xE0) + &D_80165C18; do { temp_s0 = &D_8018CF68 + (phi_s2 * 2); if (temp_s3->unkA6 != 0) { temp_v1 = temp_s3->unkDF; temp_v0 = *temp_s0; if ((temp_v0 >= (temp_v1 - 1)) && ((temp_v1 + 1) >= temp_v0)) { func_800721C0(arg0, 0x10000); if (*temp_s0 == temp_s3->unkDF) { func_800721C0(arg0, 0x20000); } if (func_8008A140(arg0, phi_s4, 0x2AAB) != 0) { func_800721C0(arg0, 0x40000); } } } temp_s2 = phi_s2 + 1; phi_s2 = temp_s2; phi_s4 += 0xB8; } while (temp_s2 < gPlayerCountSelection1); } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A4CC.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern ? func_800721E8(?); // extern s32 func_80088BB8(s32, s32, f32); // extern s32 func_8008A140(s32, s32, ?); // extern extern f64 D_800EF4F0; extern ? D_80165C18; void func_8008A6DC(s32 arg0, f32 arg1) { f64 temp_f22; s32 temp_s2; s32 phi_s1; ? phi_a2; s32 phi_s2; func_800721E8(0x60000); phi_s1 = camera1; phi_s2 = 0; if (gPlayerCountSelection1 > 0) { temp_f22 = D_800EF4F0; do { if ((((arg0 * 0xE0) + &D_80165C18)->unkA6 != 0) && (func_80088BB8(arg0, phi_s1, arg1) != 0)) { func_800721C0(arg0, 0x20000); phi_a2 = 0x2AAB; if (arg1 <= temp_f22) { phi_a2 = 0x4000; } if (func_8008A140(arg0, phi_s1, phi_a2) != 0) { func_800721C0(arg0, 0x40000); } } temp_s2 = phi_s2 + 1; phi_s1 += 0xB8; phi_s2 = temp_s2; } while (temp_s2 < gPlayerCountSelection1); } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A6DC.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_802ABD40(u16); // extern void func_8008A890(void *arg0) { func_802ABD40(arg0->unk5E); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A890.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern s16 D_8018CF68; ? func_8008A8B0(s16 arg0, s16 arg1) { s16 *temp_v0; s16 temp_a0; s32 temp_a2; s16 *phi_v0; ? phi_v1; ? phi_v1_2; temp_a2 = gPlayerCountSelection1; phi_v1 = 0; phi_v1_2 = 0; if (temp_a2 > 0) { phi_v0 = &D_8018CF68; do { temp_a0 = *phi_v0; temp_v0 = phi_v0 + 2; phi_v0 = temp_v0; if ((temp_a0 >= arg0) && (arg1 >= temp_a0)) { phi_v1_2 = 1; } phi_v1 = phi_v1_2; } while (temp_v0 < ((temp_a2 * 2) + &D_8018CF68)); } return phi_v1; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A8B0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008A920(s32 arg0) { void *temp_v0; void *temp_v1; temp_v1 = (arg0 * 0xE0) + &D_80165C18; temp_v0 = temp_v1->unk7C; temp_v1->unk38 = (temp_v0->unk8 - temp_v0->unk0) / temp_v0->unk6; temp_v1->unk3C = (temp_v0->unkA - temp_v0->unk2) / temp_v0->unk6; temp_v1->unk40 = (temp_v0->unkC - temp_v0->unk4) / temp_v0->unk6; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A920.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8008A920(); // extern extern ? D_80165C18; void func_8008A9B8(s32 arg0) { void *temp_t9; void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_t9 = temp_v0->unk7C + 8; temp_v0->unk7C = temp_t9; temp_v0->unk9A = 0x2710 / temp_t9->unk6; temp_v0->unk98 = 0; func_8008A920(); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008A9B8.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80086FD4(s32); // extern ? func_8008A920(); // extern extern ? D_80165C18; void func_8008AA3C(s32 arg0) { void *temp_v0; void *temp_v1; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v1 = temp_v0->unk80 + 2; temp_v0->unk7C = temp_v1; temp_v0->unk96 = 0; temp_v0->unk98 = 0; temp_v0->unk94 = temp_v1->unk-2; temp_v0->unk28 = temp_v1->unk0; temp_v0->unk2C = temp_v1->unk2; temp_v0->unk30 = temp_v1->unk4; temp_v0->unk9A = 0x2710 / temp_v1->unk6; func_8008A920(); func_80086FD4(arg0); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AA3C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8008A9B8(); // extern extern ? D_80165C18; void func_8008AB10(s32 arg0) { u16 temp_t0; u16 temp_t3; void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk28 = temp_v0->unk28 + temp_v0->unk38; temp_t0 = temp_v0->unk98 + temp_v0->unk9A; temp_v0->unk2C = temp_v0->unk2C + temp_v0->unk3C; temp_v0->unk30 = temp_v0->unk30 + temp_v0->unk40; temp_v0->unk98 = temp_t0; if ((temp_t0 & 0xFFFF) >= 0x2710) { temp_t3 = temp_v0->unk96 + 1; temp_v0->unk96 = temp_t3; if (((temp_t3 & 0xFFFF) + 1) == temp_v0->unk94) { temp_v0->unkAE = temp_v0->unkAE + 1; return; } func_8008A9B8(); // Duplicate return node #4. Try simplifying control flow for better match } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AB10.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern f64 D_800EF4F8; extern f64 D_800EF500; void func_8008ACE0(void *arg0, f32 arg1) { f32 temp_f14; f32 temp_f2; f64 temp_f0; f64 temp_f16; f64 temp_f18; temp_f0 = arg1; temp_f2 = 1.0 - temp_f0; temp_f14 = arg1 * arg1; temp_f18 = temp_f14; temp_f16 = temp_f14 * arg1; arg0->unk0 = (temp_f2 * temp_f2 * temp_f2) / 6.0; arg0->unk4 = ((temp_f16 * 0.5) - temp_f18) + D_800EF4F8; arg0->unk8 = (temp_f16 * -0.5) + (0.5 * temp_f18) + (0.5 * temp_f0) + D_800EF500; arg0->unkC = temp_f16 / 6.0; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008ACE0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 void func_8008ADD0(void *arg0, f32 arg1) { f64 temp_f0; f64 temp_f14; f64 temp_f16; f64 temp_f2; temp_f0 = arg1; temp_f16 = 2.0 * temp_f0; temp_f2 = 1.0 - temp_f0; temp_f14 = arg1 * arg1; arg0->unk0 = temp_f2 * -0.5 * temp_f2; arg0->unk4 = (temp_f14 * 1.5) - temp_f16; arg0->unk8 = (((temp_f14 * 3.0) - temp_f16) - 1.0) * -0.5; arg0->unkC = temp_f14 * 0.5; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008ADD0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165760; extern ? D_80165770; extern ? D_80165780; extern ? D_80165C18; extern ? D_80183DC8; void func_8008AE9C(s32 arg0) { f32 temp_f0; f32 temp_f12; f32 temp_f14; f32 temp_f2; void *temp_v0; temp_f2 = D_80183DC8.unk0; temp_f12 = D_80183DC8.unk4; temp_f14 = D_80183DC8.unk8; temp_f0 = D_80183DC8.unkC; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk38 = (D_80165760.unk6 * temp_f0) + ((temp_f2 * D_80165760.unk0) + (temp_f12 * D_80165760.unk2) + (temp_f14 * D_80165760.unk4)); temp_v0->unk3C = (D_80165770.unk6 * temp_f0) + ((temp_f2 * D_80165770.unk0) + (temp_f12 * D_80165770.unk2) + (temp_f14 * D_80165770.unk4)); temp_v0->unk40 = (D_80165780.unk6 * temp_f0) + ((temp_f2 * D_80165780.unk0) + (temp_f12 * D_80165780.unk2) + (temp_f14 * D_80165780.unk4)); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AE9C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8008ADD0(?, ? *, ?); // extern ? func_8008AE9C(s32); // extern extern ? D_80183DC8; void func_8008AFE0(s32 arg0, ? arg1) { func_8008ADD0(arg1, &D_80183DC8, arg1); func_8008AE9C(arg0); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008AFE0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165760; extern ? D_80165770; extern ? D_80165780; extern ? D_80165C18; extern ? D_80183DA8; void func_8008B038(s32 arg0) { f32 temp_f0; f32 temp_f12; f32 temp_f14; f32 temp_f2; void *temp_v0; temp_f2 = D_80183DA8.unk0; temp_f12 = D_80183DA8.unk4; temp_f14 = D_80183DA8.unk8; temp_f0 = D_80183DA8.unkC; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk28 = (D_80165760.unk6 * temp_f0) + ((temp_f2 * D_80165760.unk0) + (temp_f12 * D_80165760.unk2) + (temp_f14 * D_80165760.unk4)); temp_v0->unk2C = (D_80165770.unk6 * temp_f0) + ((temp_f2 * D_80165770.unk0) + (temp_f12 * D_80165770.unk2) + (temp_f14 * D_80165770.unk4)); temp_v0->unk30 = (D_80165780.unk6 * temp_f0) + ((temp_f2 * D_80165780.unk0) + (temp_f12 * D_80165780.unk2) + (temp_f14 * D_80165780.unk4)); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B038.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8008ACE0(?, ? *, ?); // extern ? func_8008B038(s32); // extern extern ? D_80183DA8; void func_8008B17C(s32 arg0, ? arg1) { func_8008ACE0(arg1, &D_80183DA8, arg1); func_8008B038(arg0); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B17C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern s16 D_80165760; extern s16 D_80165762; extern s16 D_80165764; extern s16 D_80165766; extern s16 D_80165770; extern s16 D_80165772; extern s16 D_80165774; extern s16 D_80165776; extern s16 D_80165780; extern s16 D_80165782; extern s16 D_80165784; extern s16 D_80165786; extern ? D_80165C94; void func_8008B1D4(s32 arg0) { s16 *temp_v0; void *temp_v0_2; temp_v0 = *(&D_80165C94 + (arg0 * 0xE0)); temp_v0_2 = temp_v0 + 0x18; D_80165760 = *temp_v0; D_80165770 = temp_v0_2->unk-16; D_80165780 = temp_v0_2->unk-14; D_80165762 = temp_v0_2->unk-10; D_80165772 = temp_v0_2->unk-E; D_80165782 = temp_v0_2->unk-C; D_80165764 = temp_v0_2->unk-8; D_80165774 = temp_v0_2->unk-6; D_80165784 = temp_v0_2->unk-4; D_80165766 = temp_v0_2->unk0; D_80165776 = temp_v0_2->unk2; D_80165786 = temp_v0_2->unk4; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B1D4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern s16 D_80165760; extern s16 D_80165762; extern s16 D_80165764; extern s16 D_80165766; extern s16 D_80165770; extern s16 D_80165772; extern s16 D_80165774; extern s16 D_80165776; extern s16 D_80165780; extern s16 D_80165782; extern s16 D_80165784; extern s16 D_80165786; extern ? D_80165C18; void func_8008B284(s32 arg0) { s32 sp0; s16 *temp_v0_2; s16 temp_a1; u16 temp_a2; void *temp_v0; void *temp_v0_3; void *temp_v1; s16 *phi_v0; void *phi_v0_2; void *phi_v0_3; temp_v1 = (arg0 * 0xE0) + &D_80165C18; temp_a2 = temp_v1->unk94; temp_a1 = temp_v1->unk96; temp_v0 = temp_v1->unk7C; if ((temp_a2 - 4) >= temp_a1) { sp0 = 0x2710; } else if ((temp_a1 + 3) == temp_a2) { sp0 = 2; } else if ((temp_a1 + 2) == temp_a2) { sp0 = 1; } else if ((temp_a1 + 1) == temp_a2) { sp0 = 0; } D_80165760 = temp_v0->unk0; temp_v0_2 = temp_v0 + 8; D_80165770 = temp_v0->unk2; D_80165780 = temp_v0_2->unk-4; phi_v0 = temp_v0_2; if (sp0 == 0) { phi_v0 = temp_v1->unk80 + 2; } temp_v0_3 = phi_v0 + 8; D_80165762 = *phi_v0; D_80165772 = temp_v0_3->unk-6; D_80165782 = temp_v0_3->unk-4; phi_v0_2 = temp_v0_3; if (sp0 == 1) { phi_v0_2 = temp_v1->unk80 + 2; } D_80165764 = phi_v0_2->unk0; D_80165774 = phi_v0_2->unk2; D_80165784 = phi_v0_2->unk4; if (sp0 == 2) { phi_v0_3 = temp_v1->unk80 + 2; } else { phi_v0_3 = phi_v0_2 + 8; } D_80165766 = phi_v0_3->unk0; D_80165776 = phi_v0_3->unk2; D_80165786 = phi_v0_3->unk4; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B284.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721C0(s32, ?); // extern s32 func_80072270(?); // extern extern ? D_80165C18; void func_8008B3E4(s32 arg0) { void *temp_v0; void *temp_v1; if (func_80072270(8) != 0) { temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk96 = 0; temp_v0->unk98 = 0; temp_v1 = temp_v0->unk80 + 2; temp_v0->unk7C = temp_v1; temp_v0->unk94 = temp_v1->unk-2; func_800721C0(arg0, 8); } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B3E4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008B44C(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk98 = 0; temp_v0->unk7C = temp_v0->unk7C + 8; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B44C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 s32 func_8007223C(s32, ?); // extern ? func_8008AFE0(s32, f32); // extern ? func_8008B17C(s32, f32); // extern ? func_8008B1D4(s32); // extern ? func_8008B284(s32); // extern ? func_8008B3E4(); // extern extern f64 D_800EF508; extern f64 D_800EF510; extern ? D_80165C18; void func_8008B478(s32 arg0, s32 arg1) { f32 sp34; void *sp24; f32 temp_f0; f32 temp_f0_2; f32 temp_f6; s32 temp_t7; u16 temp_t9; u32 temp_t3; void *temp_v0; void *temp_v1; f32 phi_f6; func_8008B3E4(); if (arg1 != 0) { func_8008B284(arg0); } else { func_8008B1D4(arg0); } temp_t7 = arg0 * 0xE0; temp_v1 = temp_t7 + &D_80165C18; temp_t9 = temp_v1->unk98; temp_f6 = temp_t9; phi_f6 = temp_f6; if (temp_t9 < 0) { phi_f6 = temp_f6 + 4294967296.0f; } sp24 = temp_v1; temp_f0 = phi_f6 / D_800EF508; sp34 = temp_f0; func_8008B17C(arg0, temp_f0); if (func_8007223C(arg0, 0x800) != 0) { sp24 = temp_v1; func_8008AFE0(arg0, sp34); } temp_v0 = (temp_t7 + &D_80165C18)->unk7C; temp_f0_2 = temp_v0->unk6; temp_t3 = D_800EF510 / (((temp_v0->unkE - temp_f0_2) * sp34) + temp_f0_2); (temp_t7 + &D_80165C18)->unk9A = temp_t3; (temp_t7 + &D_80165C18)->unk98 = (temp_t7 + &D_80165C18)->unk98 + temp_t3; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B478.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8008B44C(s32); // extern ? func_8008B478(?); // extern extern ? D_80165C18; void func_8008B620(s32 arg0) { u16 temp_t0; void *temp_v0; func_8008B478(0); temp_v0 = (arg0 * 0xE0) + &D_80165C18; if (temp_v0->unk98 >= 0x2710) { temp_t0 = temp_v0->unk96 + 1; temp_v0->unk96 = temp_t0; if (((temp_t0 & 0xFFFF) + 3) == temp_v0->unk94) { temp_v0->unkAE = temp_v0->unkAE + 1; return; } func_8008B44C(arg0); // Duplicate return node #4. Try simplifying control flow for better match } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B620.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_800721E8(s32, ?); // extern ? func_8008B44C(s32); // extern ? func_8008B478(?); // extern extern ? D_80165C18; void func_8008B6A4(s32 arg0) { u16 temp_t0; void *temp_v0; func_8008B478(1); temp_v0 = (arg0 * 0xE0) + &D_80165C18; if (temp_v0->unk98 >= 0x2710) { temp_t0 = temp_v0->unk96 + 1; temp_v0->unk96 = temp_t0; if ((temp_t0 & 0xFFFF) == temp_v0->unk94) { func_800721E8(arg0, 8); return; } func_8008B44C(arg0); // Duplicate return node #4. Try simplifying control flow for better match } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B6A4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_80086F60(); // extern ? func_8008B620(); // extern extern ? D_80165CC6; void func_8008B724(s32 arg0) { s16 temp_v0; temp_v0 = *(&D_80165CC6 + (arg0 * 0xE0)); if (temp_v0 != 0) { if (temp_v0 != 1) { if (temp_v0 != 2) { return; } func_80086F60(); // Duplicate return node #6. Try simplifying control flow for better match return; } func_8008B620(); } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B724.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 ? func_8008B6A4(); // extern extern ? D_80165CC6; void func_8008B78C(s32 arg0) { s16 temp_v0; temp_v0 = *(&D_80165CC6 + (arg0 * 0xE0)); if ((temp_v0 != 0) && (temp_v0 == 1)) { func_8008B6A4(); } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B78C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008B7D4(s32 arg0, f32 arg1, f32 arg2, f32 arg3) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk10 = arg1; temp_v0->unk14 = arg2; temp_v0->unk18 = arg3; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B7D4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008B80C(s32 arg0, f32 arg1, f32 arg2, f32 arg3) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk28 = arg1; temp_v0->unk2C = arg2; temp_v0->unk30 = arg3; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B80C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008B844(s32 arg0) { f32 temp_f0; void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_f0 = temp_v0->unk10; temp_v0->unk4 = temp_v0->unk28 + temp_f0; temp_v0->unk8 = temp_v0->unk2C + temp_f0; temp_v0->unkC = temp_v0->unk30 + temp_f0; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B844.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008B888(s32 arg0, s16 arg1, s16 arg2, s16 arg3) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unkBE = arg1; temp_v0->unkC0 = arg2; temp_v0->unkC2 = arg3; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B888.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008B8BC(s32 arg0, s16 arg1, s16 arg2, s16 arg3) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unkB2 = arg1; temp_v0->unkB4 = arg2; temp_v0->unkB6 = arg3; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B8BC.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008B8F0(s32 arg0, f32 arg1, f32 arg2, f32 arg3) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk38 = arg1; temp_v0->unk3C = arg2; temp_v0->unk40 = arg3; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008B8F0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C2C; void func_8008BAB4(s32 arg0, s16 arg1, u16 arg2) { *(&D_80165C2C + (arg0 * 0xE0)) = arg1 + (random_int(arg2) - (arg2 / 2)); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BAB4.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008BD14(s32 arg0, s16 arg1, s16 arg2, s16 arg3, u16 arg4, u16 arg5, u16 arg6) { s16 sp1E; s16 sp1C; s32 temp_v0; void *temp_v1; sp1E = random_int(arg4) - (arg4 / 2); sp1C = random_int(arg5) - (arg5 / 2); temp_v0 = random_int(arg6); temp_v1 = (arg0 * 0xE0) + &D_80165C18; temp_v1->unk10 = arg1 + sp1E; temp_v1->unk14 = arg2 + sp1C; temp_v1->unk18 = arg3 + (temp_v0 - (arg6 / 2)); } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BD14.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 f32 sins(u16); // extern f32 coss(u16); // extern extern ? D_80165C18; void func_8008BE0C(s32 arg0, s16 arg1, u16 arg2) { void *sp1C; f32 sp18; f32 temp_f2; f32 temp_f6; void *temp_v0; temp_f2 = arg1; temp_f6 = sins(arg2) * temp_f2; temp_v0 = (arg0 * 0xE0) + &D_80165C18; sp1C = temp_v0; sp18 = temp_f2; temp_v0->unk10 = temp_f6 + D_800DC4FC->posX; temp_v0->unk18 = (coss(arg2) * temp_f2) + D_800DC4FC->posZ; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BE0C.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008BF18(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk4 = temp_v0->unk28 + temp_v0->unk10; temp_v0->unk8 = temp_v0->unk2C + temp_v0->unk14; temp_v0->unkC = temp_v0->unk30 + temp_v0->unk18; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BF18.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit 3c3b0cede1a99430bfd3edf8d385802b94f91307 extern ? D_80165C18; void func_8008BFC0(s32 arg0) { void *temp_v0; temp_v0 = (arg0 * 0xE0) + &D_80165C18; temp_v0->unk9C = temp_v0->unk4; temp_v0->unk9E = temp_v0->unk8; } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BFC0.s") #endif #ifdef MIPS_TO_C //generated by mips_to_c commit bd0364fa19633bd6201f8007e2d0a7ed87825909 ? func_80086F60(); /* extern */ ? func_80088228(); /* extern */ ? func_80088364(); /* extern */ ? func_8008B620(); /* extern */ ? func_8008B6A4(); /* extern */ extern ? D_80165C18; void func_8008BFFC(s32 arg0) { s16 temp_v0; s16 temp_v0_2; s16 temp_v0_3; s16 temp_v0_4; s16 temp_v0_5; s16 temp_v0_6; u8 temp_t8; void *temp_v1; temp_v1 = (arg0 * 0xE0) + &D_80165C18; temp_t8 = temp_v1->unkDE; switch (temp_t8) { case 1: if (temp_v1->unkAE == 1) { func_8008B620(); return; } default: return; case 2: temp_v0 = temp_v1->unkAE; if ((temp_v0 != 0) && (temp_v0 == 1)) { func_8008B6A4(); return; } /* Duplicate return node #31. Try simplifying control flow for better match */ return; case 3: temp_v0_2 = temp_v1->unkAE; if ((temp_v0_2 != 0) && (temp_v0_2 == 1)) { func_8008B620(); return; } /* Duplicate return node #31. Try simplifying control flow for better match */ return; case 4: temp_v0_3 = temp_v1->unkAE; if (temp_v0_3 != 0) { if (temp_v0_3 != 1) { if (temp_v0_3 != 2) { return; } func_80086F60(); return; } func_8008B620(); return; } /* Duplicate return node #31. Try simplifying control flow for better match */ return; case 5: temp_v0_4 = temp_v1->unkAE; if (temp_v0_4 != 0) { if (temp_v0_4 != 1) { if (temp_v0_4 != 2) { return; } func_80086F60(); return; } func_8008B620(); return; } /* Duplicate return node #31. Try simplifying control flow for better match */ return; case 6: temp_v0_5 = temp_v1->unkAE; if ((temp_v0_5 != 0) && (temp_v0_5 == 1)) { func_8008B620(); return; } /* Duplicate return node #31. Try simplifying control flow for better match */ return; case 7: temp_v0_6 = temp_v1->unkAE; if (temp_v0_6 != 0) { if (temp_v0_6 != 1) { if (temp_v0_6 != 2) { return; } func_80088364(); /* Duplicate return node #31. Try simplifying control flow for better match */ return; } func_80088228(); return; } /* Duplicate return node #31. Try simplifying control flow for better match */ return; } } #else GLOBAL_ASM("asm/non_matchings/code_80086E70/func_8008BFFC.s") #endif