mirror of
https://github.com/pret/pokestadium.git
synced 2026-04-26 10:15:17 -05:00
3561 lines
109 KiB
C
3561 lines
109 KiB
C
#include "fragment62.h"
|
|
#include "src/17300.h"
|
|
#include "src/1C720.h"
|
|
#include "src/373A0.h"
|
|
#include "src/3D140.h"
|
|
#include "src/4BDC0.h"
|
|
#include "src/4F410.h"
|
|
#include "src/F420.h"
|
|
|
|
unk_D_84390010* D_84390200;
|
|
unk_D_84390010* D_84390204;
|
|
static f32 D_84390208;
|
|
static s32 pad_D_84390210[4];
|
|
static s32 D_84390220;
|
|
static s32 D_84390224;
|
|
static s32 D_84390228;
|
|
s32 D_8439022C;
|
|
s32 D_84390230;
|
|
s32 D_84390234;
|
|
|
|
u8 D_84385B70[] = {
|
|
0x00, 0x03, 0x02, 0x06, 0x07,
|
|
};
|
|
u8 D_84385B78[] = {
|
|
0x00,
|
|
0x02,
|
|
0x06,
|
|
0x07,
|
|
};
|
|
u8 D_84385B7C[] = {
|
|
0x02,
|
|
0x06,
|
|
0x07,
|
|
};
|
|
u8 D_84385B80[] = {
|
|
0x04, 0x05, 0x08, 0x09, 0x0A, 0x0B,
|
|
};
|
|
u8 D_84385B88[] = {
|
|
0x05,
|
|
0x09,
|
|
0x0A,
|
|
0x0B,
|
|
};
|
|
u16 D_84385B8C = 0x5F92;
|
|
Vec3f D_84385B90 = { 0.0f, 100.0f, 0.0f };
|
|
Vec3f D_84385B9C = { 0.0f, 10.0f, 0.0f };
|
|
|
|
void func_8431F610(unk_D_84390010* arg0) {
|
|
unk_D_84390010_654* ptr = &arg0->unk_654;
|
|
|
|
if ((arg0->unk_000.unk_01A == 0x32) && (ptr->unk_34 & 0x4000)) {
|
|
unk_D_8438E7B0_A50* tmp = &D_84384570[func_84307F00(arg0)]->unk_000[0x5A];
|
|
|
|
func_8001BD04(&arg0->unk_000, tmp->unk_00);
|
|
arg0->unk_000.unk_000.unk_02 &= ~0x20;
|
|
}
|
|
}
|
|
|
|
void func_8431F680(void) {
|
|
D_84390240.unk_00->unk_24 = 0;
|
|
}
|
|
|
|
s32 func_8431F690(unk_D_84390010* arg0) {
|
|
unk_D_84390010_654* ptr = &arg0->unk_654;
|
|
UNUSED s32 pad;
|
|
s32 sp1C = 0;
|
|
|
|
if (!(ptr->unk_34 & 0x800)) {
|
|
return 0;
|
|
}
|
|
|
|
if (D_84390240.unk_00->unk_48 == 0x19) {
|
|
return 0;
|
|
}
|
|
|
|
if ((ptr->unk_34 & 0x800) && (D_84390240.unk_00->unk_48 == 0x1C)) {
|
|
return 0;
|
|
}
|
|
|
|
switch (D_84390240.unk_00->unk_24) {
|
|
case 0:
|
|
func_84302148(arg0);
|
|
sp1C = 1;
|
|
D_84390240.unk_00->unk_24++;
|
|
break;
|
|
|
|
case 1:
|
|
sp1C = 1;
|
|
if (arg0->unk_720->unk_00 & 0x10) {
|
|
arg0->unk_720->unk_00 &= ~0x90;
|
|
func_84309368(arg0);
|
|
func_8431F610(arg0);
|
|
D_84390240.unk_00->unk_24++;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_8431F680();
|
|
break;
|
|
}
|
|
return sp1C;
|
|
}
|
|
|
|
s32 func_8431F7B0(unk_D_84390010* arg0) {
|
|
UNUSED s32 pad[2];
|
|
s32 sp1C = 0;
|
|
|
|
if (!(arg0->unk_654.unk_34 & 0x800)) {
|
|
return 0;
|
|
}
|
|
|
|
switch (D_84390240.unk_00->unk_24) {
|
|
case 0:
|
|
func_84302128(arg0);
|
|
sp1C = 1;
|
|
D_84390240.unk_00->unk_24++;
|
|
break;
|
|
|
|
case 1:
|
|
sp1C = 1;
|
|
if (arg0->unk_720->unk_00 & 0x10) {
|
|
arg0->unk_720->unk_00 &= ~0x90;
|
|
func_84309328(arg0);
|
|
D_84390240.unk_00->unk_24++;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_8431F680();
|
|
break;
|
|
}
|
|
return sp1C;
|
|
}
|
|
|
|
s32 func_8431F888(unk_D_84390010* arg0) {
|
|
UNUSED s32 pad[2];
|
|
Vec3f sp34;
|
|
s32 var_s0 = 0;
|
|
|
|
if (!(arg0->unk_654.unk_34 & 0x1000)) {
|
|
return 0;
|
|
}
|
|
|
|
switch (D_84390240.unk_00->unk_24) {
|
|
case 0:
|
|
func_84302148(arg0);
|
|
var_s0 = 1;
|
|
D_84390240.unk_00->unk_24++;
|
|
break;
|
|
|
|
case 1:
|
|
var_s0 = 1;
|
|
if (arg0->unk_720->unk_00 & 0x10) {
|
|
arg0->unk_720->unk_00 &= ~0x90;
|
|
func_84309368(arg0);
|
|
func_84306200(arg0, 0x1800);
|
|
var_s0 = 0;
|
|
func_8431F680();
|
|
D_84390240.unk_00->unk_24++;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_8431F680();
|
|
func_843081F0(arg0, &sp34);
|
|
func_8430C1E4(&D_84390240.unk_00->unk_DC->unk_60.at, &sp34);
|
|
break;
|
|
}
|
|
return var_s0;
|
|
}
|
|
|
|
s32 func_8431F998(unk_D_84390010* arg0) {
|
|
UNUSED s32 pad[2];
|
|
s32 sp1C = 0;
|
|
|
|
if (D_84390240.unk_00->unk_44 != 2) {
|
|
return 0;
|
|
}
|
|
|
|
if (!(arg0->unk_654.unk_34 & 0x800)) {
|
|
return 0;
|
|
}
|
|
|
|
if ((D_84390240.unk_00->unk_48 == 0x19) || (D_84390240.unk_00->unk_48 == 0x1C)) {
|
|
return 0;
|
|
}
|
|
|
|
switch (D_84390240.unk_00->unk_24) {
|
|
case 0:
|
|
func_84302148(arg0);
|
|
sp1C = 1;
|
|
D_84390240.unk_00->unk_24 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
sp1C = 1;
|
|
if (arg0->unk_720->unk_00 & 0x10) {
|
|
arg0->unk_720->unk_00 &= ~0x90;
|
|
func_84309368(arg0);
|
|
func_8431F610(arg0);
|
|
D_84390240.unk_00->unk_24 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_8431F680();
|
|
break;
|
|
}
|
|
return sp1C;
|
|
}
|
|
|
|
s32 func_8431FAB4(void) {
|
|
UNUSED s32 pad[2];
|
|
s32 sp1C = 0;
|
|
unk_D_84390010_654* temp_a1 = &D_84390010[0]->unk_654;
|
|
unk_D_84390010_654* temp_a2 = &D_84390010[1]->unk_654;
|
|
|
|
if (D_84390240.unk_00->unk_44 != 1) {
|
|
return 0;
|
|
}
|
|
|
|
if (!(temp_a1->unk_34 & 0x800) && !(temp_a2->unk_34 & 0x800)) {
|
|
return 0;
|
|
}
|
|
|
|
switch (D_84390240.unk_00->unk_24) {
|
|
case 0:
|
|
if (temp_a1->unk_34 & 0x800) {
|
|
func_84302128(D_84390010[0]);
|
|
}
|
|
sp1C = 1;
|
|
D_84390240.unk_00->unk_24 = D_84390240.unk_00->unk_24 + 1;
|
|
break;
|
|
|
|
case 1:
|
|
sp1C = 1;
|
|
if (temp_a1->unk_34 & 0x800) {
|
|
if (D_84390010[0]->unk_720->unk_00 & 0x10) {
|
|
D_84390010[0]->unk_720->unk_00 &= ~0x90;
|
|
func_84309328(D_84390010[0]);
|
|
D_84390240.unk_00->unk_24 += 1;
|
|
}
|
|
} else {
|
|
D_84390240.unk_00->unk_24 = D_84390240.unk_00->unk_24 + 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if (temp_a2->unk_34 & 0x800) {
|
|
func_84302128(D_84390010[1]);
|
|
}
|
|
sp1C = 1;
|
|
D_84390240.unk_00->unk_24 = D_84390240.unk_00->unk_24 + 1;
|
|
break;
|
|
|
|
case 3:
|
|
sp1C = 1;
|
|
if (temp_a2->unk_34 & 0x800) {
|
|
if (D_84390010[1]->unk_720->unk_00 & 0x10) {
|
|
D_84390010[1]->unk_720->unk_00 &= ~0x90;
|
|
func_84309328(D_84390010[1]);
|
|
D_84390240.unk_00->unk_24 += 1;
|
|
}
|
|
} else {
|
|
D_84390240.unk_00->unk_24 = D_84390240.unk_00->unk_24 + 1;
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
func_8431F680();
|
|
break;
|
|
}
|
|
|
|
return sp1C;
|
|
}
|
|
|
|
void func_8431FC74(void) {
|
|
unk_D_800FCB18* temp_v0 = &D_84390010[0]->unk_654.unk_38;
|
|
unk_D_800FCB18* temp_v1 = &D_84390010[1]->unk_654.unk_38;
|
|
|
|
if (temp_v0->unk_4F == 0) {
|
|
temp_v0->unk_4C &= ~0x20;
|
|
}
|
|
|
|
if (temp_v1->unk_4F == 0) {
|
|
temp_v1->unk_4C &= ~0x20;
|
|
}
|
|
}
|
|
|
|
void func_8431FCC4(void) {
|
|
}
|
|
|
|
s32 func_8431FCCC(unk_D_84390010* arg0) {
|
|
unk_D_800FCB18* temp_s1 = &arg0->unk_654.unk_38;
|
|
unk_func_80026268_arg0* temp_s2 = &arg0->unk_724->unk_01C[arg0->unk_654.unk_08];
|
|
f32 temp_fs0;
|
|
UNUSED s16 pad;
|
|
s16 sp30;
|
|
|
|
if (D_84390288 != 0) {
|
|
return 1;
|
|
}
|
|
|
|
if (temp_s2->unk_02 == temp_s1->unk_0C) {
|
|
return 1;
|
|
}
|
|
|
|
temp_fs0 = temp_s1->unk_28 / 90.0f;
|
|
sp30 = func_84307F00(arg0);
|
|
D_843900A8[sp30] = func_800104AC(D_843900A8[func_84307F00(arg0)], temp_s1->unk_0C, temp_fs0, temp_fs0);
|
|
temp_s2->unk_02 = D_843900A8[func_84307F00(arg0)];
|
|
if (temp_s2->unk_02 == temp_s1->unk_0C) {
|
|
temp_fs0 = D_843900A8[func_84307F00(arg0)] - temp_s2->unk_02;
|
|
D_843900A8[func_84307F00(arg0)] -= temp_fs0;
|
|
if (arg0->unk_000.unk_01A == 0x98) {
|
|
return 1;
|
|
}
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void func_8431FF18(void) {
|
|
D_84390240.unk_00->unk_3C = 0;
|
|
}
|
|
|
|
void func_8431FF28(void) {
|
|
D_84390240.unk_00->unk_3C = 1;
|
|
}
|
|
|
|
void func_8431FF3C(UNUSED unk_D_86002F34_00C* arg0, s32 arg1) {
|
|
D_84390240.unk_00->unk_38 = arg1;
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
}
|
|
|
|
void func_8431FF5C(unk_D_86002F34_00C* arg0) {
|
|
D_84390240.unk_00->unk_60 = arg0->unk_24.fovy;
|
|
}
|
|
|
|
void func_8431FF70(unk_D_86002F34_00C* arg0) {
|
|
arg0->unk_24.fovy = 30.0f;
|
|
D_84390240.unk_00->unk_60 = 30.0f;
|
|
}
|
|
|
|
s32 func_8431FF8C(unk_D_84390010* arg0) {
|
|
unk_D_8438E7B0_A50* ptr = &D_84384570[func_84307F00(arg0)]->unk_000[arg0->unk_654.unk_38.unk_5A - 1];
|
|
|
|
return ptr->unk_0D;
|
|
}
|
|
|
|
s32 func_8431FFD0(unk_D_84390010* arg0) {
|
|
UNUSED s32 pad;
|
|
s32 sp18 = D_84384670[arg0->unk_654.unk_38.unk_5A - 1];
|
|
unk_D_8438E7B0_A50* ptr = &D_84384570[func_84307F00(arg0)]->unk_000[sp18];
|
|
|
|
return ptr->unk_0D;
|
|
}
|
|
|
|
s32 func_84320020(unk_D_84390010* arg0) {
|
|
unk_D_8438E7B0_A50* ptr = &D_84384570[func_84307F00(arg0)]->unk_000[arg0->unk_654.unk_38.unk_5A - 1];
|
|
|
|
return ptr->unk_0E;
|
|
}
|
|
|
|
s32 func_84320064(unk_D_84390010* arg0) {
|
|
UNUSED s32 pad;
|
|
s32 sp18 = D_84384670[arg0->unk_654.unk_38.unk_5A - 1];
|
|
unk_D_8438E7B0_A50* ptr = &D_84384570[func_84307F00(arg0)]->unk_000[sp18];
|
|
|
|
return ptr->unk_0E;
|
|
}
|
|
|
|
s32 func_843200B4(unk_D_84390010* arg0) {
|
|
unk_D_8438E7B0_A50* ptr = &D_84384570[func_84307F00(arg0)]->unk_000[arg0->unk_654.unk_38.unk_5A - 1];
|
|
|
|
if (ptr->unk_0F == 0) {
|
|
return 0xF;
|
|
}
|
|
return ptr->unk_0F;
|
|
}
|
|
|
|
void func_84320108(void) {
|
|
s32 sp2C;
|
|
unk_D_84390010_654* temp_s0;
|
|
unk_D_84390010_654* temp_s1;
|
|
unk_D_800FCB18* ptr;
|
|
|
|
temp_s0 = &D_84390010[0]->unk_654;
|
|
temp_s1 = &D_84390010[1]->unk_654;
|
|
func_8431AFE4(1, 1);
|
|
|
|
sp2C = D_84390240.unk_00->unk_2C;
|
|
D_84390240.unk_00->unk_2C = func_8436FC7C(D_84390010[0], D_84390010[1]);
|
|
|
|
ptr = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
if ((ptr->unk_5A & 0xF0) == 0xF0) {
|
|
D_84390240.unk_00->unk_2C = !D_84390240.unk_00->unk_2C;
|
|
}
|
|
|
|
if (D_84390010[0]->unk_724->unk_000 & 2) {
|
|
if (D_84390240.unk_00->unk_2C == 0) {
|
|
func_8438363C(temp_s0->unk_08, temp_s1->unk_08, 0);
|
|
} else {
|
|
func_8438363C(temp_s0->unk_08, temp_s1->unk_08, 1);
|
|
}
|
|
} else if (D_84390010[1]->unk_724->unk_000 & 2) {
|
|
if (D_84390240.unk_00->unk_2C == 1) {
|
|
func_8438363C(temp_s1->unk_08, temp_s0->unk_08, 0);
|
|
} else {
|
|
func_8438363C(temp_s1->unk_08, temp_s0->unk_08, 1);
|
|
}
|
|
}
|
|
|
|
D_84390240.unk_00->unk_2A = D_84390240.unk_00->unk_2C;
|
|
D_84390240.unk_00->unk_38 = 0;
|
|
temp_s0->unk_30 = 0;
|
|
temp_s1->unk_30 = 0;
|
|
D_84390240.unk_00->unk_44 = 2;
|
|
func_8437345C();
|
|
D_84390240.unk_00->unk_2C = sp2C;
|
|
}
|
|
|
|
void func_843202A0(void) {
|
|
s32 sp2C;
|
|
unk_D_84390010_654* sp28;
|
|
unk_D_84390010_654* sp24;
|
|
|
|
sp28 = &D_84390010[0]->unk_654;
|
|
sp24 = &D_84390010[1]->unk_654;
|
|
func_8431AFE4(1, 1);
|
|
|
|
sp2C = D_84390240.unk_00->unk_2C;
|
|
|
|
if ((sp28->unk_2D == 0xF) || (sp28->unk_2D == 0x10)) {
|
|
if (D_84390010[0]->unk_724->unk_000 & 2) {
|
|
func_8438363C(sp28->unk_08, sp24->unk_08, 2);
|
|
}
|
|
D_84390240.unk_00->unk_2C = 0;
|
|
D_84390240.unk_00->unk_2A = 0;
|
|
D_84390240.unk_00->unk_38 = 0;
|
|
D_84390240.unk_00->unk_44 = 2;
|
|
func_84373570(D_84390010[0]);
|
|
D_84390240.unk_00->unk_2C = sp2C;
|
|
} else {
|
|
if (D_84390010[0]->unk_724->unk_000 & 2) {
|
|
func_8438363C(sp24->unk_08, sp28->unk_08, 2);
|
|
}
|
|
D_84390240.unk_00->unk_2C = 1;
|
|
D_84390240.unk_00->unk_2A = 1;
|
|
D_84390240.unk_00->unk_38 = 0;
|
|
D_84390240.unk_00->unk_44 = 2;
|
|
func_84373570(D_84390010[1]);
|
|
D_84390240.unk_00->unk_2C = sp2C;
|
|
}
|
|
}
|
|
|
|
s32 func_84320400(void) {
|
|
unk_D_84390010_654* sp24 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
unk_D_84390010_654* temp_a3 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
unk_D_84390010_654* sp20 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654;
|
|
|
|
if ((D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_2D == 0xF) || (sp24->unk_2D == 0x10)) {
|
|
if (D_84390010[D_84390240.unk_00->unk_2C]->unk_724->unk_000 & 2) {
|
|
func_8438363C(temp_a3->unk_08, sp20->unk_08, 2);
|
|
}
|
|
func_84306200(D_84390010[D_84390240.unk_00->unk_2C], 0x1800);
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
if (sp24->unk_2D == 0x10) {
|
|
D_84390240.unk_00->unk_38 = 0x12;
|
|
} else {
|
|
func_843081F0(D_84390010[D_84390240.unk_00->unk_2C], &D_843901B0.unk_00);
|
|
func_8431D7D8(&D_843848F0, D_84390240.unk_00->unk_DC, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390240.unk_00->unk_38 = 0xB;
|
|
}
|
|
return 1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
void func_8432056C(void) {
|
|
unk_D_84390010_654* sp1C = &D_84390010[0]->unk_654;
|
|
unk_D_84390010_654* sp18 = &D_84390010[1]->unk_654;
|
|
|
|
if ((func_8430CD0C() == 0) && (D_84390134 != 1)) {
|
|
func_8003DB84(1);
|
|
}
|
|
|
|
func_8431FC74();
|
|
sp1C->unk_10 = 0;
|
|
sp18->unk_10 = 0;
|
|
|
|
if ((sp1C->unk_2D == 0x10) || (sp18->unk_2D == 0x10) || (D_84390240.unk_00->unk_2E == 2)) {
|
|
func_8431AFE4(1, 0);
|
|
} else {
|
|
func_8431AFE4(1, 1);
|
|
}
|
|
|
|
D_84390240.unk_00->unk_44 = 1;
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
|
|
s32 func_84320658(s32 arg0) {
|
|
func_8431FF18();
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_48 = 0;
|
|
D_84390240.unk_00->unk_4C = 0;
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
D_84390240.unk_00->unk_38 = arg0;
|
|
return 1;
|
|
}
|
|
|
|
s32 func_843206B8(s32 arg0) {
|
|
func_8431FF18();
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_4C = 0;
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
D_84390240.unk_00->unk_38 = arg0;
|
|
return 1;
|
|
}
|
|
|
|
s32 func_84320710(s32 arg0) {
|
|
func_8431FF18();
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_4C = 0;
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
D_84390240.unk_00->unk_38 = arg0;
|
|
return 1;
|
|
}
|
|
|
|
void func_84320768(unk_D_86002F34_00C* arg0) {
|
|
D_84390240.unk_00->unk_2C = !D_84390240.unk_00->unk_2C;
|
|
func_8431FF3C(arg0, 5);
|
|
}
|
|
|
|
void func_8432079C(u8 arg0) {
|
|
unk_D_84390010_654* temp_a3;
|
|
|
|
D_84390240.unk_00->unk_2C = !D_84390240.unk_00->unk_2C;
|
|
temp_a3 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
|
|
if ((temp_a3->unk_2D == 0xF) || (temp_a3->unk_2D == 0x10)) {
|
|
func_84373570(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
} else {
|
|
func_8437345C();
|
|
}
|
|
|
|
D_84390240.unk_00->unk_34 = 1;
|
|
D_84390240.unk_00->unk_A0.z = 0.0f;
|
|
func_8431FF3C(D_84390240.unk_00->unk_DC, 0x24);
|
|
D_84390240.unk_00->unk_78 = arg0;
|
|
}
|
|
|
|
void func_84320864(void) {
|
|
if (func_8431F690(D_84390010[D_84390240.unk_00->unk_2C]) == 0) {
|
|
D_84390240.unk_00->unk_38 = D_84390240.unk_00->unk_78;
|
|
}
|
|
}
|
|
|
|
void func_843208B0(void) {
|
|
unk_D_800FCB18* sp24;
|
|
unk_D_800FCB18* sp20;
|
|
unk_D_84390010_654* sp1C;
|
|
|
|
if (D_84390240.unk_00->unk_34 == 0) {
|
|
func_84301F80(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_80048014();
|
|
func_8431F680();
|
|
|
|
sp24 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
sp20 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
sp1C = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654;
|
|
|
|
if ((((sp24->unk_5A & 0xF0) == 0xF0) || ((sp20->unk_5A & 0xF0) == 0xF0)) && (sp1C->unk_2D != 0xF) &&
|
|
(sp1C->unk_2D != 0x10)) {
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
D_84390240.unk_00->unk_38 = 4;
|
|
|
|
if ((sp24->unk_5A & 0xF0) == 0xF0) {
|
|
sp24->unk_5A = 0xA5;
|
|
}
|
|
|
|
if ((sp20->unk_5A & 0xF0) == 0xF0) {
|
|
sp20->unk_5A = 0xA5;
|
|
}
|
|
} else {
|
|
func_8432079C(3);
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
}
|
|
} else {
|
|
sp24 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
sp20 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
|
|
func_84301F80(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_80048014();
|
|
func_8431F680();
|
|
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
D_84390240.unk_00->unk_38 = 4;
|
|
|
|
if ((sp24->unk_5A & 0xF0) == 0xF0) {
|
|
sp24->unk_5A = 0xA5;
|
|
}
|
|
|
|
if ((sp20->unk_5A & 0xF0) == 0xF0) {
|
|
sp20->unk_5A = 0xA5;
|
|
}
|
|
}
|
|
}
|
|
|
|
s32 func_84320A8C(void) {
|
|
unk_D_800FCB18* temp_v0 = &D_84390200->unk_654.unk_38;
|
|
|
|
if (((temp_v0->unk_4D & 0x80) || (temp_v0->unk_15 & 0x18)) && ((temp_v0->unk_5A & 0xF0) == 0xF0)) {
|
|
func_84301F80(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_80048014();
|
|
func_8431F680();
|
|
func_8432079C(3);
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_48 = 0;
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void func_84320B48(void) {
|
|
if ((D_84390240.unk_00->unk_34 == 0) && ((D_84390200->unk_654.unk_38.unk_5A & 0xF0) != 0xF0)) {
|
|
func_84301F80(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_80048014();
|
|
func_8431F680();
|
|
func_8432079C(3);
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
} else if (func_84320A8C() == 0) {
|
|
func_84301F80(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_80048014();
|
|
func_8431F680();
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
D_84390240.unk_00->unk_38 = 4;
|
|
}
|
|
}
|
|
|
|
void func_84320C38(unk_D_86002F34_00C* arg0) {
|
|
if ((D_84390220 == 1) && (D_84390224 == 1)) {
|
|
if (func_84308164(D_84390010[D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_84320768(arg0);
|
|
} else if (func_84308164(D_84390010[!D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_8431FF3C(arg0, 5);
|
|
} else {
|
|
func_84320B48();
|
|
}
|
|
}
|
|
}
|
|
|
|
void func_84320CEC(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp1C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
|
|
D_84390220 = func_8431FCCC(D_84390010[0]);
|
|
D_84390224 = func_8431FCCC(D_84390010[1]);
|
|
func_8431FF18();
|
|
func_8431AE5C();
|
|
|
|
if (func_84308164(D_84390010[D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_84320768(arg0);
|
|
} else if (func_84308164(D_84390010[!D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_84320C38(arg0);
|
|
} else if (D_84390240.unk_00->unk_4C == 0xA) {
|
|
func_84320710(0xA);
|
|
} else if (D_84390240.unk_00->unk_48 == 9) {
|
|
func_84320658(9);
|
|
} else if ((sp1C->unk_15 & 0x18) || (sp1C->unk_4D & 0x80)) {
|
|
func_84320658(6);
|
|
} else {
|
|
func_84320C38(arg0);
|
|
}
|
|
}
|
|
|
|
void func_84320E54(unk_D_86002F34_00C* arg0) {
|
|
if ((D_84390220 == 1) && (D_84390224 == 1)) {
|
|
func_843184FC();
|
|
func_84320CEC(arg0);
|
|
}
|
|
}
|
|
|
|
s32 func_84320EA0(void) {
|
|
switch (D_84390240.unk_00->unk_48) {
|
|
case 7:
|
|
case 38:
|
|
case 39:
|
|
func_84305760(D_84390204, 3);
|
|
return func_843206B8(0x25);
|
|
|
|
case 30:
|
|
func_84305760(D_84390204, 3);
|
|
return func_843206B8(0x25);
|
|
|
|
case 28:
|
|
return func_843206B8(0x25);
|
|
|
|
case 21:
|
|
func_84305760(D_84390204, 3);
|
|
return func_843206B8(0x25);
|
|
|
|
case 15:
|
|
return func_843206B8(0x25);
|
|
|
|
case 25:
|
|
return func_843206B8(0x25);
|
|
|
|
case 27:
|
|
return func_843206B8(0x25);
|
|
|
|
case 29:
|
|
func_84305760(D_84390204, 3);
|
|
return func_843206B8(0x25);
|
|
|
|
case 12:
|
|
func_84305760(D_84390204, 8);
|
|
return func_843206B8(0x25);
|
|
|
|
case 13:
|
|
func_84305760(D_84390204, 8);
|
|
return func_843206B8(0x25);
|
|
|
|
case 14:
|
|
func_84305760(D_84390204, 8);
|
|
return func_843206B8(0x25);
|
|
|
|
case 17:
|
|
func_84305760(D_84390204, 9);
|
|
return func_843206B8(0x25);
|
|
|
|
case 31:
|
|
return func_843206B8(0x25);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
s32 func_8432103C(void) {
|
|
s32 tmp = D_84390240.unk_00->unk_48;
|
|
|
|
if (tmp != 0x10) {
|
|
if (D_84390240.unk_00->unk_48 == 0x14) {
|
|
return func_84320658(0x14);
|
|
}
|
|
} else {
|
|
return func_84320658(0x10);
|
|
}
|
|
|
|
if ((D_843C4DA4 != 0) || (D_84390240.unk_00->unk_48 == 8)) {
|
|
return func_84320658(8);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
s32 func_843210BC(void) {
|
|
s32 idx = D_84390240.unk_00->unk_2C;
|
|
unk_D_800FCB18* temp_v1_2 = &D_84390010[idx]->unk_654.unk_38;
|
|
|
|
if (((temp_v1_2->unk_4D & 0x80) || (temp_v1_2->unk_15 & 0x18)) && ((temp_v1_2->unk_5A & 0xF0) == 0xF0)) {
|
|
return func_84320658(0x23);
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void func_8432113C(void) {
|
|
s32 idx;
|
|
|
|
D_84390204 = D_84390010[D_84390240.unk_00->unk_2C];
|
|
idx = D_84390240.unk_00->unk_2C == 0;
|
|
D_84390200 = D_84390010[idx];
|
|
}
|
|
|
|
void func_84321184(unk_D_86002F34_00C* arg0) {
|
|
func_8003DB84(0);
|
|
func_8431AFD0(arg0, 20.0f, 12800.0f);
|
|
func_8431F680();
|
|
D_84390240.unk_00->unk_34 = 0;
|
|
func_8431FF18();
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
func_843087F8(D_84390010[0]);
|
|
func_843087F8(D_84390010[1]);
|
|
D_84390240.unk_00->unk_20++;
|
|
}
|
|
|
|
void func_84321208(unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010_654* temp_t2 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654;
|
|
unk_D_84390010_654* temp_t1 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
s16 sp2E = D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_01A;
|
|
unk_D_8438E7B0_A50* sp28 = &D_84384570[D_84390240.unk_00->unk_2C]->unk_A50;
|
|
unk_D_84390010* sp24 = D_84390010[D_84390240.unk_00->unk_2C];
|
|
|
|
if (((temp_t2->unk_2D == 0x13) && (temp_t1->unk_2D == 0x13)) ||
|
|
((temp_t2->unk_2D == 0x10) && (temp_t1->unk_2D == 0x13)) ||
|
|
((temp_t1->unk_2D == 0x10) && (temp_t2->unk_2D == 0x13))) {
|
|
func_843184E4(0xE);
|
|
func_8000E88C(&arg0->unk_60.at, 0.0f, 75.0f, 0.0f);
|
|
func_8000E88C(&arg0->unk_60.eye, 0.0f, 80.0f, 400.0f);
|
|
func_8004153C();
|
|
D_84390240.unk_00->unk_20 = 8;
|
|
return;
|
|
}
|
|
|
|
if (temp_t1->unk_34 & 0x4008) {
|
|
sp24->unk_000.unk_01D = 0xFF;
|
|
func_8432C80C(4, sp24);
|
|
sp24->unk_000.unk_024.y = D_84390028[D_84390240.unk_00->unk_2C].unk_08;
|
|
sp24->unk_000.unk_000.unk_02 &= ~0x2;
|
|
sp24->unk_000.unk_000.unk_02 |= 0x20;
|
|
sp24->unk_000.unk_000.unk_01 |= 1;
|
|
func_84306200(sp24, 0x4608);
|
|
}
|
|
|
|
if (D_84390010[D_84390240.unk_00->unk_2C]->unk_4B4 == 0xA) {
|
|
func_84308654(D_84390010[D_84390240.unk_00->unk_2C], 0, 0);
|
|
}
|
|
|
|
if (D_84390010[D_84390240.unk_00->unk_2C]->unk_4B4 == 0xD) {
|
|
func_84308654(D_84390010[D_84390240.unk_00->unk_2C], 0, 0);
|
|
}
|
|
|
|
if (D_84390010[D_84390240.unk_00->unk_2C]->unk_4B4 == 0x10) {
|
|
func_84308654(D_84390010[D_84390240.unk_00->unk_2C], 0, 0);
|
|
}
|
|
|
|
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_01E.x = 0;
|
|
if ((sp2E == 0x32) || (sp2E == 0x33)) {
|
|
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_02 |= 0x20;
|
|
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_01 |= 1;
|
|
func_8001BD04(&D_84390010[D_84390240.unk_00->unk_2C]->unk_000, sp28->unk_00);
|
|
}
|
|
|
|
func_843087F8(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_8000E88C(&D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_030, 1.0f, 1.0f, 1.0f);
|
|
D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_024.y = func_84307BAC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_843081F0(D_84390010[D_84390240.unk_00->unk_2C], &D_843901B0.unk_00);
|
|
func_8431D7D8(&D_84384AF8, arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_8431D5D0(arg0, D_84390010[D_84390240.unk_00->unk_2C], 1);
|
|
func_8004153C();
|
|
D_84390240.unk_00->unk_20 = 6;
|
|
}
|
|
|
|
s32 func_84321594(unk_D_84390010* arg0) {
|
|
UNUSED s32 pad;
|
|
unk_D_84390010_654* sp28 = &arg0->unk_654;
|
|
|
|
D_84390240.unk_00->unk_54 = 0;
|
|
func_8432B13C(arg0);
|
|
|
|
if (sp28->unk_34 & 0x200) {
|
|
func_84306200(arg0, 0x60C);
|
|
return 1;
|
|
}
|
|
|
|
if (sp28->unk_34 & 0x4008) {
|
|
arg0->unk_000.unk_01D = 0xFF;
|
|
func_8432C80C(4, arg0);
|
|
arg0->unk_000.unk_024.y = D_84390028[func_84307F00(arg0)].unk_08;
|
|
arg0->unk_000.unk_000.unk_02 &= ~0x2;
|
|
arg0->unk_000.unk_000.unk_02 |= 0x20;
|
|
arg0->unk_000.unk_000.unk_01 |= 1;
|
|
func_84306200(arg0, 0x4608);
|
|
}
|
|
|
|
func_8432B38C(arg0);
|
|
sp28->unk_2E = 0xFF;
|
|
func_8001BE34(&arg0->unk_000, 0xFF, 0xFF, 0xFF, sp28->unk_2E);
|
|
func_843066E0(arg0);
|
|
arg0->unk_000.unk_01E.x = 0;
|
|
return 0;
|
|
}
|
|
|
|
void func_84321698(unk_D_86002F34_00C* arg0) {
|
|
if (func_8431F690(D_84390010[!D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_84306200(D_84390010[!D_84390240.unk_00->unk_2C], 0x1800);
|
|
func_80048014();
|
|
func_8432E9D8(2);
|
|
func_8431AE5C();
|
|
func_8003F1AC(func_84308D98(D_84390010[!D_84390240.unk_00->unk_2C]));
|
|
|
|
if (func_84321594(D_84390010[!D_84390240.unk_00->unk_2C]) != 0) {
|
|
func_84305760(D_84390010[!D_84390240.unk_00->unk_2C], 0x11);
|
|
func_8431BA5C();
|
|
D_84390240.unk_00->unk_20 = 0xA;
|
|
} else {
|
|
func_84305760(D_84390010[!D_84390240.unk_00->unk_2C], 0);
|
|
func_8431BA5C();
|
|
D_84390240.unk_00->unk_20++;
|
|
}
|
|
|
|
func_8431F500(D_84390010[!D_84390240.unk_00->unk_2C], arg0, 3);
|
|
|
|
if (func_84307B60(D_84390010[!D_84390240.unk_00->unk_2C]) != 0) {
|
|
func_8004E810(0xC8, 1);
|
|
} else {
|
|
func_8004E810(D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_01A, 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
void func_84321860(unk_D_86002F34_00C* arg0) {
|
|
UNUSED s32 pad[2];
|
|
unk_D_84390010_654* sp24 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654;
|
|
unk_D_8438E7B0_A50* sp20 = &D_84384570[!D_84390240.unk_00->unk_2C]->unk_A70;
|
|
|
|
if (func_84301FB0(D_84390010[!D_84390240.unk_00->unk_2C]) == 0) {
|
|
if (D_84390240.unk_00->unk_14 == 0x1D) {
|
|
func_8431F500(D_84390010[!D_84390240.unk_00->unk_2C], arg0, 4);
|
|
}
|
|
|
|
if (func_8431ADF0(0x1E) != 0) {
|
|
func_8431CFA4(arg0, D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
}
|
|
|
|
if (((sp20->unk_04 >> 1) == (D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_040.unk_08 >> 0x10)) &&
|
|
(sp24->unk_2D != 0x12)) {
|
|
func_843184E4(9);
|
|
}
|
|
|
|
if (sp20->unk_0A == ((D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_040.unk_08 >> 0x10) + 3)) {
|
|
D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_02 &= ~0x20;
|
|
func_843061EC(D_84390010[!D_84390240.unk_00->unk_2C], 0x100);
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
func_8431CEF0(arg0, D_84390010[!D_84390240.unk_00->unk_2C], 0);
|
|
}
|
|
}
|
|
|
|
void func_84321A40(unk_D_86002F34_00C* arg0) {
|
|
func_8431CEF0(arg0, D_84390010[!D_84390240.unk_00->unk_2C], 1);
|
|
if (func_8431ADAC(0x19) != 0) {
|
|
func_80048014();
|
|
D_84390240.unk_00->unk_20++;
|
|
}
|
|
}
|
|
|
|
void func_84321AAC(unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010_654* temp_s0 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654;
|
|
|
|
func_8431CEF0(arg0, D_84390010[!D_84390240.unk_00->unk_2C], 1);
|
|
|
|
if (func_8431ADAC(5) != 0) {
|
|
func_8432E9D8(1);
|
|
func_80037234(3, 0);
|
|
|
|
if (temp_s0->unk_2D != 0x12) {
|
|
temp_s0->unk_2D = 0x10;
|
|
}
|
|
|
|
if (temp_s0->unk_2D == 0x12) {
|
|
temp_s0->unk_2D = 0x13;
|
|
}
|
|
|
|
D_84390240.unk_00->unk_20++;
|
|
}
|
|
}
|
|
|
|
void func_84321B54(unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010_654* sp24 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654;
|
|
unk_D_84390010_654* sp20 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
|
|
if (func_8431ADAC(0xA) != 0) {
|
|
func_8431AE5C();
|
|
func_8431FF18();
|
|
D_84390240.unk_00->unk_20++;
|
|
if (sp24->unk_2D == 0x10) {
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
|
|
if ((sp20->unk_2D == 0x11) || (sp20->unk_2D == 0x12)) {
|
|
D_84390240.unk_00->unk_38 = 5;
|
|
D_84390240.unk_00->unk_2C = !D_84390240.unk_00->unk_2C;
|
|
} else if ((sp24->unk_2D == 0x13) || (sp20->unk_2D == 0x13)) {
|
|
func_843184E4(0xE);
|
|
func_8000E88C(&arg0->unk_60.at, 0.0f, 75.0f, 0.0f);
|
|
func_8000E88C(&arg0->unk_60.eye, 0.0f, 80.0f, 400.0f);
|
|
func_8004153C();
|
|
D_84390240.unk_00->unk_2C = !D_84390240.unk_00->unk_2C;
|
|
D_84390240.unk_00->unk_20 = 8;
|
|
} else {
|
|
D_84390240.unk_00->unk_38 = 4;
|
|
}
|
|
} else if ((sp20->unk_2D == 0x12) || (sp20->unk_2D == 0x11)) {
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_38 = 5;
|
|
D_84390240.unk_00->unk_2C = !D_84390240.unk_00->unk_2C;
|
|
} else {
|
|
func_84321208(arg0);
|
|
}
|
|
func_80048014();
|
|
}
|
|
}
|
|
|
|
void func_84321D34(UNUSED unk_D_86002F34_00C* arg0) {
|
|
}
|
|
|
|
void func_84321D3C(unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010* temp_s0;
|
|
UNUSED s32 pad;
|
|
f32 sp44;
|
|
f32 sp40;
|
|
s16 sp3E;
|
|
UNUSED s16 pad2;
|
|
u8 sp3B;
|
|
s16 tmp1;
|
|
|
|
temp_s0 = D_84390010[D_84390240.unk_00->unk_2C];
|
|
sp3B = temp_s0->unk_000.unk_01A - 1;
|
|
|
|
if (func_8431D118(arg0, temp_s0, 1, 0) != 0) {
|
|
func_8431AE5C();
|
|
func_843184E4(0xE);
|
|
func_8431AFD0(arg0, 10.0f, 12800.0f);
|
|
arg0->unk_24.fovy = 60.0f;
|
|
if ((D_84390010[D_84390240.unk_00->unk_2C]->unk_000.unk_01A == 0x5F) && (D_84390240.unk_00->unk_2C == 1)) {
|
|
sp3B = 0x97;
|
|
}
|
|
|
|
sp44 = (D_84384580[D_84390240.unk_00->unk_2C]->unk_00.y + temp_s0->unk_000.unk_024.y) + D_84384C30[sp3B].z;
|
|
sp40 = ((D_84384580[D_84390240.unk_00->unk_2C]->unk_00.z + D_84384C30[sp3B].y) * temp_s0->unk_4B0) +
|
|
temp_s0->unk_000.unk_024.x;
|
|
|
|
func_8000E88C(&arg0->unk_60.at, sp40, sp44, temp_s0->unk_000.unk_024.z);
|
|
|
|
sp40 = D_84384580[D_84390240.unk_00->unk_2C]->unk_00.x * D_84384C30[sp3B].x;
|
|
sp3E = D_84384580[D_84390240.unk_00->unk_2C]->unk_0C;
|
|
tmp1 = (temp_s0->unk_4B0 * D_84384580[D_84390240.unk_00->unk_2C]->unk_0E) + func_84308190(temp_s0);
|
|
func_80010354(&arg0->unk_60.at, &arg0->unk_60.eye, sp40, sp3E, tmp1);
|
|
D_84390240.unk_00->unk_20++;
|
|
}
|
|
}
|
|
|
|
void func_84321F2C(UNUSED unk_D_86002F34_00C* arg0) {
|
|
if (func_8431ADAC(0x50) != 0) {
|
|
D_84390240.unk_00->unk_40 = D_84390240.unk_00->unk_2C + 1;
|
|
func_843184FC();
|
|
func_8004B9C4(0x14);
|
|
}
|
|
}
|
|
|
|
void func_84321F74(UNUSED unk_D_86002F34_00C* arg0) {
|
|
if (func_8431ADAC(0x7D) != 0) {
|
|
D_84390240.unk_00->unk_40 = D_84390240.unk_00->unk_2C + 1;
|
|
func_8004B9C4(0x14);
|
|
}
|
|
}
|
|
|
|
void func_84321FB8(unk_D_86002F34_00C* arg0) {
|
|
UNUSED s32 pad[2];
|
|
unk_D_84390010_654* sp24 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654;
|
|
unk_D_8438E7B0_A50* sp20 = &D_84384570[!D_84390240.unk_00->unk_2C]->unk_B10;
|
|
|
|
if (func_84301FB0(D_84390010[!D_84390240.unk_00->unk_2C]) == 0) {
|
|
if (D_84390240.unk_00->unk_14 == 0x1D) {
|
|
func_8431F500(D_84390010[!D_84390240.unk_00->unk_2C], arg0, 4);
|
|
}
|
|
|
|
if (func_8431ADF0(0x1E) != 0) {
|
|
func_8431CFA4(arg0, D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
}
|
|
|
|
if (((sp20->unk_04 >> 1) == (D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_040.unk_08 >> 0x10)) &&
|
|
(sp24->unk_2D != 0x12)) {
|
|
func_843184E4(9);
|
|
}
|
|
|
|
if (sp20->unk_0A == ((D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_040.unk_08 >> 0x10) + 3)) {
|
|
D_84390010[!D_84390240.unk_00->unk_2C]->unk_000.unk_000.unk_02 &= ~0x20;
|
|
func_843061EC(D_84390010[!D_84390240.unk_00->unk_2C], 0x100);
|
|
func_8431AE5C();
|
|
func_8431B858(D_84390010[!D_84390240.unk_00->unk_2C], arg0);
|
|
D_84390240.unk_00->unk_20 = 2;
|
|
}
|
|
|
|
func_8431CEF0(arg0, D_84390010[!D_84390240.unk_00->unk_2C], 0);
|
|
}
|
|
}
|
|
|
|
void func_843221A8(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_84321698(arg0);
|
|
break;
|
|
|
|
case 1:
|
|
func_84321860(arg0);
|
|
break;
|
|
|
|
case 2:
|
|
func_84321A40(arg0);
|
|
break;
|
|
|
|
case 3:
|
|
func_84321AAC(arg0);
|
|
break;
|
|
|
|
case 4:
|
|
func_84321B54(arg0);
|
|
break;
|
|
|
|
case 5:
|
|
func_84321D34(arg0);
|
|
break;
|
|
|
|
case 6:
|
|
func_84321D3C(arg0);
|
|
break;
|
|
|
|
case 7:
|
|
func_84321F2C(arg0);
|
|
break;
|
|
|
|
case 8:
|
|
func_84321F74(arg0);
|
|
break;
|
|
|
|
case 10:
|
|
func_84321FB8(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84322284(UNUSED unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010_654* sp1C = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654;
|
|
|
|
if (func_8431ADAC(2) != 0) {
|
|
func_8431AE5C();
|
|
func_8431FF18();
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
if (sp1C->unk_2D == 0x10) {
|
|
D_84390240.unk_00->unk_14 = 0;
|
|
D_84390240.unk_00->unk_20 = 0;
|
|
D_84390240.unk_00->unk_38 = 4;
|
|
} else {
|
|
D_84390240.unk_00->unk_40 = D_84390240.unk_00->unk_2C + 1;
|
|
}
|
|
func_80048014();
|
|
}
|
|
}
|
|
|
|
void func_84322350(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_84321698(arg0);
|
|
break;
|
|
|
|
case 1:
|
|
func_84321860(arg0);
|
|
break;
|
|
|
|
case 2:
|
|
func_84321A40(arg0);
|
|
break;
|
|
|
|
case 3:
|
|
func_84321AAC(arg0);
|
|
break;
|
|
|
|
case 4:
|
|
func_84322284(arg0);
|
|
break;
|
|
|
|
case 5:
|
|
func_84321D34(arg0);
|
|
break;
|
|
|
|
case 10:
|
|
func_84321FB8(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_843223FC(unk_D_84390010* arg0) {
|
|
unk_D_84390010_654* ptr = &arg0->unk_654;
|
|
|
|
if (ptr->unk_34 & 0x200) {
|
|
arg0->unk_000.unk_024.y = D_84390028[func_84307F00(arg0)].unk_08;
|
|
func_84306200(arg0, 0x608);
|
|
} else if (ptr->unk_34 & 0x4008) {
|
|
arg0->unk_000.unk_01D = 0xFF;
|
|
func_8432C80C(4, arg0);
|
|
arg0->unk_000.unk_024.y = D_84390028[func_84307F00(arg0)].unk_08;
|
|
arg0->unk_000.unk_000.unk_02 &= ~0x2;
|
|
arg0->unk_000.unk_000.unk_02 |= 0x20;
|
|
arg0->unk_000.unk_000.unk_01 |= 1;
|
|
func_84306200(arg0, 0x4608);
|
|
}
|
|
}
|
|
|
|
void func_843224C8(unk_D_86002F34_00C* arg0) {
|
|
s32 sp24;
|
|
unk_D_84390010_654* sp20 = &D_84390010[0]->unk_654;
|
|
unk_D_84390010_654* sp1C = &D_84390010[1]->unk_654;
|
|
|
|
func_84301B00();
|
|
func_8431F680();
|
|
|
|
sp24 = func_8430C414(5);
|
|
if (sp24 >= 5) {
|
|
sp24 = 0;
|
|
}
|
|
|
|
if ((sp20->unk_34 & 0x4000) || ((sp1C->unk_34 & 0x4000) != 0)) {
|
|
sp24 = 2;
|
|
} else if ((sp20->unk_34 & 0x200) || (sp1C->unk_34 & 0x200)) {
|
|
sp24 = 4;
|
|
} else if ((sp20->unk_2D == 0x10) || (sp1C->unk_2D == 0x10)) {
|
|
sp24 = 2;
|
|
}
|
|
|
|
func_8430C1E4(&D_843901B0.unk_00, &D_84385B90);
|
|
func_8431D968(&D_84384B2C[sp24], arg0);
|
|
func_8431D5D0(arg0, D_84390204, 0);
|
|
D_84390240.unk_00->unk_20++;
|
|
}
|
|
|
|
void func_84322600(unk_D_86002F34_00C* arg0) {
|
|
if (func_8431D118(arg0, D_84390204, 0, 1) != 0) {
|
|
func_8431FF3C(arg0, 2);
|
|
}
|
|
}
|
|
|
|
void func_84322640(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_843224C8(arg0);
|
|
break;
|
|
|
|
case 1:
|
|
func_84322600(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84322698(unk_D_84390010* arg0) {
|
|
arg0->unk_654.unk_30 = 0x800;
|
|
}
|
|
|
|
void func_843226A4(UNUSED unk_D_86002F34_00C* arg0) {
|
|
func_8432E9D8(2);
|
|
func_84322698(D_84390204);
|
|
func_8430203C(D_84390204);
|
|
}
|
|
|
|
void func_843226E0(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp1C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
unk_D_84390010_654* sp18 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
s32 var_t0;
|
|
|
|
if (D_84390240.unk_00->unk_48 == 0xE) {
|
|
var_t0 = func_8431FFD0(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
} else if ((D_84390240.unk_00->unk_48 == 0x1C) || (D_84390240.unk_00->unk_48 == 0x11) ||
|
|
(D_84390240.unk_00->unk_48 == 0x1F)) {
|
|
var_t0 = 0;
|
|
} else {
|
|
var_t0 = func_8431FF8C(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
}
|
|
|
|
if ((sp1C->unk_5A == 0x3A) || (sp1C->unk_5A == 0x8F)) {
|
|
if ((D_84390240.unk_00->unk_48 != 0x1C) && (D_84390240.unk_00->unk_48 != 0x11) &&
|
|
(D_84390240.unk_00->unk_48 != 0x1F)) {
|
|
var_t0 = 0x16;
|
|
}
|
|
}
|
|
|
|
switch (var_t0) {
|
|
case 20:
|
|
func_8431F290(D_84390204, arg0,
|
|
D_84390240.unk_00->unk_50 = D_84385B70[func_8430C384(ARRAY_COUNT(D_84385B70))], 1);
|
|
break;
|
|
|
|
case 21:
|
|
func_8431F290(D_84390204, arg0,
|
|
D_84390240.unk_00->unk_50 = D_84385B78[func_8430C384(ARRAY_COUNT(D_84385B78))], 1);
|
|
break;
|
|
|
|
case 22:
|
|
func_8431F290(D_84390204, arg0,
|
|
D_84390240.unk_00->unk_50 = D_84385B7C[func_8430C384(ARRAY_COUNT(D_84385B7C))], 1);
|
|
break;
|
|
|
|
case 23:
|
|
func_8431F290(D_84390204, arg0,
|
|
D_84390240.unk_00->unk_50 = D_84385B80[func_8430C384(ARRAY_COUNT(D_84385B80))], 1);
|
|
break;
|
|
|
|
case 24:
|
|
func_8431F290(D_84390204, arg0,
|
|
D_84390240.unk_00->unk_50 = D_84385B88[func_8430C384(ARRAY_COUNT(D_84385B88))], 1);
|
|
break;
|
|
|
|
default:
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50 = var_t0, 1);
|
|
if (sp18->unk_34 & 0x4000) {
|
|
arg0->unk_60.at.y = 0.0f;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
s32 func_843229A4(unk_D_86002F34_00C* arg0) {
|
|
UNUSED s32 pad;
|
|
unk_D_84390010_654* sp20 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
|
|
func_8431AE5C();
|
|
func_843226E0(arg0);
|
|
|
|
if (func_84320EA0() != 0) {
|
|
return 0;
|
|
}
|
|
|
|
if (D_84390240.unk_00->unk_48 == 0x14) {
|
|
func_84305760(D_84390010[D_84390240.unk_00->unk_2C], 0x15);
|
|
} else if (D_84390240.unk_00->unk_48 == 0x18) {
|
|
func_84305760(D_84390010[D_84390240.unk_00->unk_2C], 3);
|
|
} else if (sp20->unk_34 & 0x4400) {
|
|
func_84305760(D_84390010[D_84390240.unk_00->unk_2C], 3);
|
|
func_8431F290(D_84390010[D_84390240.unk_00->unk_2C], arg0, D_84390240.unk_00->unk_50 = 2, 1);
|
|
} else {
|
|
func_84305760(D_84390010[D_84390240.unk_00->unk_2C], 3);
|
|
}
|
|
|
|
func_8431FF18();
|
|
return 1;
|
|
}
|
|
|
|
void func_84322B04(unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010_654* sp1C = &D_84390204->unk_654;
|
|
|
|
func_8430C718(&arg0->unk_24.fovy, 30.0f, 0.05f);
|
|
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
func_843066E0(D_84390010[0]);
|
|
func_843066E0(D_84390010[1]);
|
|
|
|
if ((func_84320400() == 0) && (func_843210BC() == 0)) {
|
|
func_84306470(D_84390204);
|
|
func_843226A4(arg0);
|
|
func_8431FF28();
|
|
|
|
if ((D_84390240.unk_00->unk_34 == 1) && (D_84390200->unk_4C8 == 1)) {
|
|
func_843223FC(D_84390200);
|
|
}
|
|
|
|
func_843081F0(D_84390204, &D_843901B0.unk_00);
|
|
|
|
if (sp1C->unk_34 & 0x4000) {
|
|
D_843901B0.unk_00.y = 15.000001f;
|
|
}
|
|
|
|
if (D_84390240.unk_00->unk_34 == 1) {
|
|
func_8431FF70(arg0);
|
|
|
|
if ((D_84390240.unk_00->unk_48 == 0x1C) || (D_84390240.unk_00->unk_48 == 0x11) ||
|
|
(D_84390240.unk_00->unk_48 == 0x1F)) {
|
|
func_8431F420(D_84390204, arg0, 3);
|
|
} else {
|
|
func_8431F420(D_84390204, arg0, 4);
|
|
}
|
|
|
|
if (sp1C->unk_34 & 0x4000) {
|
|
arg0->unk_60.at.y = 15.000001f;
|
|
}
|
|
func_843087F8(D_84390204);
|
|
} else if ((D_84390240.unk_00->unk_48 == 0x1C) || (D_84390240.unk_00->unk_48 == 0x11) ||
|
|
(D_84390240.unk_00->unk_48 == 0x1F)) {
|
|
func_8431D7D8(&D_8438498C, arg0, D_84390204);
|
|
} else {
|
|
func_8431D7D8(&D_843848F0, arg0, D_84390204);
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
if (func_84302000(D_84390204) != 0) {
|
|
D_84390234 = D_84390230 = D_8439022C;
|
|
func_843184E4(0);
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_3C += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if (D_84390240.unk_00->unk_34 == 1) {
|
|
if ((D_84390240.unk_00->unk_48 == 0x1C) || (D_84390240.unk_00->unk_48 == 0x11) ||
|
|
(D_84390240.unk_00->unk_48 == 0x1F)) {
|
|
if (func_8431ADAC(0xA) != 0) {
|
|
func_8431FF70(arg0);
|
|
if (func_843229A4(arg0) != 0) {
|
|
D_84390240.unk_00->unk_20 = 1;
|
|
}
|
|
}
|
|
} else if (func_8431ADAC(0x28) != 0) {
|
|
func_8431FF70(arg0);
|
|
if (func_843229A4(arg0) != 0) {
|
|
D_84390240.unk_00->unk_20 = 1;
|
|
}
|
|
}
|
|
} else if (func_8431D118(arg0, D_84390204, 1, 1) != 0) {
|
|
func_8431FF70(arg0);
|
|
if (func_843229A4(arg0) != 0) {
|
|
D_84390240.unk_00->unk_20 = 1;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84322E70(unk_D_86002F34_00C* arg0) {
|
|
s32 temp_v0;
|
|
s32 temp_t0;
|
|
|
|
if (D_84390230 != D_8439022C) {
|
|
temp_v0 = func_84320020(D_84390010[D_84390240.unk_00->unk_2C]) & 0xFFFFFFFF;
|
|
switch (temp_v0) {
|
|
case 20:
|
|
do {
|
|
temp_t0 = D_84385B70[func_8430C384(5.0f)];
|
|
} while (temp_t0 == D_84390240.unk_00->unk_50);
|
|
D_84390240.unk_00->unk_50 = temp_t0;
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50, 1);
|
|
break;
|
|
|
|
case 21:
|
|
do {
|
|
temp_t0 = D_84385B78[func_8430C384(4.0f)];
|
|
} while (temp_t0 == D_84390240.unk_00->unk_50);
|
|
D_84390240.unk_00->unk_50 = temp_t0;
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50, 1);
|
|
break;
|
|
|
|
case 22:
|
|
do {
|
|
temp_t0 = D_84385B7C[func_8430C384(3.0f)];
|
|
} while (temp_t0 == D_84390240.unk_00->unk_50);
|
|
D_84390240.unk_00->unk_50 = temp_t0;
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50, 1);
|
|
break;
|
|
|
|
case 23:
|
|
do {
|
|
temp_t0 = D_84385B80[func_8430C384(6.0f)];
|
|
} while (temp_t0 == D_84390240.unk_00->unk_50);
|
|
D_84390240.unk_00->unk_50 = temp_t0;
|
|
if (1) {}
|
|
if (1) {}
|
|
if (1) {}
|
|
if (1) {}
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50, 1);
|
|
break;
|
|
|
|
case 24:
|
|
do {
|
|
temp_t0 = D_84385B88[func_8430C384(4.0f)];
|
|
} while (temp_t0 == D_84390240.unk_00->unk_50);
|
|
D_84390240.unk_00->unk_50 = temp_t0;
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50, 1);
|
|
break;
|
|
|
|
default:
|
|
if (temp_v0 != D_84390240.unk_00->unk_50) {
|
|
func_8431F290(D_84390204, arg0, temp_v0, 1);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
void func_843230D8(unk_D_86002F34_00C* arg0, s32 arg1) {
|
|
unk_D_800FCB18* sp1C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
s32 sp18;
|
|
|
|
if ((D_84390240.unk_00->unk_50 != 1) && (D_84390240.unk_00->unk_50 != 4) && (D_84390240.unk_00->unk_50 != 5) &&
|
|
(D_84390240.unk_00->unk_50 != 8) && (D_84390240.unk_00->unk_50 != 9) && (D_84390240.unk_00->unk_50 != 0xA) &&
|
|
(D_84390240.unk_00->unk_50 != 0xB)) {
|
|
if (arg1 == 1) {
|
|
sp18 = func_84320064(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
} else {
|
|
sp18 = func_84320020(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
}
|
|
|
|
if ((sp1C->unk_5A == 0x3A) || (sp1C->unk_5A == 0x8F)) {
|
|
sp18 = 0x19;
|
|
}
|
|
|
|
if (sp18 == 25) {
|
|
return;
|
|
}
|
|
|
|
switch (sp18) {
|
|
case 20:
|
|
D_84390240.unk_00->unk_50 = D_84385B70[func_8430C384(ARRAY_COUNT(D_84385B70))];
|
|
if (sp18 != D_84390240.unk_00->unk_50) {
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50, 1);
|
|
}
|
|
break;
|
|
|
|
case 21:
|
|
D_84390240.unk_00->unk_50 = D_84385B78[func_8430C384(ARRAY_COUNT(D_84385B78))];
|
|
if (sp18 != D_84390240.unk_00->unk_50) {
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50, 1);
|
|
}
|
|
break;
|
|
|
|
case 22:
|
|
D_84390240.unk_00->unk_50 = D_84385B7C[func_8430C384(ARRAY_COUNT(D_84385B7C))];
|
|
if (sp18 != D_84390240.unk_00->unk_50) {
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50, 1);
|
|
}
|
|
break;
|
|
|
|
case 23:
|
|
D_84390240.unk_00->unk_50 = D_84385B80[func_8430C384(ARRAY_COUNT(D_84385B80))];
|
|
if (sp18 != D_84390240.unk_00->unk_50) {
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50, 1);
|
|
}
|
|
break;
|
|
|
|
case 24:
|
|
D_84390240.unk_00->unk_50 = D_84385B88[func_8430C384(ARRAY_COUNT(D_84385B88))];
|
|
if (sp18 != D_84390240.unk_00->unk_50) {
|
|
func_8431F290(D_84390204, arg0, D_84390240.unk_00->unk_50, 1);
|
|
}
|
|
break;
|
|
|
|
default:
|
|
if (sp18 != D_84390240.unk_00->unk_50) {
|
|
if (1) {}
|
|
func_8431F290(D_84390204, arg0, sp18, 1);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
s32 func_843233E0(unk_D_86002F34_00C* arg0, s32 arg1) {
|
|
UNUSED s32 pad;
|
|
s32 sp18 = 0;
|
|
|
|
switch (D_84390240.unk_00->unk_50) {
|
|
case 1:
|
|
func_8430C718(&arg0->unk_24.fovy, 60.0f, 0.03f);
|
|
sp18 = 1;
|
|
break;
|
|
|
|
case 4:
|
|
case 5:
|
|
case 8:
|
|
case 9:
|
|
case 10:
|
|
case 11:
|
|
func_8431D318(arg0, D_84390204);
|
|
sp18 = 1;
|
|
break;
|
|
|
|
default:
|
|
if ((D_84390204->unk_4B4 != 6) && (D_84390204->unk_4B4 != 4) && (arg1 != 0)) {
|
|
func_8431C71C(arg0, D_84390204);
|
|
}
|
|
break;
|
|
}
|
|
return sp18;
|
|
}
|
|
|
|
void func_843234A0(UNUSED unk_D_86002F34_00C* arg0) {
|
|
func_84306584(D_84390204);
|
|
func_84306200(D_84390204, 0x10);
|
|
if (func_8432103C() == 0) {
|
|
D_84390240.unk_00->unk_20 = 2;
|
|
}
|
|
func_8432E9D8(1);
|
|
}
|
|
|
|
s32 func_843234FC(UNUSED unk_D_86002F34_00C* arg0) {
|
|
if (func_8431ADAC(func_843200B4(D_84390204)) != 0) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void func_84323538(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
func_843233E0(arg0, 1);
|
|
if (func_843234FC(arg0) != 0) {
|
|
func_8431AE5C();
|
|
func_8431FF28();
|
|
func_843230D8(arg0, 0);
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
func_843233E0(arg0, 1);
|
|
if (func_84305CAC(D_84390204, 0x32) != 0) {
|
|
func_8431AE5C();
|
|
func_8431FF18();
|
|
func_843234A0(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_843235F4(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
func_8431C71C(arg0, D_84390204);
|
|
if (func_84305CAC(D_84390204, 0x32) != 0) {
|
|
func_8431FF5C(arg0);
|
|
D_84390230--;
|
|
func_84322E70(arg0);
|
|
if ((D_84390230 < 0) || (D_843C4DA4 != 0)) {
|
|
D_84390230 = D_8439022C;
|
|
D_84390240.unk_00->unk_3C++;
|
|
} else {
|
|
func_84305760(D_84390010[D_84390240.unk_00->unk_2C], 0x13);
|
|
func_80048014();
|
|
func_8432E9D8(1);
|
|
D_84390240.unk_00->unk_3C = 0;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
func_8431C71C(arg0, D_84390204);
|
|
func_8431AE5C();
|
|
func_8431FF18();
|
|
D_84390240.unk_00->unk_48 = 0;
|
|
func_80048014();
|
|
func_843234A0(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84323740(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
if (func_8431ADAC(0xF) != 0) {
|
|
func_8432C7A0(7, D_84390204);
|
|
func_8431AE5C();
|
|
func_8431FF28();
|
|
func_8431F420(D_84390204, arg0, 3);
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
func_8431C71C(arg0, D_84390204);
|
|
if (func_84305CAC(D_84390204, 0x1E) != 0) {
|
|
func_8431AE5C();
|
|
func_8431FF18();
|
|
func_843234A0(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84323808(unk_D_86002F34_00C* arg0) {
|
|
UNUSED s32 pad;
|
|
unk_D_800FCB18* sp18 = &D_84390204->unk_654.unk_38;
|
|
|
|
func_84307F00(D_84390204);
|
|
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
func_8431AE5C();
|
|
func_8431FF28();
|
|
func_8000E88C(&D_843901B0.unk_00, D_84390204->unk_4B0 * -175.0f, 25.0f, 0.0f);
|
|
func_8431D7D8(&D_84384958, arg0, D_84390204);
|
|
if ((D_84390204->unk_000.unk_01A != 0x33) && (D_84390204->unk_000.unk_01A != 0x32)) {
|
|
func_84301B84(D_84390204, sp18->unk_5A);
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
if (func_8431D118(arg0, D_84390204, 1, 0) != 0) {
|
|
func_8431AE5C();
|
|
func_8431FF18();
|
|
func_843234A0(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84323928(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
func_8431AE5C();
|
|
func_8431FF28();
|
|
func_843081F0(D_84390204, &D_843901B0.unk_00);
|
|
func_8431D7D8(&D_84384924, arg0, D_84390204);
|
|
break;
|
|
|
|
case 1:
|
|
func_8431D318(arg0, D_84390204);
|
|
if (func_84305CAC(D_84390204, 0x1E) != 0) {
|
|
func_8431AE5C();
|
|
func_8431FF18();
|
|
func_843234A0(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_843239EC(unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010_654* temp_a2 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
u32 var_v1 = 0;
|
|
|
|
if (D_84390240.unk_00->unk_48 == 0x18) {
|
|
var_v1 = 0xA;
|
|
} else if (D_84390240.unk_00->unk_48 == 0x14) {
|
|
var_v1 = 0xB;
|
|
} else if (temp_a2->unk_34 & 0x4000) {
|
|
var_v1 = 0xC;
|
|
} else if (temp_a2->unk_34 & 0x10) {
|
|
var_v1 = 0xC;
|
|
} else if (temp_a2->unk_34 & 0x400) {
|
|
var_v1 = 0xD;
|
|
}
|
|
|
|
switch (var_v1) {
|
|
case 0:
|
|
func_84323538(arg0);
|
|
break;
|
|
|
|
case 10:
|
|
func_843235F4(arg0);
|
|
break;
|
|
|
|
case 11:
|
|
func_84323740(arg0);
|
|
break;
|
|
|
|
case 12:
|
|
func_84323808(arg0);
|
|
break;
|
|
|
|
case 13:
|
|
func_84323928(arg0);
|
|
break;
|
|
|
|
default:
|
|
func_84323538(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84323AFC(unk_D_84390010* arg0) {
|
|
if (arg0->unk_654.unk_38.unk_5A == 0x45) {
|
|
func_8430AE90(arg0);
|
|
}
|
|
}
|
|
|
|
s32 func_84323B2C(unk_D_84390010* arg0) {
|
|
if (arg0->unk_654.unk_38.unk_5A == 0x53) {
|
|
return 1;
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
void func_84323B50(unk_D_86002F34_00C* arg0, s32* arg1, s32* arg2) {
|
|
if ((*arg1 == 1) && (*arg2 == 1)) {
|
|
func_843184FC();
|
|
func_843087F8(D_84390204);
|
|
D_84390240.unk_00->unk_1A = 0;
|
|
func_8431AE5C();
|
|
func_8431AE6C();
|
|
func_8431FF18();
|
|
func_8431F680();
|
|
func_84320CEC(arg0);
|
|
}
|
|
}
|
|
|
|
void func_84323BCC(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
if (func_8431F7B0(D_84390200) == 0) {
|
|
func_8431F500(D_84390200, arg0, 0);
|
|
func_8431AE5C();
|
|
func_8431FF28();
|
|
func_84305760(D_84390204, 0xE);
|
|
func_843065C4(D_84390200);
|
|
func_84370ADC(D_84390200);
|
|
func_843184E4(1);
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
func_8431C8E0(arg0, D_84390200);
|
|
if ((func_84303D50(D_84390200) != 0) || (func_8431ADAC(0x5A) != 0)) {
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
func_84323B50(arg0, &D_84390220, &D_84390224);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84323CE4(unk_D_86002F34_00C* arg0) {
|
|
s32 sp1C;
|
|
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
if (func_8431F7B0(D_84390200) == 0) {
|
|
func_84370ADC(D_84390200);
|
|
func_8431F500(D_84390200, arg0, 0);
|
|
func_8431AE5C();
|
|
func_8431FF28();
|
|
func_84305760(D_84390204, 0xB);
|
|
func_843065C4(D_84390200);
|
|
func_843184E4(1);
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
func_8431C8E0(arg0, D_84390200);
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
sp1C = func_84305458(D_84390204);
|
|
if ((sp1C == 2) && ((func_84303D50(D_84390200) != 0) || (func_8431ADAC(0x64) != 0))) {
|
|
func_84323B50(arg0, &D_84390220, &D_84390224);
|
|
} else if (sp1C == 1) {
|
|
func_84323B50(arg0, &D_84390220, &D_84390224);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84323E44(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp34 = &D_84390204->unk_654.unk_38;
|
|
UNUSED s32 pad;
|
|
UNUSED s16 pad2;
|
|
s16 sp2C;
|
|
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
if (func_8431F7B0(D_84390200) == 0) {
|
|
func_84370ADC(D_84390200);
|
|
func_8431F500(D_84390200, arg0, 0);
|
|
func_8431AE5C();
|
|
func_8431FF28();
|
|
func_843065C4(D_84390200);
|
|
func_843184E4(1);
|
|
sp2C = func_84307FAC(D_84390200);
|
|
func_8432C604(sp34->unk_5A, D_84390204, D_84390200, sp2C, func_84307FE0(D_84390200));
|
|
func_84308654(D_84390200, 0x10, 0);
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
func_8431C8E0(arg0, D_84390200);
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
if ((func_84303D50(D_84390200) != 0) || (func_8431ADAC(0x5A) != 0)) {
|
|
func_84323B50(arg0, &D_84390220, &D_84390224);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84323FA0(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp24 = &D_84390200->unk_654.unk_38;
|
|
UNUSED s32 pad;
|
|
s32 sp1C;
|
|
s32 temp_v0;
|
|
s32 var_a0;
|
|
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
if (func_8431F7B0(D_84390200) == 0) {
|
|
func_84323AFC(D_84390204);
|
|
func_843184E4(1);
|
|
func_8431AE5C();
|
|
func_8431FF28();
|
|
func_8431B078(D_84390200);
|
|
if (D_84390240.unk_00->unk_1A == 3) {
|
|
func_84305760(D_84390204, 0xB);
|
|
} else {
|
|
func_84305760(D_84390204, 4);
|
|
}
|
|
func_8431F500(D_84390200, arg0, 0);
|
|
func_84370ADC(D_84390200);
|
|
func_843065C4(D_84390200);
|
|
func_8432B1BC(D_84390200);
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
if (func_8431ADAC(5) != 0) {
|
|
func_843223FC(D_84390204);
|
|
D_84390240.unk_00->unk_3C++;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_8431F680();
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
if (sp24->unk_0C != 0) {
|
|
if (func_84303D50(D_84390200) != 0) {
|
|
D_84390240.unk_00->unk_3C = 4;
|
|
} else if (func_8430602C(D_84390200, 2) != 0) {
|
|
D_84390240.unk_00->unk_3C = 5;
|
|
} else if (func_8431C8E0(arg0, D_84390200) != 0) {
|
|
D_84390240.unk_00->unk_3C = 3;
|
|
}
|
|
} else if (func_8431C8E0(arg0, D_84390200) != 0) {
|
|
D_84390240.unk_00->unk_3C = 4;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
func_8431C8E0(arg0, D_84390200);
|
|
if (func_84303D50(D_84390200) != 0) {
|
|
D_84390240.unk_00->unk_3C++;
|
|
} else if (func_8430602C(D_84390200, 0xF) != 0) {
|
|
D_84390240.unk_00->unk_3C++;
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
temp_v0 = func_8431C8E0(arg0, D_84390200);
|
|
if ((D_84390220 == 1) && (D_84390224 == 1) && (temp_v0 != 0) && (func_8431ADAC(0xF) != 0)) {
|
|
D_84390240.unk_00->unk_3C = 6;
|
|
}
|
|
break;
|
|
|
|
case 5:
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
sp1C = func_8431C8E0(arg0, D_84390200);
|
|
if ((func_84323B2C(D_84390204) != 0) && ((D_843C4DEC < 0xA) || (D_843C4DA4 != 0)) &&
|
|
!(sp24->unk_15 & 0x20)) {
|
|
var_a0 = 0x5A;
|
|
} else {
|
|
var_a0 = 0xF;
|
|
}
|
|
|
|
if ((D_84390220 == 1) && (D_84390224 == 1) && (sp1C != 0) && (func_8431ADAC(var_a0) != 0)) {
|
|
D_84390240.unk_00->unk_3C++;
|
|
}
|
|
break;
|
|
|
|
case 6:
|
|
if (func_8431F888(D_84390200) == 0) {
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
func_8431C8E0(arg0, D_84390200);
|
|
func_84323B50(arg0, &D_84390220, &D_84390224);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84324404(void) {
|
|
}
|
|
|
|
void func_8432440C(void) {
|
|
}
|
|
|
|
void func_84324414(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp24 = &D_84390204->unk_654.unk_38;
|
|
unk_D_8438E7B0_A50* temp_v1 = &D_84384570[func_84307F00(D_84390200)]->unk_000[sp24->unk_5A - 1];
|
|
volatile s32 sp1C;
|
|
s32 temp_v0_2;
|
|
|
|
if (D_84390200->unk_000.unk_01A == 0x98) {
|
|
sp1C = 0xF;
|
|
} else if (temp_v1->unk_0A == 0xFF) {
|
|
sp1C = D_84390204->unk_000.unk_040.unk_04->unk_0A - temp_v1->unk_06;
|
|
} else {
|
|
sp1C = temp_v1->unk_0A - temp_v1->unk_06;
|
|
}
|
|
|
|
switch (D_84390240.unk_00->unk_3C) {
|
|
case 0:
|
|
if (func_8431F7B0(D_84390200) == 0) {
|
|
func_8431F680();
|
|
func_8431B078(D_84390200);
|
|
func_84305760(D_84390204, 4);
|
|
D_84390230--;
|
|
func_8431F500(D_84390200, arg0, D_84390230 + 1);
|
|
if (D_84390230 < 0) {
|
|
func_8431F500(D_84390200, arg0, D_84390230 + 1);
|
|
func_8431C8E0(arg0, D_84390200);
|
|
func_84370ADC(D_84390200);
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_3C = 2;
|
|
func_843065C4(D_84390200);
|
|
func_843184E4(1);
|
|
} else {
|
|
D_84390240.unk_00->unk_3C++;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
func_8431C71C(arg0, D_84390200);
|
|
if (func_8431ADAC(sp1C) != 0) {
|
|
func_80048014();
|
|
func_8432E9D8(1);
|
|
D_84390240.unk_00->unk_3C = 0;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
|
|
if (sp24->unk_0C != 0) {
|
|
if (func_84303D50(D_84390200) != 0) {
|
|
D_84390240.unk_00->unk_3C = 5;
|
|
}
|
|
|
|
if (func_8430602C(D_84390200, 0xF) != 0) {
|
|
D_84390240.unk_00->unk_3C = 5;
|
|
}
|
|
|
|
if (func_8431C8E0(arg0, D_84390200) != 0) {
|
|
D_84390240.unk_00->unk_3C = 4;
|
|
}
|
|
} else if (func_8431C8E0(arg0, D_84390200) != 0) {
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_3C = 5;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
|
|
if (func_84303D50(D_84390200) != 0) {
|
|
D_84390240.unk_00->unk_3C = 5;
|
|
}
|
|
|
|
if (func_8431C8E0(arg0, D_84390200) != 0) {
|
|
D_84390240.unk_00->unk_3C = 9;
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
|
|
if (func_84303D50(D_84390200) != 0) {
|
|
D_84390240.unk_00->unk_3C = 5;
|
|
}
|
|
|
|
func_8431C8E0(arg0, D_84390200);
|
|
|
|
if (func_8430602C(D_84390200, 0xF) != 0) {
|
|
D_84390240.unk_00->unk_3C++;
|
|
}
|
|
break;
|
|
|
|
case 5:
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
temp_v0_2 = func_8431C8E0(arg0, D_84390200);
|
|
if ((D_84390220 == 1) && (D_84390224 == 1) && (temp_v0_2 != 0) && (func_8431ADAC(0xF) != 0)) {
|
|
D_84390240.unk_00->unk_3C++;
|
|
}
|
|
break;
|
|
|
|
case 6:
|
|
if (func_8431F888(D_84390200) == 0) {
|
|
D_84390220 = func_8431FCCC(D_84390200);
|
|
D_84390224 = func_8431FCCC(D_84390204);
|
|
func_8431C8E0(arg0, D_84390200);
|
|
func_84323B50(arg0, &D_84390220, &D_84390224);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_843248B8(unk_D_86002F34_00C* arg0) {
|
|
func_8431FF70(arg0);
|
|
func_84370ADC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if (D_84390240.unk_00->unk_48 == 0x16) {
|
|
func_84323BCC(arg0);
|
|
} else if (D_84390240.unk_00->unk_48 == 0x20) {
|
|
func_84323E44(arg0);
|
|
} else if (D_84390240.unk_00->unk_48 == 0x1A) {
|
|
func_84323CE4(arg0);
|
|
} else if (D_84390240.unk_00->unk_1A == 1) {
|
|
func_84324414(arg0);
|
|
} else {
|
|
func_84323FA0(arg0);
|
|
}
|
|
}
|
|
|
|
void func_84324988(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_84322B04(arg0);
|
|
break;
|
|
|
|
case 1:
|
|
func_843239EC(arg0);
|
|
break;
|
|
|
|
case 2:
|
|
func_843248B8(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_843249F8(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_84322B04(arg0);
|
|
break;
|
|
|
|
case 1:
|
|
func_843239EC(arg0);
|
|
break;
|
|
|
|
case 2:
|
|
func_843248B8(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
s32 func_84324A68(void) {
|
|
func_843233E0(D_84390240.unk_00->unk_DC, 0);
|
|
|
|
if (func_8431ADAC(func_843200B4(D_84390204)) == 0) {
|
|
return 0;
|
|
}
|
|
|
|
if ((D_84390240.unk_00->unk_48 != 0x1E) && (D_84390240.unk_00->unk_48 != 0x27)) {
|
|
func_843184E4(3);
|
|
}
|
|
|
|
if (D_84390240.unk_00->unk_48 == 0x1B) {
|
|
func_800414B8(func_84308D98(D_84390204));
|
|
}
|
|
|
|
switch (D_84390240.unk_00->unk_48) {
|
|
case 7:
|
|
return func_84320658(7);
|
|
|
|
case 21:
|
|
return func_84320658(7);
|
|
|
|
case 39:
|
|
return func_84320658(7);
|
|
|
|
case 27:
|
|
return func_84320658(0x1B);
|
|
|
|
case 30:
|
|
return func_84320658(0x1E);
|
|
|
|
case 28:
|
|
return func_84320658(0x1C);
|
|
|
|
case 15:
|
|
return func_84320658(0xF);
|
|
|
|
case 25:
|
|
return func_84320658(0x19);
|
|
|
|
case 29:
|
|
return func_84320658(0x1D);
|
|
|
|
case 38:
|
|
return func_84320658(0x26);
|
|
|
|
case 12:
|
|
return func_84320658(0xC);
|
|
|
|
case 13:
|
|
return func_84320658(0xD);
|
|
|
|
case 14:
|
|
return func_84320658(0xE);
|
|
|
|
case 17:
|
|
return func_84320658(0x11);
|
|
|
|
case 31:
|
|
return func_84320658(0x1F);
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
void func_84324C28(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp1C = &D_84390204->unk_654.unk_38;
|
|
unk_D_8438E7B0_A50* sp18 = &D_84384570[func_84307F00(D_84390204)]->unk_000[sp1C->unk_5A - 1];
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431FF5C(arg0);
|
|
func_843230D8(arg0, 0);
|
|
func_8431AE5C();
|
|
func_8431AE6C();
|
|
if (sp18->unk_04 < 0x15) {
|
|
func_84370ADC(D_84390204);
|
|
}
|
|
D_84390240.unk_00->unk_20++;
|
|
break;
|
|
|
|
case 1:
|
|
func_843233E0(arg0, 1);
|
|
if (D_84390204->unk_4C4 == (sp18->unk_04 + 1)) {
|
|
func_84370ADC(D_84390204);
|
|
}
|
|
|
|
if (D_84390204->unk_4C4 >= (sp18->unk_04 + 0xA)) {
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
}
|
|
|
|
if ((D_84390204->unk_4C4 == (sp18->unk_04 + 0x12)) && (sp1C->unk_5A == 0x64)) {
|
|
func_843184E4(0xF);
|
|
}
|
|
|
|
if (func_84305CAC(D_84390204, 0x3C) != 0) {
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20++;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if (D_84390204->unk_4C4 == (sp18->unk_04 + 1)) {
|
|
func_84370ADC(D_84390204);
|
|
}
|
|
func_843233E0(arg0, 1);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390220 == 1) && (D_84390224 == 1) && (func_8431ADAC(0xF) != 0)) {
|
|
if ((D_84390200->unk_654.unk_38.unk_5A & 0xF0) == 0xF0) {
|
|
D_84390240.unk_00->unk_34 = 3;
|
|
}
|
|
func_8431AE5C();
|
|
func_8431F680();
|
|
func_84320E54(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84324F1C(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431FF5C(arg0);
|
|
func_8431DF98(arg0, D_84390204);
|
|
func_8431B858(D_84390204, arg0);
|
|
func_84370ADC(D_84390204);
|
|
func_8431AE5C();
|
|
func_8431AE6C();
|
|
D_84390240.unk_00->unk_20++;
|
|
break;
|
|
|
|
case 1:
|
|
if (func_84305CAC(D_84390204, 0x3C) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390200->unk_654.unk_38.unk_5A & 0xF0) == 0xF0) {
|
|
D_84390240.unk_00->unk_34 = 3;
|
|
}
|
|
func_8431AE5C();
|
|
func_8431F680();
|
|
func_84320E54(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84325080(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431FF5C(arg0);
|
|
func_84370ADC(D_84390204);
|
|
func_843230D8(arg0, 0);
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20++;
|
|
break;
|
|
|
|
case 1:
|
|
func_843233E0(arg0, 1);
|
|
if (func_8431ADAC(0x28) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_843233E0(arg0, 1);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390200->unk_654.unk_38.unk_5A & 0xF0) == 0xF0) {
|
|
D_84390240.unk_00->unk_34 = 3;
|
|
}
|
|
func_8431AE5C();
|
|
func_8431F680();
|
|
func_84320E54(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_843251D4(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp1C = &D_84390200->unk_654.unk_38;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_84306200(D_84390204, 0x1800);
|
|
func_8431FF5C(arg0);
|
|
func_8431AE5C();
|
|
func_843230D8(arg0, 0);
|
|
func_84370ADC(D_84390204);
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20++;
|
|
break;
|
|
|
|
case 1:
|
|
func_843233E0(arg0, 1);
|
|
if (func_84305CAC(D_84390204, 0x3C) != 0) {
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20++;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if (func_8431F7B0(D_84390200) == 0) {
|
|
func_8432E9D8(1);
|
|
func_80048014();
|
|
func_8431F500(D_84390200, arg0, func_8430C414(2));
|
|
func_84305760(D_84390204, 4);
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20++;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
if (func_8431F888(D_84390200) == 0) {
|
|
func_8431C71C(arg0, D_84390200);
|
|
if (D_84390240.unk_00->unk_14 == 0) {
|
|
func_843184E4(1);
|
|
}
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if (func_8431ADAC(0x32) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
if (func_84303D50(D_84390200) != 0) {
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20++;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
func_8431C71C(arg0, D_84390200);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390224 == 1) && (D_84390220 == 1)) {
|
|
if (sp1C->unk_0C != 0) {
|
|
func_8432E9D8(1);
|
|
func_80048014();
|
|
func_8431F420(D_84390204, arg0, 3);
|
|
D_84390240.unk_00->unk_20++;
|
|
} else {
|
|
if ((D_84390200->unk_654.unk_38.unk_5A & 0xF0) == 0xF0) {
|
|
D_84390240.unk_00->unk_34 = 3;
|
|
}
|
|
func_8431AE5C();
|
|
func_8431F680();
|
|
func_8431FF3C(arg0, 5);
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 5:
|
|
func_8431F420(D_84390204, arg0, 3);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390200->unk_654.unk_38.unk_5A & 0xF0) == 0xF0) {
|
|
D_84390240.unk_00->unk_34 = 3;
|
|
}
|
|
func_8431AE5C();
|
|
func_8431F680();
|
|
func_84320C38(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_843255DC(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431FF5C(arg0);
|
|
func_84370ADC(D_84390204);
|
|
func_8431F420(D_84390204, arg0, 3);
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
if (func_8431ADAC(0x28) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390200->unk_654.unk_38.unk_5A & 0xF0) == 0xF0) {
|
|
D_84390240.unk_00->unk_34 = 3;
|
|
}
|
|
func_8431AE5C();
|
|
func_8431F680();
|
|
func_84320E54(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84325724(unk_D_86002F34_00C* arg0) {
|
|
UNUSED s32 pad[3];
|
|
unk_D_800FCB18* sp30 = &D_84390204->unk_654.unk_38;
|
|
unk_D_800FCB18* sp2C = &D_84390200->unk_654.unk_38;
|
|
unk_D_84390010_654* sp28 = &D_84390204->unk_654;
|
|
unk_D_84390010_654* sp24 = &D_84390200->unk_654;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_843230D8(arg0, 0);
|
|
func_8431CCFC(arg0, D_84390204);
|
|
if (sp30->unk_4D & 0x10) {
|
|
if (sp2C->unk_4E & 8) {
|
|
sp28->unk_BC = D_84390204->unk_720->unk_02 = sp24->unk_BE;
|
|
} else if (D_84390200->unk_720->unk_02 == 0x98) {
|
|
sp28->unk_BC = D_84390204->unk_720->unk_02 = sp2C->unk_0B;
|
|
} else {
|
|
sp28->unk_BC = D_84390204->unk_720->unk_02 = D_84390200->unk_720->unk_02;
|
|
}
|
|
} else if (sp2C->unk_4E & 8) {
|
|
D_84390204->unk_720->unk_02 = sp24->unk_BE;
|
|
} else if (D_84390200->unk_720->unk_02 == 0x98) {
|
|
D_84390204->unk_720->unk_02 = sp2C->unk_0B;
|
|
} else {
|
|
D_84390204->unk_720->unk_02 = D_84390200->unk_720->unk_02;
|
|
}
|
|
D_84390204->unk_720->unk_04 = &D_84390204->unk_724->unk_01C[D_84390204->unk_654.unk_08];
|
|
D_84390204->unk_720->unk_00 |= 0x80;
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
func_8431CCFC(arg0, D_84390204);
|
|
if (D_84390204->unk_720->unk_00 & 0x10) {
|
|
D_84390204->unk_720->unk_00 &= ~0x90;
|
|
func_84309168(D_84390204);
|
|
func_84307748(D_84390204);
|
|
func_84301B84(D_84390204, sp30->unk_5A);
|
|
func_8432B5B8(D_84390204, sp30, 0);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_8431CCFC(arg0, D_84390204);
|
|
func_8432B5B8(D_84390204, sp30, 0);
|
|
func_84305760(D_84390204, 0x12);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 3:
|
|
func_8431CCFC(arg0, D_84390204);
|
|
D_84390204->unk_728.unk_168->unk_00.unk_01 |= 1;
|
|
D_84390204->unk_728.unk_000.unk_000.unk_01 |= 1;
|
|
func_843074A0(D_84390204);
|
|
if (func_84305B6C(D_84390204, 0x32) != 0) {
|
|
func_8431F680();
|
|
func_84320CEC(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84325A10(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp1C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
unk_D_84390010_654* sp18 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431FF5C(arg0);
|
|
func_84301B84(D_84390204, sp1C->unk_5A);
|
|
func_843230D8(arg0, 0);
|
|
if (!(sp18->unk_34 & 0x800)) {
|
|
func_84302128(D_84390204);
|
|
}
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
func_843233E0(arg0, 0);
|
|
if (!(sp18->unk_34 & 0x800)) {
|
|
func_84304800(D_84390204);
|
|
}
|
|
if (func_84301FF0(D_84390204) == 0) {
|
|
func_8432B5B8(D_84390204, sp1C, 0);
|
|
func_8431F420(D_84390204, arg0, 3);
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_8431F420(D_84390204, arg0, 3);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if (func_8431ADAC(0x2E) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
if (!(sp18->unk_34 & 0x800)) {
|
|
func_843061EC(D_84390204, 0x800);
|
|
}
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390200->unk_654.unk_38.unk_5A & 0xF0) == 0xF0) {
|
|
D_84390240.unk_00->unk_34 = 3;
|
|
}
|
|
func_8431F680();
|
|
func_84320E54(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
s32 func_84325CAC(unk_D_84390010* arg0) {
|
|
func_8432B0E4(arg0);
|
|
func_8432B38C(arg0);
|
|
func_84370ADC(arg0);
|
|
}
|
|
|
|
void func_84325CDC(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431FF5C(arg0);
|
|
func_84370ADC(D_84390204);
|
|
func_843230D8(arg0, 0);
|
|
func_8431AE5C();
|
|
func_8431AE6C();
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
func_843233E0(arg0, 1);
|
|
if (func_84305CAC(D_84390204, 0x3C) != 0) {
|
|
func_84325CAC(D_84390200);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_843233E0(arg0, 1);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390200->unk_654.unk_38.unk_5A & 0xF0) == 0xF0) {
|
|
D_84390240.unk_00->unk_34 = 3;
|
|
}
|
|
func_8000E88C(&D_84390204->unk_000.unk_030, 1.0f, 1.0f, 1.0f);
|
|
func_8000E88C(&D_84390200->unk_000.unk_030, 1.0f, 1.0f, 1.0f);
|
|
func_8431AE5C();
|
|
func_8431F680();
|
|
func_84320E54(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84325E94(unk_D_86002F34_00C* arg0) {
|
|
unk_D_8438E7B0_A50* sp4C = &D_84384570[D_84390240.unk_00->unk_2C]->unk_B00;
|
|
UNUSED s32 pad;
|
|
Vec3f sp3C;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431AE5C();
|
|
func_8431FF18();
|
|
func_8431F420(D_84390204, arg0, 3);
|
|
func_8431CB54(arg0, D_84390204);
|
|
func_843061EC(D_84390204, 0x200);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
if (D_84390204->unk_000.unk_024.y >= 100.0f) {
|
|
func_843081F0(D_84390204, &sp3C);
|
|
sp3C.y += func_84308548(D_84390204);
|
|
D_84390208 = func_8431AD20(D_84390204, 3.0f, 500.0f);
|
|
func_8431BB80(arg0, sp3C, 0x11C6, func_84308190(D_84390204) - (D_84390204->unk_4B0 * 0x754E),
|
|
D_84390208, func_84308548(D_84390204));
|
|
func_8000E88C(&sp3C, 0.0f, 200.0f, 0.0f);
|
|
func_8430C1E4(&arg0->unk_60.at, &sp3C);
|
|
func_8432E9D8(2);
|
|
func_8001BD04(&D_84390204->unk_000, sp4C->unk_00);
|
|
arg0->unk_24.fovy = 60.0f;
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
} else {
|
|
func_8431CB54(arg0, D_84390204);
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_8430C718(&arg0->unk_24.fovy, 60.0f, 0.2f);
|
|
if (D_84390204->unk_000.unk_024.y >= 200.0f) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390220 == 1) && (D_84390224 == 1) && (func_8431ADF0(0x1E) != 0)) {
|
|
func_843061EC(D_84390010[D_84390240.unk_00->unk_2C], 4);
|
|
func_8432F9B4();
|
|
func_8431AE5C();
|
|
func_8431F680();
|
|
func_84320CEC(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_843261CC(unk_D_86002F34_00C* arg0) {
|
|
UNUSED s32 pad;
|
|
f32 sp28;
|
|
UNUSED s16 pad2;
|
|
u16 sp24 = D_84385B8C;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431FF5C(arg0);
|
|
func_8431AE5C();
|
|
func_8431FF18();
|
|
func_8431F420(D_84390204, arg0, 3);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
if (D_84390204->unk_4B8 == 2) {
|
|
func_8431CC38(arg0, D_84390204);
|
|
D_84390204->unk_000.unk_000.unk_02 &= 0xFFBF;
|
|
}
|
|
|
|
if ((D_84390204->unk_000.unk_01A == 0x32) || (D_84390204->unk_000.unk_01A == 0x33)) {
|
|
if (func_84305B6C(D_84390204, 0x1E) != 0) {
|
|
func_843184FC();
|
|
func_843061EC(D_84390204, 0x4000);
|
|
D_84390204->unk_000.unk_000.unk_02 &= 0xFFDF;
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
} else if (func_84301FB0(D_84390204) == 0) {
|
|
if (func_84307AE0(D_84390204->unk_000.unk_01A, (u8*)&sp24, 2) != 0) {
|
|
sp28 = 10.0f;
|
|
} else {
|
|
sp28 = 3.5f;
|
|
}
|
|
|
|
if (D_84390204->unk_000.unk_024.y <= (-func_84308548(D_84390204) * sp28)) {
|
|
func_843061EC(D_84390204, 0x4000);
|
|
D_84390204->unk_000.unk_000.unk_02 &= 0xFFDF;
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if ((D_84390204->unk_000.unk_01A != 0x32) && (D_84390204->unk_000.unk_01A != 0x33)) {
|
|
D_84390204->unk_000.unk_000.unk_02 |= 0x40;
|
|
}
|
|
func_8431CC38(arg0, D_84390204);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
func_8431F680();
|
|
func_84320E54(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84326460(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_843230D8(arg0, 1);
|
|
func_8431FF5C(arg0);
|
|
func_8431AE5C();
|
|
func_8431AE6C();
|
|
func_84370ADC(D_84390204);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
func_843233E0(arg0, 1);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if (func_84305E54(D_84390204, 0x1E) != 0) {
|
|
func_8431F680();
|
|
func_84320E54(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84326570(unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010_654* sp1C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431AE5C();
|
|
func_8431FF5C(arg0);
|
|
func_84370ADC(D_84390204);
|
|
if (!(sp1C->unk_34 & 2)) {
|
|
func_843230D8(arg0, 0);
|
|
}
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if (func_8431ADAC(0x3C) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
func_8431F680();
|
|
func_84320E54(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_843266D4(unk_D_86002F34_00C* arg0) {
|
|
func_8431FF70(arg0);
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
if (func_8431F7B0(D_84390204) == 0) {
|
|
func_843184E4(2);
|
|
func_843223FC(D_84390204);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
func_8431F680();
|
|
func_84301B00();
|
|
func_84305760(D_84390204, 0xF);
|
|
func_8431F500(D_84390204, arg0, 3);
|
|
func_8431B078(D_84390204);
|
|
func_8432C7A0(8, D_84390204);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 2:
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
func_8431C8E0(arg0, D_84390204);
|
|
if (func_84303DEC(D_84390204) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
} else if (func_84305B6C(D_84390204, 0x32) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
func_8431C8E0(arg0, D_84390204);
|
|
if (func_8431F888(D_84390204) == 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
func_8431C8E0(arg0, D_84390204);
|
|
func_8431F680();
|
|
func_84320CEC(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_8432691C(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431FF5C(arg0);
|
|
func_84370ADC(D_84390204);
|
|
D_84390204->unk_4C8 = 1;
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if (func_8431ADAC(0x3C) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
func_8431F680();
|
|
func_84320E54(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84326A70(void) {
|
|
}
|
|
|
|
void func_84326A78(UNUSED unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8432056C();
|
|
|
|
case 1:
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84326AC4(unk_D_86002F34_00C* arg0) {
|
|
UNUSED s32 pad;
|
|
s32 idx = D_84390240.unk_00->unk_2C;
|
|
unk_D_8438E7B0_A50* sp1C = &D_84384570[idx]->unk_A80;
|
|
|
|
func_8431FF70(arg0);
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_8431F680();
|
|
func_843184E4(2);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
if (func_8431F7B0(D_84390204) == 0) {
|
|
func_843087F8(D_84390204);
|
|
func_8432E9D8(1);
|
|
func_84305760(D_84390204, 0xF);
|
|
func_8431F500(D_84390204, arg0, 3);
|
|
func_8431B078(D_84390204);
|
|
func_8431F680();
|
|
func_8001BD04(&D_84390204->unk_000, sp1C->unk_00);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if (func_8431ADAC(0x28) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
if (func_8431F888(D_84390204) == 0) {
|
|
func_843184FC();
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390220 != 0) && (D_84390224 != 0)) {
|
|
func_8431F680();
|
|
func_84320CEC(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84326CB4(unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010_654* sp1C = &D_84390200->unk_654;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
if (func_8431F7B0(D_84390200) == 0) {
|
|
func_843184E4(2);
|
|
func_84323AFC(D_84390204);
|
|
func_8431FF70(arg0);
|
|
func_8432E9D8(1);
|
|
|
|
if (sp1C->unk_34 & 0x200) {
|
|
func_8431F500(D_84390200, arg0, D_84390228 = 2);
|
|
} else {
|
|
if (D_84390200->unk_000.unk_01A == 0xF) {
|
|
func_8431F500(D_84390200, arg0, 0);
|
|
}
|
|
func_8431F500(D_84390200, arg0, D_84390228 = func_8430C414(2));
|
|
}
|
|
|
|
func_84305760(D_84390204, 0xC);
|
|
func_8431AE5C();
|
|
func_8432E8BC();
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
func_8430663C(D_84390200);
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
if ((D_84390200->unk_000.unk_01A == 0xF) && !(sp1C->unk_34 & 0x200)) {
|
|
func_8431C8E0(arg0, D_84390200);
|
|
}
|
|
|
|
if (func_8431ADAC(0x32) != 0) {
|
|
func_843184FC();
|
|
func_843223FC(D_84390204);
|
|
func_843066E0(D_84390204);
|
|
func_8431FF18();
|
|
func_8431AE5C();
|
|
func_8431F680();
|
|
func_84320CEC(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84326E84(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp24 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
unk_D_800FCB18* sp20 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_843058A8(D_84390204);
|
|
func_8431F194(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_8431F680();
|
|
func_843066E0(D_84390204);
|
|
func_8432E9D8(2);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
if (func_8431F690(D_84390010[D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_843087F8(D_84390204);
|
|
func_80048014();
|
|
func_8432E9D8(1);
|
|
func_8431F194(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_84305760(D_84390010[D_84390240.unk_00->unk_2C], 0xD);
|
|
|
|
if (sp24->unk_15 & 0x18) {
|
|
func_843184E4(4);
|
|
sp24->unk_0C = sp24->unk_0E;
|
|
sp20->unk_0C = sp20->unk_0E;
|
|
if (sp24->unk_15 & 0x10) {
|
|
func_8432C7A0(6, D_84390204);
|
|
} else {
|
|
func_8432C7A0(5, D_84390204);
|
|
}
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
} else {
|
|
func_843184E4(5);
|
|
func_800367A0(0x22, 0, 0);
|
|
sp24->unk_0C = sp24->unk_10;
|
|
sp20->unk_0C = sp20->unk_10;
|
|
func_8432C7A0(0xA, D_84390204);
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20 = 3;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_8431F194(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
|
|
if ((D_84390220 == 1) && (D_84390224 == 1) && (func_8431ADF0(0x32) != 0)) {
|
|
func_8431AE5C();
|
|
if (func_84308164(D_84390010[D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_8431FF18();
|
|
func_8431FF3C(arg0, 5);
|
|
D_84390240.unk_00->unk_2C = !D_84390240.unk_00->unk_2C;
|
|
} else if (sp24->unk_4D & 0x80) {
|
|
func_8431AE5C();
|
|
func_800367A0(0x22, 0, 0);
|
|
sp24->unk_0C = sp24->unk_10;
|
|
sp20->unk_0C = sp20->unk_10;
|
|
func_8432C7A0(0xA, D_84390204);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
} else {
|
|
D_84390240.unk_00->unk_20 = 4;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
func_8431F194(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
|
|
if ((func_8431ADF0(0x32) != 0) && (D_84390220 == 1) && (D_84390224 == 1)) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
func_8431AE5C();
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
if (func_8431F888(D_84390200) == 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 5:
|
|
func_8431F680();
|
|
func_8431F194(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
func_84320C38(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_8432734C(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp1C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
unk_D_800FCB18* sp18 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_843066E0(D_84390204);
|
|
func_8432E9D8(2);
|
|
func_8431E118(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
if (func_8431F690(D_84390010[D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_843087F8(D_84390204);
|
|
func_80048014();
|
|
func_8432E9D8(1);
|
|
func_8432C7A0(9, D_84390204);
|
|
func_8431AE5C();
|
|
func_8431E118(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
sp1C->unk_0C = sp1C->unk_12;
|
|
sp18->unk_0C = sp18->unk_12;
|
|
func_843184E4(6);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if (func_8431D048(arg0, D_84390010[D_84390240.unk_00->unk_2C]) != 0) {
|
|
func_8431F500(D_84390204, arg0, 3);
|
|
func_84303E58(D_84390204);
|
|
func_8432BF88(D_84390204, 0x1F);
|
|
func_8431B078(D_84390204);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
if (func_8431F888(D_84390200) == 0) {
|
|
func_8431C8E0(arg0, D_84390204);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
func_8431F680();
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
func_8431C8E0(arg0, D_84390204);
|
|
if ((D_84390220 == 1) && (D_84390224 == 1) && (func_8431ADF0(0x3C) != 0)) {
|
|
func_84320CEC(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_843275F8(unk_D_86002F34_00C* arg0) {
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_843066E0(D_84390204);
|
|
if (func_8431F690(D_84390010[D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_843087F8(D_84390204);
|
|
func_80048014();
|
|
func_8432E9D8(1);
|
|
func_8431AE5C();
|
|
func_8432C6C4(3, D_84390200);
|
|
func_800367A0(0x23, 0, 0);
|
|
func_8431F194(arg0, D_84390200);
|
|
func_843184E4(7);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
if (func_8431ADAC(0x37) != 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
|
|
case 2:
|
|
if (func_8431ADAC(0x3C) != 0) {
|
|
func_84320CEC(arg0);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84327720(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp24 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
unk_D_800FCB18* sp20 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_843066E0(D_84390204);
|
|
func_8432E9D8(2);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
if (func_8431F690(D_84390010[D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_843087F8(D_84390204);
|
|
func_80048014();
|
|
func_8432E9D8(1);
|
|
func_8431F194(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_84305760(D_84390010[D_84390240.unk_00->unk_2C], 0xD);
|
|
|
|
if (sp24->unk_15 & 0x18) {
|
|
func_843184E4(4);
|
|
sp24->unk_0C = sp24->unk_0E;
|
|
sp20->unk_0C = sp20->unk_0E;
|
|
if (sp24->unk_15 & 0x10) {
|
|
func_8432C7A0(6, D_84390204);
|
|
} else {
|
|
func_8432C7A0(5, D_84390204);
|
|
}
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
} else {
|
|
func_843184E4(5);
|
|
sp24->unk_0C = sp24->unk_10;
|
|
sp20->unk_0C = sp20->unk_10;
|
|
func_8432C7A0(0xA, D_84390204);
|
|
D_84390240.unk_00->unk_20 = 3;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
func_8431F194(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((D_84390220 == 1) && (D_84390224 == 1) && (func_8431ADF0(0x32) != 0)) {
|
|
func_8431AE5C();
|
|
if (func_84308164(D_84390010[D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_8431FF18();
|
|
func_8431FF3C(arg0, 5);
|
|
D_84390240.unk_00->unk_2C = !D_84390240.unk_00->unk_2C;
|
|
} else if (sp24->unk_4D & 0x80) {
|
|
func_800367A0(0x22, 0, 0);
|
|
sp24->unk_0C = sp24->unk_10;
|
|
sp20->unk_0C = sp20->unk_10;
|
|
func_8432C7A0(0xA, D_84390204);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
} else {
|
|
D_84390240.unk_00->unk_20 = 4;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
func_8431F194(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
if ((func_8431ADF0(0x32) != 0) && (D_84390220 == 1) && (D_84390224 == 1)) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
func_8431AE5C();
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
if (func_8431F888(D_84390200) == 0) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 5:
|
|
func_8431F680();
|
|
func_8431F194(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = func_8431FCCC(D_84390010[!D_84390240.unk_00->unk_2C]);
|
|
func_84320C38(arg0);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84327B90(unk_D_86002F34_00C* arg0) {
|
|
unk_D_800FCB18* sp1C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
unk_D_800FCB18* sp18 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
func_843066E0(D_84390204);
|
|
func_8432E9D8(2);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 1:
|
|
func_843087F8(D_84390204);
|
|
func_80048014();
|
|
func_8432E9D8(1);
|
|
func_8431EF54(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
func_84305760(D_84390010[D_84390240.unk_00->unk_2C], 0xD);
|
|
sp1C->unk_0C = sp1C->unk_0E;
|
|
sp18->unk_0C = sp18->unk_0E;
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 2:
|
|
func_8431EF54(arg0, D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390220 = func_8431FCCC(D_84390010[D_84390240.unk_00->unk_2C]);
|
|
D_84390224 = 1;
|
|
|
|
if ((D_84390220 == 1) && (D_84390224 == 1) && (func_8431ADF0(0x32) != 0)) {
|
|
func_8431AE5C();
|
|
if (func_84308164(D_84390010[D_84390240.unk_00->unk_2C]) == 0) {
|
|
func_8431FF18();
|
|
func_8431FF3C(arg0, 0x22);
|
|
D_84390240.unk_00->unk_2C = !D_84390240.unk_00->unk_2C;
|
|
} else {
|
|
func_843208B0();
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84327D98(unk_D_84390010* arg0) {
|
|
func_8432B0E4(arg0);
|
|
func_8432B448(arg0);
|
|
}
|
|
|
|
void func_84327DC0(unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010_654* sp34 = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
unk_D_84390010* temp_s0 = D_84390010[D_84390240.unk_00->unk_2C];
|
|
unk_D_800FCB18* sp2C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
|
|
if (D_84390240.unk_00->unk_2C) {}
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
if (D_84390240.unk_00->unk_34 == 1) {
|
|
func_8431FF70(arg0);
|
|
func_8431F420(temp_s0, arg0, 4);
|
|
func_8003F4C0(func_84308D98(temp_s0));
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
} else if (func_8431D118(arg0, temp_s0, 1, 1) != 0) {
|
|
func_843184E4(0xA);
|
|
func_8003F4C0(func_84308D98(temp_s0));
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
func_8431CFA4(arg0, temp_s0);
|
|
func_84305760(temp_s0, 2);
|
|
func_84327D98(temp_s0);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 2:
|
|
func_8431CFA4(arg0, temp_s0);
|
|
if (func_8431ADAC(0x69) != 0) {
|
|
func_8000E88C(&arg0->unk_60.at, temp_s0->unk_4B0 * -150.0f, 0.0, 0.0f);
|
|
if (D_84390240.unk_00 && D_84390240.unk_00) {}
|
|
func_8000E88C(&arg0->unk_60.eye, temp_s0->unk_4B0 * -50.0f, 5.0f, 0.0f);
|
|
func_84308654(temp_s0, 2, 0);
|
|
func_8432C68C(0xD, temp_s0, temp_s0, 0xFF, 0xFF);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
if (temp_s0->unk_4EC.unk_024.y == 2.5f) {
|
|
temp_s0->unk_4EC.unk_000.unk_02 |= 0x20;
|
|
}
|
|
|
|
if (func_800174E4(&temp_s0->unk_4EC) == 1) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 4:
|
|
temp_s0->unk_4EC.unk_000.unk_01 &= ~1;
|
|
temp_s0->unk_720->unk_04 = &temp_s0->unk_720->unk_08[sp34->unk_2C]->unk_01C[sp34->unk_18];
|
|
temp_s0->unk_720->unk_00 |= 0x80;
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 5:
|
|
if (temp_s0->unk_720->unk_00 & 0x10) {
|
|
temp_s0->unk_720->unk_00 &= ~0x90;
|
|
func_8430920C(temp_s0);
|
|
func_84307748(temp_s0);
|
|
D_843900A8[D_84390240.unk_00->unk_2C] = temp_s0->unk_654.unk_38.unk_0C;
|
|
func_8432C68C(3, temp_s0, temp_s0, 0xFF, 0xFF);
|
|
func_800367A0(2, 0, 0);
|
|
func_84308A04(temp_s0, sp34->unk_2C);
|
|
arg0->unk_24.fovy = 40.0f;
|
|
func_843184E4(0xC);
|
|
func_8432B588(temp_s0);
|
|
D_843C4DC4 = 0;
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 6:
|
|
func_84305760(temp_s0, 0x12);
|
|
func_8431F420(temp_s0, arg0, 3);
|
|
func_8431AE5C();
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 7:
|
|
func_8431C750(arg0, temp_s0);
|
|
if (func_84305BD8(temp_s0, 0x3C) != 0) {
|
|
func_80048014();
|
|
func_8432E9D8(2);
|
|
func_8431AE5C();
|
|
func_8000E88C(&temp_s0->unk_000.unk_030, 1.0f, 1.0f, 1.0f);
|
|
if (sp2C->unk_5A == 0xFE) {
|
|
sp2C->unk_5A = 0xA5;
|
|
}
|
|
func_843208B0();
|
|
sp34->unk_34 &= ~0x1800;
|
|
func_843184FC();
|
|
D_84390240.unk_00->unk_54 = !D_84390240.unk_00->unk_2C + 1;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84328250(unk_D_86002F34_00C* arg0) {
|
|
unk_D_84390010_654* sp3C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654;
|
|
unk_D_84390010_654* sp38 = &D_84390010[!D_84390240.unk_00->unk_2C]->unk_654;
|
|
UNUSED s32 pad;
|
|
unk_D_84390010* temp_s0 = D_84390010[D_84390240.unk_00->unk_2C];
|
|
unk_D_800FCB18* sp2C = &D_84390010[D_84390240.unk_00->unk_2C]->unk_654.unk_38;
|
|
|
|
switch (D_84390240.unk_00->unk_20) {
|
|
case 0:
|
|
if (D_84390240.unk_00->unk_34 == 1) {
|
|
func_8431FF70(arg0);
|
|
func_8431AE5C();
|
|
func_843184E4(0xB);
|
|
func_8432C9C0(temp_s0->unk_720, 3);
|
|
func_8000E88C(&arg0->unk_60.at, temp_s0->unk_4B0 * -150.0f, 0.0, 0.0f);
|
|
func_8000E88C(&arg0->unk_60.eye, temp_s0->unk_4B0 * -50.0f, 5.0f, 0.0f);
|
|
func_8000E88C(&temp_s0->unk_000.unk_024, temp_s0->unk_4B0 * -150.0f, 25.0f, 0.0f);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
} else {
|
|
func_8430C718(&arg0->unk_24.fovy, 30.0f, 0.05f);
|
|
if (func_8431DA38(arg0, temp_s0) != 0) {
|
|
func_8431FF70(arg0);
|
|
func_8431AE5C();
|
|
func_843184E4(0xB);
|
|
func_8432C9C0(temp_s0->unk_720, 3);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
}
|
|
break;
|
|
|
|
case 1:
|
|
if (func_84302000(temp_s0) != 0) {
|
|
temp_s0->unk_720->unk_02 = sp2C->unk_0B;
|
|
func_84308654(temp_s0, 2, 0);
|
|
func_8432C68C(0xD, temp_s0, temp_s0, 0xFF, 0xFF);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 2:
|
|
if (temp_s0->unk_4EC.unk_024.y == 2.5f) {
|
|
temp_s0->unk_4EC.unk_000.unk_02 |= 0x20;
|
|
}
|
|
|
|
if (func_800174E4(&temp_s0->unk_4EC) == 1) {
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 3:
|
|
temp_s0->unk_4EC.unk_000.unk_01 &= ~1;
|
|
temp_s0->unk_720->unk_00 |= 0x80;
|
|
temp_s0->unk_720->unk_04 = &temp_s0->unk_720->unk_08[sp3C->unk_2C]->unk_01C[sp3C->unk_18];
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 4:
|
|
if (temp_s0->unk_720->unk_00 & 0x10) {
|
|
temp_s0->unk_720->unk_00 &= ~0x90;
|
|
func_8430920C(temp_s0);
|
|
func_84307748(temp_s0);
|
|
D_843900A8[func_84307F00(temp_s0)] = temp_s0->unk_654.unk_38.unk_0C;
|
|
func_800367A0(2, 0, 0);
|
|
func_84308A04(temp_s0, sp3C->unk_2C);
|
|
func_8431AE5C();
|
|
func_8432C68C(3, temp_s0, temp_s0, 0xFF, 0xFF);
|
|
arg0->unk_24.fovy = 40.0f;
|
|
func_8432B588(temp_s0);
|
|
D_843C4DC4 = 0;
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
}
|
|
break;
|
|
|
|
case 5:
|
|
func_84305760(temp_s0, 0x12);
|
|
func_8431F420(temp_s0, arg0, 3);
|
|
D_84390240.unk_00->unk_20 += 1;
|
|
break;
|
|
|
|
case 6:
|
|
func_8431C750(arg0, temp_s0);
|
|
if (func_84305BD8(temp_s0, 0x3C) != 0) {
|
|
if ((sp2C->unk_5A & 0xF0) == 0xF0) {
|
|
sp2C->unk_5A = 0xA5;
|
|
}
|
|
func_80048014();
|
|
func_8432E9D8(2);
|
|
func_8431AE5C();
|
|
func_8000E88C(&temp_s0->unk_000.unk_030, 1.0f, 1.0f, 1.0f);
|
|
if (sp38->unk_2D != 0x10) {
|
|
D_84390240.unk_00->unk_34 = 3;
|
|
}
|
|
D_84390240.unk_00->unk_2E = 2;
|
|
func_843208B0();
|
|
sp3C->unk_34 &= 0xE7FF;
|
|
D_84390240.unk_00->unk_54 = !D_84390240.unk_00->unk_2C + 1;
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
|
|
void func_84328734(unk_D_86002F34_00C* arg0) {
|
|
func_8432113C();
|
|
|
|
switch (D_84390240.unk_00->unk_38) {
|
|
case 0:
|
|
func_84321184(arg0);
|
|
func_8431FF3C(arg0, 1);
|
|
|
|
case 1:
|
|
func_84322640(arg0);
|
|
break;
|
|
case 2:
|
|
func_84324988(arg0);
|
|
break;
|
|
case 3:
|
|
func_843249F8(arg0);
|
|
break;
|
|
case 4:
|
|
func_84326A78(arg0);
|
|
break;
|
|
case 7:
|
|
func_84324C28(arg0);
|
|
break;
|
|
case 38:
|
|
func_84324F1C(arg0);
|
|
break;
|
|
case 27:
|
|
func_84325080(arg0);
|
|
break;
|
|
case 30:
|
|
func_843251D4(arg0);
|
|
break;
|
|
case 29:
|
|
func_84325CDC(arg0);
|
|
break;
|
|
case 28:
|
|
func_843255DC(arg0);
|
|
break;
|
|
case 25:
|
|
func_84325A10(arg0);
|
|
break;
|
|
case 12:
|
|
func_84325E94(arg0);
|
|
break;
|
|
case 13:
|
|
func_843261CC(arg0);
|
|
break;
|
|
case 14:
|
|
func_84326460(arg0);
|
|
break;
|
|
case 15:
|
|
func_84325724(arg0);
|
|
break;
|
|
case 17:
|
|
func_84326570(arg0);
|
|
break;
|
|
case 31:
|
|
func_8432691C(arg0);
|
|
break;
|
|
case 20:
|
|
func_843266D4(arg0);
|
|
break;
|
|
case 8:
|
|
func_84326CB4(arg0);
|
|
break;
|
|
case 10:
|
|
func_843275F8(arg0);
|
|
break;
|
|
case 6:
|
|
func_84326E84(arg0);
|
|
break;
|
|
case 33:
|
|
func_84327B90(arg0);
|
|
break;
|
|
case 35:
|
|
func_84327720(arg0);
|
|
break;
|
|
case 9:
|
|
func_8432734C(arg0);
|
|
break;
|
|
case 16:
|
|
func_84326AC4(arg0);
|
|
break;
|
|
case 11:
|
|
func_84327DC0(arg0);
|
|
break;
|
|
case 18:
|
|
func_84328250(arg0);
|
|
break;
|
|
case 5:
|
|
func_843221A8(arg0);
|
|
break;
|
|
case 34:
|
|
func_84322350(arg0);
|
|
break;
|
|
case 36:
|
|
func_84320864();
|
|
break;
|
|
case 37:
|
|
func_84324A68();
|
|
break;
|
|
}
|
|
}
|