2639 lines
87 KiB
C
Executable file
2639 lines
87 KiB
C
Executable file
#include "REL/mgmodedll.h"
|
|
#include "game/audio.h"
|
|
#include "game/wipe.h"
|
|
|
|
#include "ext_math.h"
|
|
|
|
typedef struct {
|
|
/* 0x00 */ omObjData* unk00;
|
|
/* 0x04 */ void (*unk04)(omObjData*, ...);
|
|
/* 0x08 */ s32 unk08[4];
|
|
/* 0x18 */ char unk18[4];
|
|
/* 0x1C */ s32 unk1C[4];
|
|
/* 0x2C */ char unk2C[4];
|
|
/* 0x30 */ s32 unk30;
|
|
/* 0x34 */ s32 unk34;
|
|
/* 0x38 */ char unk38[0xC];
|
|
/* 0x44 */ s32 unk44[2];
|
|
} StructBss2050; // Size unknown
|
|
|
|
typedef struct {
|
|
/* 0x00 */ char unk00[8];
|
|
/* 0x08 */ s32 unk08;
|
|
/* 0x0C */ char unk0C[0x10];
|
|
/* 0x1C */ s32 unk1C;
|
|
/* 0x20 */ char unk20[0x10];
|
|
/* 0x30 */ s32 unk30;
|
|
} UnkFunc1EE58Struct; // Size unknown
|
|
|
|
typedef struct {
|
|
/* 0x00 */ s32 unk00;
|
|
/* 0x04 */ s32 unk04;
|
|
/* 0x08 */ s32 unk08;
|
|
/* 0x0C */ float unk0C;
|
|
/* 0x10 */ float unk10;
|
|
/* 0x14 */ float unk14;
|
|
/* 0x18 */ float unk18;
|
|
/* 0x1C */ float unk1C;
|
|
/* 0x20 */ float unk20;
|
|
/* 0x24 */ float unk24;
|
|
/* 0x28 */ float unk28;
|
|
/* 0x2C */ float unk2C;
|
|
} StructBss3CC; // Size 0x30
|
|
|
|
void fn_1_19A30(StructBss8* arg0);
|
|
void fn_1_19B8C(void);
|
|
void fn_1_19D00(void);
|
|
void fn_1_19E94(void);
|
|
void fn_1_19F5C(omObjData* arg0);
|
|
void fn_1_1A564(void);
|
|
void fn_1_1A6A0(void);
|
|
void fn_1_1A8E8(void);
|
|
void fn_1_1AA28(void);
|
|
void fn_1_1AB58(void);
|
|
void fn_1_1AC88(StructBss2050* arg0, s32 arg1, s32 arg2, s32 arg3);
|
|
void fn_1_1B260(s32 arg0);
|
|
void fn_1_1BCEC(void);
|
|
void fn_1_1BECC(void);
|
|
void fn_1_1C09C(StructBss2050* arg0, s32 arg1, s32 arg2, s32 arg3);
|
|
void fn_1_1CB4C(void);
|
|
void fn_1_1CEB0(omObjData* arg0, StructBss8_24* arg1);
|
|
void fn_1_1D49C(StructBss8_24* arg0);
|
|
s32 fn_1_1D688(StructBss8_24* arg0);
|
|
void fn_1_1DD74(s32 arg0, StructBss8_24* arg1);
|
|
void fn_1_1E608(StructBss8_24* arg0);
|
|
void fn_1_1EB20(StructBss8_24* arg0);
|
|
void fn_1_1EBE8(void);
|
|
void fn_1_1ED20(void);
|
|
void fn_1_1EE58(s32 arg0, UnkFunc1EE58Struct* arg1);
|
|
void fn_1_1F32C(omObjData* arg0);
|
|
void fn_1_1FABC(void);
|
|
void fn_1_1FC44(s32 arg0);
|
|
void fn_1_20728(void);
|
|
s32 fn_1_20970(void);
|
|
void fn_1_20E84(s32 arg0);
|
|
void fn_1_20FD4(s32 arg0);
|
|
s32 fn_1_211B4(void);
|
|
s32 fn_1_214A4(void);
|
|
s32 fn_1_21CA4(void);
|
|
s32 fn_1_2228C(s32 arg0);
|
|
void fn_1_22728(void);
|
|
void fn_1_22C08(omObjData* arg0);
|
|
void fn_1_231F0(omObjData* arg0);
|
|
float fn_1_240E4(float arg0, float arg1, float arg2, float arg3);
|
|
float fn_1_2410C(float arg0, float arg1, float arg2);
|
|
float fn_1_2412C(float arg0, float arg1, float arg2, float arg3);
|
|
float fn_1_24204(float arg0, float arg1, float arg2, float arg3);
|
|
float fn_1_242CC(float arg0, float arg1, float arg2, float arg3);
|
|
void fn_1_24388(s32 arg0);
|
|
void fn_1_243B0(void);
|
|
void fn_1_243D0(void);
|
|
void fn_1_243E4(void);
|
|
void fn_1_244C0(s32 arg0);
|
|
void fn_1_245A8(void);
|
|
void fn_1_245CC(s32 arg0, float arg1, float arg2, s32 arg3);
|
|
s32 fn_1_25014(s32 arg0, s32 arg1, s32 arg2, s32 arg3, float arg4, float arg5, s32 arg6, s32 arg7, s32 arg8);
|
|
void fn_1_25524(s32 arg0, float arg1, float arg2);
|
|
void fn_1_255EC(s32 arg0, s32 arg1);
|
|
void fn_1_2567C(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
|
s32 fn_1_257B0(s32 arg0);
|
|
void fn_1_257F8(s32 arg0, s32 arg1, s32 arg2);
|
|
void fn_1_25EC8(s32 arg0, s32 arg1, s32 arg2, s32 arg3);
|
|
void fn_1_26004(s32 arg0, Vec arg1, float arg2, float arg3, float arg4, s32 arg5, s32 arg6);
|
|
void fn_1_26790(s32 arg0, s32 arg1, float arg2, float arg3);
|
|
|
|
char lbl_1_bss_209C_pad[8]; // Could be part of StructBss2050.
|
|
StructBss2050 lbl_1_bss_2050;
|
|
StructBss8_24 lbl_1_bss_1E10[4];
|
|
omObjData* lbl_1_bss_1E0C;
|
|
StructBss3CC lbl_1_bss_3CC[140];
|
|
s32 lbl_1_bss_3C8;
|
|
StructBss8* lbl_1_bss_3C4;
|
|
Process* lbl_1_bss_3C0;
|
|
|
|
s32 lbl_1_data_1E0 = 1; // Unused.
|
|
|
|
void fn_1_18DF8(Process* arg0, StructBss8* arg1) {
|
|
s32 i;
|
|
|
|
lbl_1_bss_3C0 = arg0;
|
|
lbl_1_bss_3C4 = arg1;
|
|
fn_1_245A8();
|
|
fn_1_243E4();
|
|
fn_1_244C0(1);
|
|
Center.x = 0.0f;
|
|
Center.y = 0.0f;
|
|
Center.z = 0.0f;
|
|
CRot.x = -10.0f;
|
|
CRot.y = 0.0f;
|
|
CRot.z = 0.0f;
|
|
CZoom = 2900.0f;
|
|
Hu3DModelPosSet(lbl_1_bss_3C4->unkC, 0.0f, 0.0f, 460.0f);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0, 1);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unk0, lbl_1_bss_3C4->unk8, 0, 2);
|
|
lbl_1_bss_1E0C = omAddObjEx(lbl_1_bss_3C0, 0x1000, 141, 16, -1, fn_1_231F0);
|
|
HuPrcChildCreate(fn_1_19E94, 100, 0x2000, 0, HuPrcCurrentGet());
|
|
for (i = 0; i < 4; i++) {
|
|
HuPrcChildCreate(fn_1_19D00, 100, 0x2000, 0, HuPrcCurrentGet());
|
|
}
|
|
}
|
|
|
|
void fn_1_19018(void) {
|
|
Vec sp14 = { 0.0f, 0.0f, 640.0f };
|
|
float temp_f31;
|
|
s32 temp_r30;
|
|
s32 i;
|
|
|
|
fn_1_243B0();
|
|
for (i = 1; i < 140; i++) {
|
|
Hu3DModelAttrReset(lbl_1_bss_1E0C->model[i], 1);
|
|
}
|
|
WipeColorSet(0xFF, 0xFF, 0xFF);
|
|
WipeCreate(WIPE_MODE_IN, WIPE_TYPE_NORMAL, -1);
|
|
for (i = 0; i < 240; i++) {
|
|
fn_1_243B0();
|
|
temp_f31 = fn_1_24204(2900.0f, 1150.0f, i, 180.0f);
|
|
CZoom = fn_1_2410C(CZoom, temp_f31, 15.0f);
|
|
if (i == 90) {
|
|
fn_1_25EC8(lbl_1_bss_3C4->unk0, lbl_1_bss_3C4->unk8, 0, 0);
|
|
}
|
|
}
|
|
lbl_1_bss_1E0C->work[0] = 1;
|
|
temp_f31 = CZoom;
|
|
for (i = 0; i < 90; i++) {
|
|
fn_1_243B0();
|
|
CZoom = fn_1_2410C(CZoom, fn_1_24204(temp_f31, 1600.0f, i, 60.0f), 10.0f);
|
|
Center.y = fn_1_2410C(Center.y, fn_1_24204(0.0f, 215.0f, i, 60.0f), 10.0f);
|
|
CRot.x = fn_1_2410C(CRot.x, fn_1_24204(-10.0f, 0.0f, i, 60.0f), 10.0f);
|
|
}
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk14, 0xF, 1);
|
|
fn_1_26004(lbl_1_bss_3C4->unkC, sp14, 0.0f, 3.0f, 0.0f, 1, 0);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1);
|
|
HuPrcSleep(30);
|
|
HuAudSeqPlay(44);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unk0, lbl_1_bss_3C4->unk4, 0, 0);
|
|
fn_1_24388(60);
|
|
temp_r30 = fn_1_2530C(0, 0, 0);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1);
|
|
HuAudFXPlay(0x43);
|
|
fn_1_25838(temp_r30, MAKE_MESSID(40, 0), -1, -1);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1);
|
|
fn_1_25584(temp_r30);
|
|
fn_1_24388(60);
|
|
}
|
|
|
|
s32 fn_1_194C8(s32 arg0) {
|
|
s32 var_r30;
|
|
s32 var_r29;
|
|
s32 var_r28;
|
|
s32 i;
|
|
|
|
var_r30 = 10;
|
|
var_r29 = 0;
|
|
var_r28 = 0;
|
|
if (arg0 == 4) {
|
|
var_r28 = 1;
|
|
var_r30 = 0;
|
|
if (lbl_1_bss_3C4->unk1C == 0 || lbl_1_bss_3C4->unk1C == 3) {
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 1) {
|
|
break;
|
|
}
|
|
}
|
|
if (i != 4) {
|
|
var_r29 = 2;
|
|
} else {
|
|
var_r29 = 1;
|
|
}
|
|
} else {
|
|
var_r29 = 3;
|
|
}
|
|
} else {
|
|
lbl_1_bss_3C4->unk1C = arg0;
|
|
fn_1_19B8C();
|
|
}
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
switch (var_r30) {
|
|
case 10:
|
|
var_r30 = 0;
|
|
fn_1_20728();
|
|
var_r29 = fn_1_20970();
|
|
fn_1_20E84(lbl_1_bss_3C4->unk1C);
|
|
if (var_r29 == -99) {
|
|
var_r30 = -99;
|
|
}
|
|
break;
|
|
case 0:
|
|
var_r30 = 1;
|
|
fn_1_20FD4(lbl_1_bss_3C4->unk1C);
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
switch (var_r29) {
|
|
case 1:
|
|
var_r29 = fn_1_211B4();
|
|
break;
|
|
case 2:
|
|
var_r29 = fn_1_214A4();
|
|
break;
|
|
case 3:
|
|
if (lbl_1_bss_3C4->unk1C == 0 || lbl_1_bss_3C4->unk1C == 3) {
|
|
var_r29 = 5;
|
|
} else if (lbl_1_bss_3C4->unk1C == 2) {
|
|
var_r29 = fn_1_21CA4();
|
|
} else {
|
|
var_r29 = fn_1_2228C(var_r28);
|
|
var_r28 = 0;
|
|
}
|
|
break;
|
|
}
|
|
if (var_r29 == 0) {
|
|
var_r30 = 10;
|
|
break;
|
|
} else if (var_r29 == 5) {
|
|
var_r30 = 99;
|
|
break;
|
|
}
|
|
}
|
|
fn_1_22728();
|
|
break;
|
|
}
|
|
if (var_r30 == 99 || var_r30 == -99) {
|
|
break;
|
|
}
|
|
}
|
|
if (var_r30 == -99) {
|
|
var_r30 = 0;
|
|
} else {
|
|
for (i = 0; i < 4; i++) {
|
|
lbl_1_bss_3C4->unk24[i].unk5C = lbl_1_bss_1E10[i].unk5C;
|
|
lbl_1_bss_3C4->unk24[i].unk60 = lbl_1_bss_1E10[i].unk60;
|
|
lbl_1_bss_3C4->unk24[i].unk64 = lbl_1_bss_1E10[i].unk64;
|
|
lbl_1_bss_3C4->unk24[i].unk68 = lbl_1_bss_1E10[i].unk68;
|
|
lbl_1_bss_3C4->unk24[i].unk6C = lbl_1_bss_1E10[i].unk6C;
|
|
}
|
|
if (lbl_1_bss_3C4->unk1C == 1) {
|
|
switch (lbl_1_bss_2050.unk1C[0]) {
|
|
case 1:
|
|
lbl_1_bss_3C4->unk24[0].unk5C = lbl_1_bss_3C4->unk24[1].unk5C = 0;
|
|
lbl_1_bss_3C4->unk24[2].unk5C = lbl_1_bss_3C4->unk24[3].unk5C = 1;
|
|
break;
|
|
case 2:
|
|
lbl_1_bss_3C4->unk24[0].unk5C = lbl_1_bss_3C4->unk24[2].unk5C = 0;
|
|
lbl_1_bss_3C4->unk24[1].unk5C = lbl_1_bss_3C4->unk24[3].unk5C = 1;
|
|
break;
|
|
case 3:
|
|
lbl_1_bss_3C4->unk24[0].unk5C = lbl_1_bss_3C4->unk24[3].unk5C = 0;
|
|
lbl_1_bss_3C4->unk24[1].unk5C = lbl_1_bss_3C4->unk24[2].unk5C = 1;
|
|
break;
|
|
default:
|
|
OSReport("########## ERROR : TAGMODE TEAMSET\n");
|
|
lbl_1_bss_3C4->unk24[0].unk5C = lbl_1_bss_3C4->unk24[1].unk5C = 0;
|
|
lbl_1_bss_3C4->unk24[2].unk5C = lbl_1_bss_3C4->unk24[3].unk5C = 1;
|
|
break;
|
|
}
|
|
} else if (lbl_1_bss_3C4->unk1C == 2) {
|
|
switch (lbl_1_bss_2050.unk1C[0]) {
|
|
case 0:
|
|
lbl_1_bss_3C4->unk20 = 3;
|
|
break;
|
|
case 1:
|
|
lbl_1_bss_3C4->unk20 = 5;
|
|
break;
|
|
case 2:
|
|
lbl_1_bss_3C4->unk20 = 7;
|
|
break;
|
|
default:
|
|
OSReport("########## ERROR : KNUKIMODE TURNSET\n");
|
|
lbl_1_bss_3C4->unk20 = 3;
|
|
break;
|
|
}
|
|
}
|
|
var_r30 = 1;
|
|
}
|
|
return var_r30;
|
|
}
|
|
|
|
void fn_1_19A30(StructBss8* arg0) {
|
|
s32 i;
|
|
|
|
OSReport("\n\n>>>>>>>>>>>>>>>>>>>> ENTRANCE HELP\n\n");
|
|
switch (arg0->unk1C) {
|
|
case 0:
|
|
OSReport("MG_MODE : FREE PLAY MODE!!\n");
|
|
break;
|
|
case 1:
|
|
OSReport("MG_MODE : TAG PLAY MODE!!\n");
|
|
break;
|
|
case 2:
|
|
OSReport("MG_MODE : NUKE PLAY MODE!!\n");
|
|
break;
|
|
case 3:
|
|
OSReport("MG_MODE : BINGO PLAY MODE!!\n");
|
|
break;
|
|
}
|
|
if (arg0->unk1C == 2) {
|
|
OSReport("\nTURN : %d\n", arg0->unk20);
|
|
}
|
|
OSReport("\nNO) GRP:COM:DIF:CHR:PAD\n");
|
|
for (i = 0; i < 4; i++) {
|
|
OSReport("%2d) %3d:%3d:%3d:%3d:%3d\n", i, arg0->unk24[i].unk5C, arg0->unk24[i].unk60, arg0->unk24[i].unk64, arg0->unk24[i].unk68, arg0->unk24[i].unk6C);
|
|
}
|
|
OSReport("\n>>>>>>>>>>>>>>>>>>>> ENTRANCE HELP\n\n");
|
|
}
|
|
|
|
void fn_1_19B8C(void) {
|
|
s32 i;
|
|
s32 j;
|
|
|
|
for (i = 0; i < 4; i++) {
|
|
lbl_1_bss_2050.unk1C[i] = lbl_1_bss_2050.unk08[i] = 0;
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
for (j = 0; j < 4; j++) {
|
|
lbl_1_bss_1E10[i].unk80[j] = lbl_1_bss_1E10[i].unk70[j] = 0;
|
|
}
|
|
lbl_1_bss_1E10[i].unk58 = i;
|
|
lbl_1_bss_1E10[i].unk5C = 0;
|
|
lbl_1_bss_1E10[i].unk60 = i;
|
|
if (lbl_1_bss_1E10[i].unk60 > 0) {
|
|
lbl_1_bss_1E10[i].unk60 = 1;
|
|
}
|
|
lbl_1_bss_1E10[i].unk64 = 0;
|
|
lbl_1_bss_1E10[i].unk68 = i;
|
|
lbl_1_bss_1E10[i].unk6C = i;
|
|
}
|
|
}
|
|
|
|
void fn_1_19D00(void) {
|
|
omObjData* temp_r30;
|
|
s32 temp_r31;
|
|
|
|
temp_r31 = lbl_1_bss_3C8++;
|
|
temp_r30 = omAddObjEx(lbl_1_bss_3C0, 0x100, 16, 16, -1, NULL);
|
|
lbl_1_bss_1E10[temp_r31].unk0 = temp_r30;
|
|
lbl_1_bss_1E10[temp_r31].unk4 = NULL;
|
|
lbl_1_bss_1E10[temp_r31].unk58 = temp_r31;
|
|
lbl_1_bss_1E10[temp_r31].unk5C = 0;
|
|
lbl_1_bss_1E10[temp_r31].unk60 = temp_r31;
|
|
if (lbl_1_bss_1E10[temp_r31].unk60 > 0) {
|
|
lbl_1_bss_1E10[temp_r31].unk60 = 1;
|
|
}
|
|
lbl_1_bss_1E10[temp_r31].unk64 = 0;
|
|
lbl_1_bss_1E10[temp_r31].unk68 = temp_r31;
|
|
lbl_1_bss_1E10[temp_r31].unk6C = temp_r31;
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
if (lbl_1_bss_1E10[temp_r31].unk4 != NULL) {
|
|
lbl_1_bss_1E10[temp_r31].unk4(temp_r30, &lbl_1_bss_1E10[temp_r31]);
|
|
}
|
|
}
|
|
}
|
|
|
|
void fn_1_19E94(void) {
|
|
omObjData* temp_r3;
|
|
|
|
temp_r3 = omAddObjEx(lbl_1_bss_3C0, 0x100, 16, 16, -1, NULL);
|
|
lbl_1_bss_2050.unk00 = temp_r3;
|
|
lbl_1_bss_2050.unk04 = NULL;
|
|
fn_1_1C09C(&lbl_1_bss_2050, 0, 0, 0);
|
|
fn_1_1AC88(&lbl_1_bss_2050, 0, 0, 0);
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
if (lbl_1_bss_2050.unk04 != NULL) {
|
|
lbl_1_bss_2050.unk04(temp_r3, &lbl_1_bss_2050);
|
|
}
|
|
}
|
|
}
|
|
|
|
s32 lbl_1_data_32C[][4] = {
|
|
{ 177, 104, 120, 55 },
|
|
{ 251, 104, 458, 55 },
|
|
{ 325, 104, 120, 142 },
|
|
{ 399, 104, 458, 142 }
|
|
};
|
|
|
|
s32 lbl_1_data_36C[][6] = {
|
|
{ 168, 90, 120, 51, 112, 55 },
|
|
{ 248, 190, 458, 51, 466, 55 },
|
|
{ 328, 90, 120, 222, 112, 282 },
|
|
{ 408, 190, 458, 222, 466, 282 }
|
|
};
|
|
|
|
s32 lbl_1_data_3CC[] = { 224, 456, 272, 292, 468, 282 };
|
|
|
|
float lbl_1_data_3E4[][5] = {
|
|
{ 262.0f, 119.0f, 1.3f, 227.0f, 455.0f },
|
|
{ 314.0f, 168.0f, 0.75f, 265.0f, 416.0f },
|
|
{ 366.0f, 204.0f, 0.75f, 230.0f, 450.0f },
|
|
{ 418.0f, 240.0f, 0.75f, 300.0f, 381.0f },
|
|
{ -1.0f, 289.0f, 1.3f, 220.0f, 460.0f }
|
|
};
|
|
|
|
s32 lbl_1_data_448[][4] = {
|
|
{ 262, 262, 262, 262 },
|
|
{ 314, 307, 373, 373 },
|
|
{ 366, 373, 307, 418 },
|
|
{ 418, 418, 418, 307 }
|
|
};
|
|
|
|
s32 lbl_1_data_488 = -1;
|
|
|
|
void fn_1_19F5C(omObjData* arg0) {
|
|
float var_f30;
|
|
float var_f31;
|
|
s32 temp_r28;
|
|
s32 var_r29;
|
|
s32 var_r27;
|
|
s32 var_r26;
|
|
s32 var_r25;
|
|
s32 i;
|
|
s32 j;
|
|
|
|
temp_r28 = lbl_1_bss_2050.unk34;
|
|
var_r29 = var_r27 = var_r26 = var_r25 = 0;
|
|
lbl_1_bss_2050.unk1C[0] = 0;
|
|
var_r29 = 1;
|
|
for (i = 1; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 0) {
|
|
var_r29++;
|
|
}
|
|
}
|
|
var_r27 = 1;
|
|
for (i = 1; i < 4; i++) {
|
|
if (HuPadStatGet(i) != -1) {
|
|
var_r27++;
|
|
}
|
|
}
|
|
if (var_r27 >= 2) {
|
|
fn_1_1AA28();
|
|
if (HuPadStkX[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 2)) {
|
|
var_r29++;
|
|
var_r26 = 1;
|
|
} else if (HuPadStkX[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 1)) {
|
|
var_r29--;
|
|
var_r26 = -1;
|
|
}
|
|
} else {
|
|
fn_1_1AB58();
|
|
}
|
|
if (var_r29 < 1) {
|
|
var_r29 = var_r27;
|
|
} else if (var_r29 > var_r27) {
|
|
if (var_r26 == 0) {
|
|
var_r29 = var_r27;
|
|
var_r25 = 1;
|
|
} else {
|
|
var_r29 = 1;
|
|
}
|
|
}
|
|
if (var_r26 != 0 || var_r25 != 0) {
|
|
lbl_1_bss_2050.unk1C[0] = 1;
|
|
HuAudFXPlay(0);
|
|
for (i = 0; i <= 10; i++) {
|
|
if (i <= 5) {
|
|
var_f30 = fn_1_24204(0.0f, 10.0f, i, 5.0f);
|
|
var_f31 = fn_1_24204(1.0f, 0.0f, i, 5.0f);
|
|
} else {
|
|
var_f30 = fn_1_24204(10.0f, 0.0f, i - 5, 5.0f);
|
|
var_f31 = fn_1_24204(0.0f, 1.0f, i - 5, 5.0f);
|
|
}
|
|
if (var_r26 == 1) {
|
|
HuSprPosSet(temp_r28, 9, lbl_1_data_32C[3][0] + 50 + var_f30, lbl_1_data_32C[0][1]);
|
|
} else if (var_r26 == -1) {
|
|
HuSprPosSet(temp_r28, 8, lbl_1_data_32C[0][0] - 50 - var_f30, lbl_1_data_32C[0][1]);
|
|
}
|
|
for (j = 0; j < 4; j++) {
|
|
if (j < var_r29 && lbl_1_bss_1E10[j].unk60 == 1) {
|
|
lbl_1_bss_1E10[j].unk70[3] = 0;
|
|
HuSprScaleSet(temp_r28, j, var_f31, 1.0f);
|
|
HuSprScaleSet(temp_r28, j + 4, var_f31, 1.0f);
|
|
if (i == 5) {
|
|
HuSprBankSet(temp_r28, j, 0);
|
|
}
|
|
} else if (j >= var_r29 && lbl_1_bss_1E10[j].unk60 == 0) {
|
|
lbl_1_bss_1E10[j].unk70[3] = 1;
|
|
HuSprScaleSet(temp_r28, j, var_f31, 1.0f);
|
|
HuSprScaleSet(temp_r28, j + 4, var_f31, 1.0f);
|
|
if (i == 5) {
|
|
HuSprBankSet(temp_r28, j, 1);
|
|
}
|
|
}
|
|
}
|
|
fn_1_243B0();
|
|
}
|
|
for (j = 0; j < 4; j++) {
|
|
if (j < var_r29) {
|
|
lbl_1_bss_1E10[j].unk60 = 0;
|
|
} else {
|
|
lbl_1_bss_1E10[j].unk60 = 1;
|
|
}
|
|
}
|
|
}
|
|
lbl_1_bss_2050.unk1C[0] = 0;
|
|
}
|
|
|
|
void fn_1_1A564(void) {
|
|
s32 temp_r30;
|
|
s32 i;
|
|
|
|
temp_r30 = lbl_1_bss_2050.unk34;
|
|
for (i = 0; i < 19; i++) {
|
|
HuSprAttrSet(temp_r30, i, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
HuSprBankSet(temp_r30, i, 0);
|
|
lbl_1_bss_1E10[i].unk70[3] = lbl_1_bss_1E10[i].unk60 = 0;
|
|
HuSprAttrReset(temp_r30, i, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrReset(temp_r30, 4 + i, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
HuSprAttrReset(temp_r30, 10, HUSPR_ATTR_DISPOFF);
|
|
for (i = 0; i < 4; i++) {
|
|
HuSprAttrReset(temp_r30, 11 + i, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrReset(temp_r30, 15 + i, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
HuSprGrpPosSet(temp_r30, 0.0f, -500.0f);
|
|
}
|
|
|
|
void fn_1_1A6A0(void) {
|
|
float var_f31;
|
|
s32 temp_r28;
|
|
s32 i;
|
|
|
|
temp_r28 = lbl_1_bss_2050.unk34;
|
|
fn_1_1A564();
|
|
for (i = 0; i <= 60; i++) {
|
|
fn_1_243B0();
|
|
if (i <= 50) {
|
|
var_f31 = fn_1_24204(-500.0f, 10.0f, i, 50.0f);
|
|
} else {
|
|
var_f31 = fn_1_2412C(10.0f, 2.06f, i - 50, 10.0f);
|
|
}
|
|
HuSprGrpPosSet(temp_r28, 0.0f, var_f31);
|
|
}
|
|
}
|
|
|
|
void fn_1_1A8E8(void) {
|
|
float var_f31;
|
|
s32 spC;
|
|
s32 sp8;
|
|
s32 temp_r30;
|
|
s32 i;
|
|
|
|
spC = 0;
|
|
sp8 = 0;
|
|
temp_r30 = lbl_1_bss_2050.unk34;
|
|
for (i = 0; i <= 60; i++) {
|
|
fn_1_243B0();
|
|
if (i <= 10) {
|
|
var_f31 = fn_1_24204(2.06f, 10.0f, i, 10.0f);
|
|
} else {
|
|
var_f31 = fn_1_2412C(10.0f, -500.0f, i - 10, 50.0f);
|
|
}
|
|
HuSprGrpPosSet(temp_r30, 0.0f, var_f31);
|
|
}
|
|
fn_1_1B260(0);
|
|
}
|
|
|
|
void fn_1_1AA28(void) {
|
|
s32 temp_r31;
|
|
|
|
temp_r31 = lbl_1_bss_2050.unk34;
|
|
HuSprAttrReset(temp_r31, 8, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r31, 8, lbl_1_data_32C[0][0] - 50, lbl_1_data_32C[0][1]);
|
|
HuSprAttrReset(temp_r31, 9, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r31, 9, lbl_1_data_32C[3][0] + 50, lbl_1_data_32C[0][1]);
|
|
}
|
|
|
|
void fn_1_1AB58(void) {
|
|
s32 temp_r31;
|
|
|
|
temp_r31 = lbl_1_bss_2050.unk34;
|
|
HuSprAttrSet(temp_r31, 8, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r31, 8, lbl_1_data_32C[0][0] - 50, lbl_1_data_32C[0][1]);
|
|
HuSprAttrSet(temp_r31, 9, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r31, 9, lbl_1_data_32C[3][0] + 50, lbl_1_data_32C[0][1]);
|
|
}
|
|
|
|
void fn_1_1AC88(StructBss2050* arg0, s32 arg1, s32 arg2, s32 arg3) {
|
|
AnimData* temp_r26;
|
|
AnimData* temp_r25;
|
|
s32 var_r29;
|
|
s32 var_r28;
|
|
s32 i;
|
|
|
|
var_r29 = HuSprGrpCreate(19);
|
|
arg0->unk34 = var_r29;
|
|
temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 111));
|
|
for (i = 0; i < 4; i++) {
|
|
var_r28 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 99)), 1000, 0);
|
|
HuSprGrpMemberSet(var_r29, i, var_r28);
|
|
HuSprPosSet(var_r29, i, lbl_1_data_32C[i % 4][0], lbl_1_data_32C[0][1]);
|
|
var_r28 = HuSprCreate(temp_r26, 1010, 0);
|
|
HuSprGrpMemberSet(var_r29, 4 + i, var_r28);
|
|
HuSprTPLvlSet(var_r29, 4 + i, 0.5f);
|
|
HuSprPosSet(var_r29, 4 + i, lbl_1_data_32C[i % 4][0] + 1, lbl_1_data_32C[0][1] + 2);
|
|
}
|
|
temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 137));
|
|
for (i = 0; i < 2; i++) {
|
|
var_r28 = HuSprCreate(temp_r26, 0, 0);
|
|
HuSprGrpMemberSet(var_r29, 8 + i, var_r28);
|
|
HuSprBankSet(var_r29, 8 + i, i);
|
|
}
|
|
var_r28 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 98)), 2000, 0);
|
|
HuSprGrpMemberSet(var_r29, 10, var_r28);
|
|
HuSprTPLvlSet(var_r29, 10, 0.8f);
|
|
fn_1_26790(var_r29, 10, 288.0f, 240.0f);
|
|
temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 101));
|
|
temp_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 102));
|
|
for (i = 0; i < 4; i++) {
|
|
var_r28 = HuSprCreate(temp_r26, 1980, 0);
|
|
HuSprGrpMemberSet(var_r29, 11 + i, var_r28);
|
|
HuSprBankSet(var_r29, 11 + i, i);
|
|
fn_1_26790(var_r29, 11 + i, lbl_1_data_32C[i][2], lbl_1_data_32C[i][3]);
|
|
var_r28 = HuSprCreate(temp_r25, 1990, 0);
|
|
HuSprGrpMemberSet(var_r29, 15 + i, var_r28);
|
|
HuSprBankSet(var_r29, 15 + i, i);
|
|
HuSprTPLvlSet(var_r29, 15 + i, 0.5f);
|
|
fn_1_26790(var_r29, 15 + i, lbl_1_data_32C[i][2] + 1, lbl_1_data_32C[i][3] + 6);
|
|
}
|
|
fn_1_1A564();
|
|
}
|
|
|
|
void fn_1_1B260(s32 arg0) {
|
|
s32 temp_r30;
|
|
s32 i;
|
|
|
|
temp_r30 = lbl_1_bss_2050.unk30;
|
|
for (i = 0; i < 86; i++) {
|
|
HuSprAttrSet(temp_r30, i, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 != 0) {
|
|
HuSprAttrSet(temp_r30, 16 + lbl_1_bss_1E10[i].unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 20 + lbl_1_bss_1E10[i].unk58, HUSPR_ATTR_DISPOFF);
|
|
} else {
|
|
HuSprAttrReset(temp_r30, 16 + lbl_1_bss_1E10[i].unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrReset(temp_r30, 20 + lbl_1_bss_1E10[i].unk58, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
HuSprPosSet(temp_r30, 16 + lbl_1_bss_1E10[i].unk58,
|
|
lbl_1_data_36C[lbl_1_bss_1E10[i].unk68 % 4][0],
|
|
lbl_1_data_36C[lbl_1_bss_1E10[i].unk68 / 4][1]);
|
|
HuSprPosSet(temp_r30, 20 + lbl_1_bss_1E10[i].unk58,
|
|
lbl_1_data_36C[lbl_1_bss_1E10[i].unk68 % 4][0],
|
|
lbl_1_data_36C[lbl_1_bss_1E10[i].unk68 / 4][1]);
|
|
}
|
|
for (i = 0; i < 8; i++) {
|
|
HuSprBankSet(temp_r30, i, 0);
|
|
HuSprAttrReset(temp_r30, i, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrReset(temp_r30, 8 + i, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
HuSprAttrReset(temp_r30, 40, HUSPR_ATTR_DISPOFF);
|
|
for (i = 0; i < 4; i++) {
|
|
HuSprBankSet(temp_r30, 16 + i, 0);
|
|
HuSprBankSet(temp_r30, 20 + i, 0);
|
|
HuSprAttrReset(temp_r30, 41 + i, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrReset(temp_r30, 45 + i, HUSPR_ATTR_DISPOFF);
|
|
fn_1_26790(temp_r30, 41 + i, lbl_1_data_36C[i][2], lbl_1_data_36C[i][3]);
|
|
fn_1_26790(temp_r30, 45 + i, lbl_1_data_36C[i][2], lbl_1_data_36C[i][3] + 6);
|
|
}
|
|
HuWinDispOff(lbl_1_bss_2050.unk44[0]);
|
|
HuWinDispOff(lbl_1_bss_2050.unk44[1]);
|
|
if (arg0 == 1) {
|
|
HuSprAttrSet(temp_r30, 40, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrReset(temp_r30, 53, HUSPR_ATTR_DISPOFF);
|
|
for (i = 0; i < 4; i++) {
|
|
fn_1_26790(temp_r30, 41 + i, lbl_1_data_36C[i][4], lbl_1_data_36C[i][5]);
|
|
fn_1_26790(temp_r30, 45 + i, lbl_1_data_36C[i][4] + 1, lbl_1_data_36C[i][5] + 6);
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
HuSprAttrReset(temp_r30, 81 + i, HUSPR_ATTR_DISPOFF);
|
|
HuSprBankSet(temp_r30, 81 + i, lbl_1_bss_1E10[i].unk60);
|
|
HuSprPosSet(temp_r30, 81 + i, lbl_1_data_3E4[lbl_1_bss_1E10[i].unk58][0], lbl_1_data_3CC[2]);
|
|
HuSprScaleSet(temp_r30, 81 + i, 1.0f, 1.0f);
|
|
HuSprAttrReset(temp_r30, 65 + i, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r30, 65 + i, lbl_1_data_3E4[i][0] + 1.0f, lbl_1_data_3CC[2] + 2);
|
|
}
|
|
HuWinDispOn(lbl_1_bss_2050.unk44[0]);
|
|
} else if (arg0 == 2) {
|
|
HuSprAttrSet(temp_r30, 40, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrReset(temp_r30, 53, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrReset(temp_r30, 56, HUSPR_ATTR_DISPOFF);
|
|
HuSprBankSet(temp_r30, 56, 0);
|
|
for (i = 0; i < 4; i++) {
|
|
fn_1_26790(temp_r30, 41 + i, lbl_1_data_36C[i][4], lbl_1_data_36C[i][5]);
|
|
fn_1_26790(temp_r30, 45 + i, lbl_1_data_36C[i][4] + 1, lbl_1_data_36C[i][5] + 6);
|
|
}
|
|
HuWinDispOn(lbl_1_bss_2050.unk44[1]);
|
|
}
|
|
HuWinPosSet(lbl_1_bss_2050.unk44[0], 140.0f, lbl_1_data_3CC[2] - 519);
|
|
HuWinPosSet(lbl_1_bss_2050.unk44[1], 100.0f, lbl_1_data_3CC[2] - 519);
|
|
HuSprPosSet(temp_r30, 54, lbl_1_data_3CC[3], lbl_1_data_3CC[2]);
|
|
HuSprPosSet(temp_r30, 55, lbl_1_data_3CC[4], lbl_1_data_3CC[2]);
|
|
HuSprGrpPosSet(temp_r30, 0.0f, -500.0f);
|
|
}
|
|
|
|
void fn_1_1BCEC(void) {
|
|
float var_f31;
|
|
s32 sp8;
|
|
s32 i;
|
|
|
|
sp8 = lbl_1_bss_2050.unk30;
|
|
for (i = 0; i <= 60; i++) {
|
|
fn_1_243B0();
|
|
if (i <= 50) {
|
|
var_f31 = fn_1_24204(-500.0f, 10.0f, i, 50.0f);
|
|
} else {
|
|
var_f31 = fn_1_2412C(10.0f, 2.06f, i - 50, 10.0f);
|
|
}
|
|
HuSprGrpPosSet(lbl_1_bss_2050.unk30, 0.0f, var_f31);
|
|
HuWinPosSet(lbl_1_bss_2050.unk44[0], 120.0f, lbl_1_data_3CC[2] - 19 + var_f31);
|
|
HuWinPosSet(lbl_1_bss_2050.unk44[1], 100.0f, lbl_1_data_3CC[2] - 19 + var_f31);
|
|
}
|
|
}
|
|
|
|
void fn_1_1BECC(void) {
|
|
float var_f31;
|
|
s32 i;
|
|
|
|
for (i = 0; i <= 60; i++) {
|
|
fn_1_243B0();
|
|
if (i <= 10) {
|
|
var_f31 = fn_1_24204(2.06f, 10.0f, i, 10.0f);
|
|
} else {
|
|
var_f31 = fn_1_2412C(10.0f, -500.0f, i - 10, 50.0f);
|
|
}
|
|
HuSprGrpPosSet(lbl_1_bss_2050.unk30, 0.0f, var_f31);
|
|
HuWinPosSet(lbl_1_bss_2050.unk44[0], 120.0f, lbl_1_data_3CC[2] - 19 + var_f31);
|
|
HuWinPosSet(lbl_1_bss_2050.unk44[1], 100.0f, lbl_1_data_3CC[2] - 19 + var_f31);
|
|
}
|
|
}
|
|
|
|
void fn_1_1C09C(StructBss2050* arg0, s32 arg1, s32 arg2, s32 arg3) {
|
|
AnimData* temp_r28;
|
|
AnimData* temp_r26;
|
|
AnimData* temp_r25;
|
|
AnimData* temp_r24;
|
|
AnimData* temp_r23;
|
|
s32 var_r29;
|
|
s32 var_r30;
|
|
s32 i;
|
|
|
|
var_r29 = arg0->unk30 = HuSprGrpCreate(86);
|
|
temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 111));
|
|
for (i = 0; i < 8; i++) {
|
|
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 103 + i)), 1000, 0);
|
|
HuSprGrpMemberSet(var_r29, i, var_r30);
|
|
HuSprPosSet(var_r29, i, lbl_1_data_36C[i % 4][0], lbl_1_data_36C[i / 4][1]);
|
|
var_r30 = HuSprCreate(temp_r28, 1010, 0);
|
|
HuSprGrpMemberSet(var_r29, 8 + i, var_r30);
|
|
HuSprTPLvlSet(var_r29, 8 + i, 0.5f);
|
|
HuSprPosSet(var_r29, 8 + i, lbl_1_data_36C[i % 4][0] + 1, (lbl_1_data_36C[i / 4][1] + 2));
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 112 + i)), 0, 0);
|
|
HuSprGrpMemberSet(var_r29, 16 + i, var_r30);
|
|
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 117 + i)), 10, 0);
|
|
HuSprGrpMemberSet(var_r29, 20 + i, var_r30);
|
|
}
|
|
temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 116));
|
|
temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 121));
|
|
temp_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 122));
|
|
temp_r24 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 124));
|
|
temp_r23 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 123));
|
|
for (i = 0; i < 4; i++) {
|
|
var_r30 = HuSprCreate(temp_r28, 0, 0);
|
|
HuSprGrpMemberSet(var_r29, 24 + i, var_r30);
|
|
var_r30 = HuSprCreate(temp_r26, 30, 0);
|
|
HuSprGrpMemberSet(var_r29, 28 + i, var_r30);
|
|
var_r30 = HuSprCreate(temp_r25, 10, 0);
|
|
HuSprGrpMemberSet(var_r29, 32 + i, var_r30);
|
|
var_r30 = HuSprCreate(temp_r24, 20, 0);
|
|
HuSprGrpMemberSet(var_r29, 36 + i, var_r30);
|
|
HuSprTPLvlSet(var_r29, 36 + i, 0.5f);
|
|
var_r30 = HuSprCreate(temp_r23, 20, 0);
|
|
HuSprGrpMemberSet(var_r29, 49 + i, var_r30);
|
|
}
|
|
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 100)), 2000, 0);
|
|
HuSprGrpMemberSet(var_r29, 40, var_r30);
|
|
HuSprTPLvlSet(var_r29, 40, 0.8f);
|
|
fn_1_26790(var_r29, 40, 288.0f, 240.0f);
|
|
temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 101));
|
|
temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 102));
|
|
for (i = 0; i < 4; i++) {
|
|
var_r30 = HuSprCreate(temp_r28, 1980, 0);
|
|
HuSprGrpMemberSet(var_r29, 41 + i, var_r30);
|
|
HuSprBankSet(var_r29, 41 + i, i);
|
|
fn_1_26790(var_r29, 41 + i, lbl_1_data_36C[i][2], lbl_1_data_36C[i][3]);
|
|
var_r30 = HuSprCreate(temp_r26, 1990, 0);
|
|
HuSprGrpMemberSet(var_r29, 45 + i, var_r30);
|
|
HuSprBankSet(var_r29, 45 + i, i);
|
|
HuSprTPLvlSet(var_r29, 45 + i, 0.5f);
|
|
fn_1_26790(var_r29, 45 + i, lbl_1_data_36C[i][2] + 1, lbl_1_data_36C[i][3] + 6);
|
|
}
|
|
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 125)), 2000, 0);
|
|
HuSprGrpMemberSet(var_r29, 53, var_r30);
|
|
HuSprTPLvlSet(var_r29, 53, 0.8f);
|
|
fn_1_26790(var_r29, 53, 288.0f, 240.0f);
|
|
temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 137));
|
|
for (i = 0; i < 2; i++) {
|
|
var_r30 = HuSprCreate(temp_r28, 0, 0);
|
|
HuSprGrpMemberSet(var_r29, 54 + i, var_r30);
|
|
HuSprBankSet(var_r29, 54 + i, i);
|
|
}
|
|
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 139)), 1000, 0);
|
|
HuSprGrpMemberSet(var_r29, 56, var_r30);
|
|
HuSprPosSet(var_r29, 56, 380.0f, lbl_1_data_3CC[2]);
|
|
for (i = 0; i < 2; i++) {
|
|
arg0->unk44[i] = HuWinExCreateStyled(0.0f, 0.0f, 200, 200, -1, 1);
|
|
HuWinBGTPLvlSet(arg0->unk44[i], 0.0f);
|
|
HuWinMesSet(arg0->unk44[i], MAKE_MESSID(27, 48 + i));
|
|
HuWinMesSpeedSet(arg0->unk44[i], 0);
|
|
HuWinDispOff(arg0->unk44[i]);
|
|
winData[arg0->unk44[i]].mess_shadow_color = 0;
|
|
}
|
|
var_r30 = HuSprCreate(HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 138)), 990, 0);
|
|
HuSprGrpMemberSet(var_r29, 85, var_r30);
|
|
temp_r25 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 134));
|
|
for (i = 0; i < 8; i++) {
|
|
temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 126 + i));
|
|
var_r30 = HuSprCreate(temp_r28, 1000, 0);
|
|
HuSprGrpMemberSet(var_r29, 57 + i, var_r30);
|
|
var_r30 = HuSprCreate(temp_r25, 1010, 0);
|
|
HuSprGrpMemberSet(var_r29, 65 + i, var_r30);
|
|
}
|
|
temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 135));
|
|
temp_r26 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 136));
|
|
for (i = 0; i < 4; i++) {
|
|
var_r30 = HuSprCreate(temp_r28, 990, 0);
|
|
HuSprGrpMemberSet(var_r29, 73 + i, var_r30);
|
|
var_r30 = HuSprCreate(temp_r26, 990, 0);
|
|
HuSprGrpMemberSet(var_r29, 77 + i, var_r30);
|
|
}
|
|
temp_r28 = HuSprAnimReadFile(DATA_MAKE_NUM(DATADIR_MGMODE, 140));
|
|
for (i = 0; i < 4; i++) {
|
|
var_r30 = HuSprCreate(temp_r28, 990, 0);
|
|
HuSprGrpMemberSet(var_r29, 81 + i, var_r30);
|
|
}
|
|
fn_1_1B260(0);
|
|
}
|
|
|
|
void fn_1_1CB4C(void) {
|
|
StructBss8_24* temp_r30;
|
|
float temp_f31;
|
|
float temp_f30;
|
|
s32 temp_r29;
|
|
s32 i;
|
|
s32 j;
|
|
|
|
temp_r29 = lbl_1_bss_2050.unk30;
|
|
for (i = 0; i < 8; i++) {
|
|
HuSprBankSet(temp_r29, i, 0);
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
HuSprBankSet(temp_r29, 16 + i, 0);
|
|
HuSprBankSet(temp_r29, 20 + i, 0);
|
|
HuSprBankSet(temp_r29, 24 + i, 0);
|
|
HuSprBankSet(temp_r29, 28 + i, 0);
|
|
HuSprBankSet(temp_r29, 32 + i, 0);
|
|
}
|
|
for (i = 0; i <= 10; i++) {
|
|
fn_1_243B0();
|
|
for (j = 0; j < 4; j++) {
|
|
temp_r30 = &lbl_1_bss_1E10[j];
|
|
temp_f31 = fn_1_24204(lbl_1_data_36C[temp_r30->unk68 % 4][0], lbl_1_data_36C[temp_r30->unk58 % 4][0], i, 10.0f);
|
|
temp_f30 = fn_1_24204(lbl_1_data_36C[temp_r30->unk68 / 4][1], lbl_1_data_36C[temp_r30->unk58 / 4][1], i, 10.0f);
|
|
HuSprPosSet(temp_r29, 16 + temp_r30->unk58, temp_f31, temp_f30);
|
|
HuSprPosSet(temp_r29, 20 + temp_r30->unk58, temp_f31, temp_f30);
|
|
}
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
lbl_1_bss_1E10[i].unk68 = lbl_1_bss_1E10[i].unk58;
|
|
lbl_1_bss_1E10[i].unk70[0] = 0;
|
|
}
|
|
}
|
|
|
|
void fn_1_1CEB0(omObjData* arg0, StructBss8_24* arg1) {
|
|
float temp_f31;
|
|
float temp_f30;
|
|
s32 temp_r25;
|
|
s32 var_r27;
|
|
s32 var_r26;
|
|
s32 temp_r24;
|
|
s32 temp_r23;
|
|
s32 var_r30;
|
|
s32 var_r29;
|
|
s32 i;
|
|
|
|
temp_r25 = lbl_1_bss_2050.unk30;
|
|
var_r27 = 0;
|
|
var_r26 = 0;
|
|
temp_r24 = var_r30 = arg1->unk68 % 4;
|
|
temp_r23 = var_r29 = arg1->unk68 / 4;
|
|
if (arg1->unk70[0] == 0) {
|
|
if (HuPadBtnDown[arg1->unk6C] & 0x100) {
|
|
arg1->unk70[0] = 1;
|
|
HuSprBankSet(temp_r25, arg1->unk68, 1);
|
|
HuSprBankSet(temp_r25, 16 + arg1->unk58, 1);
|
|
HuSprBankSet(temp_r25, 20 + arg1->unk58, 1);
|
|
HuAudFXPlay(0x6D + arg1->unk68);
|
|
} else {
|
|
if (HuPadStkX[arg1->unk6C] >= 5 || (HuPadBtn[arg1->unk6C] & 2)) {
|
|
var_r30++;
|
|
var_r27 = 1;
|
|
if (var_r30 > 3) {
|
|
var_r30 = 3;
|
|
}
|
|
} else if (HuPadStkX[arg1->unk6C] <= -5 || (HuPadBtn[arg1->unk6C] & 1)) {
|
|
var_r30--;
|
|
var_r27 = -1;
|
|
if (var_r30 < 0) {
|
|
var_r30 = 0;
|
|
}
|
|
}
|
|
if (HuPadStkY[arg1->unk6C] <= -5 || (HuPadBtn[arg1->unk6C] & 4)) {
|
|
var_r29++;
|
|
var_r26 = 1;
|
|
if (var_r29 > 1) {
|
|
var_r29 = 1;
|
|
}
|
|
} else if (HuPadStkY[arg1->unk6C] >= 5 || (HuPadBtn[arg1->unk6C] & 8)) {
|
|
var_r29--;
|
|
var_r26 = -1;
|
|
if (var_r29 < 0) {
|
|
var_r29 = 0;
|
|
}
|
|
}
|
|
}
|
|
} else if (HuPadBtnDown[arg1->unk6C] & 0x200) {
|
|
arg1->unk70[0] = 0;
|
|
HuSprBankSet(temp_r25, arg1->unk68, 0);
|
|
HuSprBankSet(temp_r25, 16 + arg1->unk58, 0);
|
|
HuSprBankSet(temp_r25, 20 + arg1->unk58, 0);
|
|
HuAudFXPlay(3);
|
|
}
|
|
if (arg1->unk68 != var_r30 + var_r29 * 4) {
|
|
do {
|
|
for (i = 0; i < 4; i++) {
|
|
if (i != arg1->unk58 && lbl_1_bss_1E10[i].unk60 == 0 && var_r30 + var_r29 * 4 == lbl_1_bss_1E10[i].unk68) {
|
|
if (var_r27 == 0 || var_r26 == 0) {
|
|
if (var_r30 + var_r27 > 3 || var_r30 + var_r27 < 0) {
|
|
var_r30 = temp_r24;
|
|
} else {
|
|
var_r30 += var_r27;
|
|
}
|
|
if (var_r29 + var_r26 > 1 || var_r29 + var_r26 < 0) {
|
|
var_r29 = temp_r23;
|
|
} else {
|
|
var_r29 += var_r26;
|
|
}
|
|
} else {
|
|
if (var_r30 + var_r27 <= 3 && var_r30 + var_r27 >= 0) {
|
|
var_r30 += var_r27;
|
|
} else if (var_r29 + var_r26 <= 1 && var_r29 + var_r26 >= 0) {
|
|
var_r29 += var_r26;
|
|
} else {
|
|
var_r30 = temp_r24;
|
|
var_r29 = temp_r23;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
} while (i != 4);
|
|
if (arg1->unk68 != var_r30 + var_r29 * 4) {
|
|
arg1->unk68 = var_r30 + var_r29 * 4;
|
|
HuAudFXPlay(0);
|
|
for (i = 0; i <= 10; i++) {
|
|
fn_1_243B0();
|
|
temp_f31 = fn_1_24204(lbl_1_data_36C[temp_r24][0], lbl_1_data_36C[var_r30][0], i, 10.0f);
|
|
temp_f30 = fn_1_24204(lbl_1_data_36C[temp_r23][1], lbl_1_data_36C[var_r29][1], i, 10.0f);
|
|
HuSprPosSet(temp_r25, 16 + arg1->unk58, temp_f31, temp_f30);
|
|
HuSprPosSet(temp_r25, 20 + arg1->unk58, temp_f31, temp_f30);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
void fn_1_1D49C(StructBss8_24* arg0) {
|
|
s32 temp_r30;
|
|
|
|
temp_r30 = lbl_1_bss_2050.unk30;
|
|
arg0->unk64 = 0;
|
|
HuSprBankSet(temp_r30, 32 + arg0->unk58, arg0->unk64);
|
|
HuSprPosSet(temp_r30, 32 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 / 4][1] + 35);
|
|
HuSprPosSet(temp_r30, 36 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0] + 1, lbl_1_data_36C[arg0->unk68 / 4][1] + 37);
|
|
HuSprAttrReset(temp_r30, 32 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrReset(temp_r30, 36 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
|
|
s32 fn_1_1D688(StructBss8_24* arg0) {
|
|
float var_f31;
|
|
s32 i;
|
|
s32 temp_r29;
|
|
s32 var_r28;
|
|
s32 var_r26;
|
|
s32 var_r27;
|
|
|
|
var_r28 = 0;
|
|
temp_r29 = lbl_1_bss_2050.unk30;
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
var_r28 = 0;
|
|
var_r26 = arg0->unk64;
|
|
if (HuPadStkX[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 2)) {
|
|
if (GWGameStat.field10E_bit4 == 1) {
|
|
arg0->unk64++;
|
|
var_r28 = 1;
|
|
if (arg0->unk64 > 3) {
|
|
arg0->unk64 = 0;
|
|
}
|
|
} else {
|
|
arg0->unk64++;
|
|
var_r28 = 1;
|
|
if (arg0->unk64 > 2) {
|
|
arg0->unk64 = 0;
|
|
}
|
|
}
|
|
} else if (HuPadStkX[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 1)) {
|
|
if (GWGameStat.field10E_bit4 == 1) {
|
|
arg0->unk64--;
|
|
var_r28 = -1;
|
|
if (arg0->unk64 < 0) {
|
|
arg0->unk64 = 3;
|
|
}
|
|
} else {
|
|
arg0->unk64--;
|
|
var_r28 = -1;
|
|
if (arg0->unk64 < 0) {
|
|
arg0->unk64 = 2;
|
|
}
|
|
}
|
|
} else if (HuPadBtnDown[0] & 0x100) {
|
|
var_r27 = 1;
|
|
HuAudFXPlay(2);
|
|
break;
|
|
} else if (HuPadBtnDown[0] & 0x200) {
|
|
var_r27 = 0;
|
|
HuAudFXPlay(3);
|
|
break;
|
|
}
|
|
if (arg0->unk64 != var_r26) {
|
|
HuAudFXPlay(0);
|
|
for (i = 0; i <= 5; i++) {
|
|
fn_1_243B0();
|
|
var_f31 = fn_1_24204(lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 % 4][0] + var_r28 * 10, i, 5.0f);
|
|
HuSprPosSet(temp_r29, 32 + arg0->unk58, var_f31, lbl_1_data_36C[arg0->unk68 / 4][1] + 35);
|
|
HuSprPosSet(temp_r29, 36 + arg0->unk58, var_f31 + 1.0f, lbl_1_data_36C[arg0->unk68 / 4][1] + 37);
|
|
}
|
|
HuSprBankSet(temp_r29, 32 + arg0->unk58, arg0->unk64);
|
|
for (i = 0; i <= 5; i++) {
|
|
fn_1_243B0();
|
|
var_f31 = fn_1_24204(lbl_1_data_36C[arg0->unk68 % 4][0] + var_r28 * 10, lbl_1_data_36C[arg0->unk68 % 4][0], i, 5.0f);
|
|
HuSprPosSet(temp_r29, 32 + arg0->unk58, var_f31, lbl_1_data_36C[arg0->unk68 / 4][1] + 35);
|
|
HuSprPosSet(temp_r29, 36 + arg0->unk58, var_f31 + 1.0f, lbl_1_data_36C[arg0->unk68 / 4][1] + 37);
|
|
}
|
|
}
|
|
}
|
|
if (var_r27 == 1) {
|
|
HuSprPosSet(temp_r29, 49 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 / 4][1] + 35);
|
|
HuSprBankSet(temp_r29, 49 + arg0->unk58, arg0->unk64);
|
|
HuSprAttrReset(temp_r29, 49 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r29, 32 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
return var_r27;
|
|
}
|
|
|
|
void fn_1_1DD74(s32 arg0, StructBss8_24* arg1) {
|
|
float temp_f31;
|
|
float var_f30;
|
|
s32 temp_r27;
|
|
s32 var_r26;
|
|
s32 var_r25;
|
|
s32 sp8;
|
|
s32 temp_r23;
|
|
s32 temp_r22;
|
|
s32 var_r30;
|
|
s32 var_r29;
|
|
s32 i;
|
|
|
|
temp_r27 = lbl_1_bss_2050.unk30;
|
|
var_r26 = 0;
|
|
var_r25 = 0;
|
|
sp8 = arg1->unk64;
|
|
temp_r23 = var_r30 = arg1->unk68 % 4;
|
|
temp_r22 = var_r29 = arg1->unk68 / 4;
|
|
if (arg1->unk70[0] == 0) {
|
|
if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x100) {
|
|
arg1->unk70[0] = 1;
|
|
HuSprBankSet(temp_r27, arg1->unk68, 1);
|
|
HuSprBankSet(temp_r27, 24 + arg1->unk58, 1);
|
|
HuSprBankSet(temp_r27, 28 + arg1->unk58, 1);
|
|
HuAudFXPlay(0x6D + arg1->unk68);
|
|
fn_1_1D49C(arg1);
|
|
} else {
|
|
if (HuPadStkX[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 2)) {
|
|
var_r30++;
|
|
var_r26 = 1;
|
|
if (var_r30 > 3) {
|
|
var_r30 = 3;
|
|
}
|
|
} else if (HuPadStkX[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 1)) {
|
|
var_r30--;
|
|
var_r26 = -1;
|
|
if (var_r30 < 0) {
|
|
var_r30 = 0;
|
|
}
|
|
}
|
|
if (HuPadStkY[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 4)) {
|
|
var_r29++;
|
|
var_r25 = 1;
|
|
if (var_r29 > 1) {
|
|
var_r29 = 1;
|
|
}
|
|
} else if (HuPadStkY[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 8)) {
|
|
var_r29--;
|
|
var_r25 = -1;
|
|
if (var_r29 < 0) {
|
|
var_r29 = 0;
|
|
}
|
|
}
|
|
}
|
|
} else if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200) {
|
|
arg1->unk70[0] = arg1->unk70[2] = 0;
|
|
HuSprBankSet(temp_r27, arg1->unk68, 0);
|
|
HuSprBankSet(temp_r27, 24 + arg1->unk58, 0);
|
|
HuSprBankSet(temp_r27, 28 + arg1->unk58, 0);
|
|
HuSprAttrSet(temp_r27, 32 + arg1->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r27, 36 + arg1->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuAudFXPlay(3);
|
|
}
|
|
if (arg1->unk68 == var_r30 + var_r29 * 4) {
|
|
return;
|
|
}
|
|
do {
|
|
for (i = 0; i < 4; i++) {
|
|
if (i != arg1->unk58 && lbl_1_bss_1E10[i].unk70[0] == 1 && var_r30 + var_r29 * 4 == lbl_1_bss_1E10[i].unk68) {
|
|
if (var_r26 == 0 || var_r25 == 0) {
|
|
if (var_r30 + var_r26 > 3 || var_r30 + var_r26 < 0) {
|
|
var_r30 = temp_r23;
|
|
} else {
|
|
var_r30 += var_r26;
|
|
}
|
|
if (var_r29 + var_r25 > 1 || var_r29 + var_r25 < 0) {
|
|
var_r29 = temp_r22;
|
|
} else {
|
|
var_r29 += var_r25;
|
|
}
|
|
} else {
|
|
if (var_r30 + var_r26 <= 3 && var_r30 + var_r26 >= 0) {
|
|
var_r30 += var_r26;
|
|
} else if (var_r29 + var_r25 <= 1 && var_r29 + var_r25 >= 0) {
|
|
var_r29 += var_r25;
|
|
} else {
|
|
var_r30 = temp_r23;
|
|
var_r29 = temp_r22;
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
} while (i != 4);
|
|
if (arg1->unk68 != var_r30 + var_r29 * 4) {
|
|
arg1->unk68 = var_r30 + var_r29 * 4;
|
|
HuAudFXPlay(0);
|
|
for (i = 0; i <= 10; i++) {
|
|
fn_1_243B0();
|
|
temp_f31 = fn_1_24204(lbl_1_data_36C[temp_r23][0], lbl_1_data_36C[var_r30][0], i, 10.0f);
|
|
var_f30 = fn_1_24204(lbl_1_data_36C[temp_r22][1], lbl_1_data_36C[var_r29][1], i, 10.0f);
|
|
HuSprPosSet(temp_r27, 24 + arg1->unk58, temp_f31, var_f30);
|
|
HuSprPosSet(temp_r27, 28 + arg1->unk58, temp_f31, var_f30);
|
|
HuSprPosSet(temp_r27, 32 + arg1->unk58, temp_f31, 35.0f + var_f30);
|
|
HuSprPosSet(temp_r27, 36 + arg1->unk58, 1.0f + temp_f31, 37.0f + var_f30);
|
|
}
|
|
}
|
|
}
|
|
|
|
void fn_1_1E608(StructBss8_24* arg0) {
|
|
s32 temp_r30;
|
|
s32 i;
|
|
|
|
temp_r30 = lbl_1_bss_2050.unk30;
|
|
while (TRUE) {
|
|
for (i = 0; i < 4; i++) {
|
|
if (i != arg0->unk58 && lbl_1_bss_1E10[i].unk70[0] == 1 && arg0->unk68 == lbl_1_bss_1E10[i].unk68) {
|
|
arg0->unk68++;
|
|
break;
|
|
}
|
|
}
|
|
if (i == 4) {
|
|
break;
|
|
}
|
|
};
|
|
arg0->unk64 = 0;
|
|
HuSprBankSet(temp_r30, arg0->unk68, 0);
|
|
HuSprBankSet(temp_r30, 24 + arg0->unk58, 0);
|
|
HuSprBankSet(temp_r30, 28 + arg0->unk58, 0);
|
|
HuSprBankSet(temp_r30, 32 + arg0->unk58, arg0->unk64);
|
|
HuSprBankSet(temp_r30, 49 + arg0->unk58, arg0->unk64);
|
|
HuSprPosSet(temp_r30, 24 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 / 4][1]);
|
|
HuSprPosSet(temp_r30, 28 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 / 4][1]);
|
|
HuSprPosSet(temp_r30, 32 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0], lbl_1_data_36C[arg0->unk68 / 4][1] + 35);
|
|
HuSprPosSet(temp_r30, 36 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0] + 1, lbl_1_data_36C[arg0->unk68 / 4][1] + 37);
|
|
HuSprPosSet(temp_r30, 49 + arg0->unk58, lbl_1_data_36C[arg0->unk68 % 4][0] + 1, lbl_1_data_36C[arg0->unk68 / 4][1] + 37);
|
|
arg0->unk70[2] = 0;
|
|
HuSprAttrReset(temp_r30, 24 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrReset(temp_r30, 28 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 32 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 36 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 49 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
|
|
void fn_1_1EB20(StructBss8_24* arg0) {
|
|
s32 temp_r30;
|
|
|
|
temp_r30 = lbl_1_bss_2050.unk30;
|
|
HuSprBankSet(temp_r30, arg0->unk68, 0);
|
|
HuSprAttrSet(temp_r30, 24 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 28 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 32 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 36 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 49 + arg0->unk58, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
|
|
void fn_1_1EBE8(void) {
|
|
s32 temp_r30;
|
|
s32 i;
|
|
|
|
temp_r30 = lbl_1_bss_2050.unk30;
|
|
HuSprPosSet(temp_r30, 54, lbl_1_data_3CC[3], lbl_1_data_3CC[2]);
|
|
HuSprPosSet(temp_r30, 55, lbl_1_data_3CC[4], lbl_1_data_3CC[2]);
|
|
for (i = 0; i < 2; i++) {
|
|
HuSprAttrReset(temp_r30, 54 + i, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
}
|
|
|
|
void fn_1_1ED20(void) {
|
|
s32 temp_r30;
|
|
s32 i;
|
|
|
|
temp_r30 = lbl_1_bss_2050.unk30;
|
|
HuSprPosSet(temp_r30, 54, lbl_1_data_3CC[3], lbl_1_data_3CC[2]);
|
|
HuSprPosSet(temp_r30, 55, lbl_1_data_3CC[4], lbl_1_data_3CC[2]);
|
|
for (i = 0; i < 2; i++) {
|
|
HuSprAttrSet(temp_r30, 54 + i, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
}
|
|
|
|
void fn_1_1EE58(s32 arg0, UnkFunc1EE58Struct* arg1) {
|
|
float var_f31;
|
|
float var_f30;
|
|
s32 temp_r29;
|
|
s32 var_r28;
|
|
s32 sp8;
|
|
s32 i;
|
|
|
|
temp_r29 = arg1->unk30;
|
|
var_r28 = 0;
|
|
sp8 = arg1->unk08;
|
|
lbl_1_bss_2050.unk1C[3] = 0;
|
|
arg1->unk08 = 1;
|
|
if (HuPadStkX[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 2)) {
|
|
var_r28 = 1;
|
|
arg1->unk1C++;
|
|
if (arg1->unk1C > 2) {
|
|
arg1->unk1C = 0;
|
|
}
|
|
} else if (HuPadStkX[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 1)) {
|
|
var_r28 = -1;
|
|
arg1->unk1C--;
|
|
if (arg1->unk1C < 0) {
|
|
arg1->unk1C = 2;
|
|
}
|
|
}
|
|
if (var_r28 != 0) {
|
|
lbl_1_bss_2050.unk1C[3] = 1;
|
|
HuAudFXPlay(0);
|
|
for (i = 0; i <= 10; i++) {
|
|
fn_1_243B0();
|
|
if (i <= 5) {
|
|
var_f31 = fn_1_24204(0.0f, 10.0f, i, 5.0f);
|
|
var_f30 = fn_1_24204(1.0f, 0.0f, i, 5.0f);
|
|
} else {
|
|
var_f31 = fn_1_24204(10.0f, 0.0f, i - 5, 5.0f);
|
|
var_f30 = fn_1_24204(0.0f, 1.0f, i - 5, 5.0f);
|
|
}
|
|
if (var_r28 == 1) {
|
|
HuSprPosSet(temp_r29, 55, lbl_1_data_3CC[4] + var_f31, lbl_1_data_3CC[2]);
|
|
HuSprPosSet(temp_r29, 56, 380.0f + var_f31, lbl_1_data_3CC[2]);
|
|
} else {
|
|
HuSprPosSet(temp_r29, 54, lbl_1_data_3CC[3] - var_f31, lbl_1_data_3CC[2]);
|
|
HuSprPosSet(temp_r29, 56, 380.0f - var_f31, lbl_1_data_3CC[2]);
|
|
}
|
|
HuSprScaleSet(temp_r29, 56, 1.0f, var_f30);
|
|
if (i == 6) {
|
|
HuSprBankSet(temp_r29, 56, arg1->unk1C);
|
|
}
|
|
}
|
|
}
|
|
lbl_1_bss_2050.unk1C[3] = 0;
|
|
}
|
|
|
|
void fn_1_1F32C(omObjData* arg0) {
|
|
float var_f31;
|
|
float var_f30;
|
|
s32 temp_r29;
|
|
s32 var_r28;
|
|
s32 var_r27;
|
|
s32 j;
|
|
s32 i;
|
|
|
|
var_r27 = 0;
|
|
temp_r29 = lbl_1_bss_2050.unk30;
|
|
lbl_1_bss_2050.unk1C[3] = 0;
|
|
var_r28 = lbl_1_bss_2050.unk1C[0] - var_r27;
|
|
if (var_r28 > 3) {
|
|
var_r28 = 0;
|
|
} else if (var_r28 < 0) {
|
|
var_r28 = 3;
|
|
}
|
|
if (HuPadStkX[lbl_1_bss_1E10->unk6C] >= 5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 2)) {
|
|
var_r27 = 1;
|
|
lbl_1_bss_2050.unk1C[3] = 1;
|
|
HuAudFXPlay(0);
|
|
lbl_1_bss_2050.unk1C[0]++;
|
|
if (lbl_1_bss_2050.unk1C[0] > 3) {
|
|
lbl_1_bss_2050.unk1C[0] = 1;
|
|
}
|
|
} else if (HuPadStkX[lbl_1_bss_1E10->unk6C] <= -5 || (HuPadBtn[lbl_1_bss_1E10->unk6C] & 1)) {
|
|
var_r27 = -1;
|
|
lbl_1_bss_2050.unk1C[3] = 1;
|
|
HuAudFXPlay(0);
|
|
lbl_1_bss_2050.unk1C[0]--;
|
|
if (lbl_1_bss_2050.unk1C[0] < 1) {
|
|
lbl_1_bss_2050.unk1C[0] = 3;
|
|
}
|
|
}
|
|
if (var_r27 != 0) {
|
|
for (i = 0; i <= 10; i++) {
|
|
fn_1_243B0();
|
|
if (i <= 5) {
|
|
var_f31 = fn_1_24204(0.0f, 10.0f, i, 5.0f);
|
|
var_f30 = fn_1_24204(1.0f, 0.0f, i, 5.0f);
|
|
} else {
|
|
var_f31 = fn_1_24204(10.0f, 0.0f, i - 5, 5.0f);
|
|
var_f30 = fn_1_24204(0.0f, 1.0f, i - 5, 5.0f);
|
|
}
|
|
if (var_r27 == 1) {
|
|
HuSprPosSet(temp_r29, 55, lbl_1_data_3CC[1] + var_f31, lbl_1_data_3CC[2]);
|
|
} else {
|
|
HuSprPosSet(temp_r29, 54, lbl_1_data_3CC[0] - var_f31, lbl_1_data_3CC[2]);
|
|
}
|
|
if (lbl_1_bss_2050.unk1C[0] != 0) {
|
|
var_f30 = fn_1_24204(0.0f, 1.0f, i, 10.0f);
|
|
} else {
|
|
var_f30 = fn_1_24204(1.0f, 0.0f, i, 10.0f);
|
|
}
|
|
HuSprScaleSet(temp_r29, 85, var_f30, var_f30);
|
|
for (j = 0; j < 4; j++) {
|
|
var_f31 = fn_1_24204(lbl_1_data_448[lbl_1_bss_1E10[j].unk58][var_r28], lbl_1_data_448[lbl_1_bss_1E10[j].unk58][lbl_1_bss_2050.unk1C[0]], i, 10.0f);
|
|
HuSprPosSet(temp_r29, 57 + lbl_1_bss_1E10[j].unk68, var_f31, lbl_1_data_3CC[2]);
|
|
HuSprPosSet(temp_r29, 65 + j, var_f31 + 1.0f, lbl_1_data_3CC[2] + 2);
|
|
if (lbl_1_bss_1E10[j].unk60 != 0) {
|
|
HuSprPosSet(temp_r29, 77 + j, var_f31, lbl_1_data_3CC[2] + 21);
|
|
} else {
|
|
HuSprPosSet(temp_r29, 73 + j, var_f31 - 8.0f, lbl_1_data_3CC[2] - 21);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
lbl_1_bss_2050.unk1C[3] = 0;
|
|
}
|
|
|
|
void fn_1_1FABC(void) {
|
|
s32 temp_r30;
|
|
s32 i;
|
|
|
|
temp_r30 = lbl_1_bss_2050.unk30;
|
|
for (i = 0; i < 4; i++) {
|
|
HuSprAttrSet(temp_r30, 77 + i, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 73 + i, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 85, HUSPR_ATTR_DISPOFF);
|
|
HuSprAttrSet(temp_r30, 65 + lbl_1_bss_1E10[i].unk58, HUSPR_ATTR_DISPOFF);
|
|
HuSprScaleSet(temp_r30, 77 + i, 0.0f, 0.0f);
|
|
HuSprScaleSet(temp_r30, 73 + i, 0.0f, 0.0f);
|
|
HuSprScaleSet(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, 0.0f, 0.0f);
|
|
HuSprScaleSet(temp_r30, 81 + i, 1.0f, 1.0f);
|
|
}
|
|
}
|
|
|
|
void fn_1_1FC44(s32 arg0) {
|
|
float var_f31;
|
|
float var_f30;
|
|
s32 temp_r30;
|
|
s32 var_r27;
|
|
s32 i;
|
|
s32 j;
|
|
|
|
temp_r30 = lbl_1_bss_2050.unk30;
|
|
if (arg0 == 2) {
|
|
for (i = 0; i < 2; i++) {
|
|
HuSprAttrSet(temp_r30, 54 + i, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
return;
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
HuSprAttrReset(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, lbl_1_data_3E4[lbl_1_bss_1E10[i].unk58][0], lbl_1_data_3CC[2]);
|
|
if (arg0 == 0) {
|
|
HuSprScaleSet(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, 0.0f, 1.0f);
|
|
} else {
|
|
HuSprScaleSet(temp_r30, 57 + lbl_1_bss_1E10[i].unk68, 1.0f, 1.0f);
|
|
}
|
|
if (lbl_1_bss_1E10[i].unk60 != 0) {
|
|
HuSprAttrReset(temp_r30, 77 + i, HUSPR_ATTR_DISPOFF);
|
|
HuSprBankSet(temp_r30, 77 + i, lbl_1_bss_1E10[i].unk64);
|
|
HuSprPosSet(temp_r30, 77 + i, lbl_1_data_3E4[lbl_1_bss_1E10[i].unk58][0], lbl_1_data_3CC[2] + 21);
|
|
if (arg0 == 0) {
|
|
HuSprScaleSet(temp_r30, 77 + i, 0.0f, 1.0f);
|
|
} else {
|
|
HuSprScaleSet(temp_r30, 77 + i, 1.0f, 1.0f);
|
|
}
|
|
} else {
|
|
HuSprAttrReset(temp_r30, 73 + i, HUSPR_ATTR_DISPOFF);
|
|
HuSprBankSet(temp_r30, 73 + i, lbl_1_bss_1E10[i].unk58);
|
|
HuSprPosSet(temp_r30, 73 + i, lbl_1_data_3E4[lbl_1_bss_1E10[i].unk58][0] - 8.0f, lbl_1_data_3CC[2] - 21);
|
|
if (arg0 == 0) {
|
|
HuSprScaleSet(temp_r30, 73 + i, 0.0f, 1.0f);
|
|
} else {
|
|
HuSprScaleSet(temp_r30, 73 + i, 1.0f, 1.0f);
|
|
}
|
|
}
|
|
}
|
|
HuSprAttrReset(temp_r30, 85, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r30, 85, 340.0f, lbl_1_data_3CC[2]);
|
|
HuSprScaleSet(temp_r30, 85, 0.0f, 0.0f);
|
|
if (arg0 == 0) {
|
|
lbl_1_bss_2050.unk1C[0] = 1;
|
|
var_r27 = 0;
|
|
} else {
|
|
var_r27 = lbl_1_bss_2050.unk1C[0];
|
|
lbl_1_bss_2050.unk1C[0] = 0;
|
|
}
|
|
for (i = 0; i <= 10; i++) {
|
|
if (i <= 5) {
|
|
var_f31 = fn_1_24204(1.0f, 0.0f, i, 5.0f);
|
|
} else {
|
|
var_f31 = fn_1_24204(0.0f, 1.0f, i - 5, 5.0f);
|
|
}
|
|
for (j = 0; j < 4; j++) {
|
|
HuSprScaleSet(temp_r30, 65 + j, var_f31, 1.0f);
|
|
if ((i > 5 && arg0 == 0) || (i <= 5 && arg0 == 1)) {
|
|
HuSprScaleSet(temp_r30, 57 + lbl_1_bss_1E10[j].unk68, var_f31, 1.0f);
|
|
if (lbl_1_bss_1E10[j].unk60 != 0) {
|
|
HuSprScaleSet(temp_r30, 77 + j, var_f31, 1.0f);
|
|
} else {
|
|
HuSprScaleSet(temp_r30, 73 + j, var_f31, 1.0f);
|
|
}
|
|
} else {
|
|
HuSprScaleSet(temp_r30, 81 + j, var_f31, 1.0f);
|
|
}
|
|
var_f30 = fn_1_24204(lbl_1_data_448[lbl_1_bss_1E10[j].unk58][var_r27], lbl_1_data_448[lbl_1_bss_1E10[j].unk58][lbl_1_bss_2050.unk1C[0]], i, 10.0f);
|
|
HuSprPosSet(temp_r30, 57 + lbl_1_bss_1E10[j].unk68, var_f30, lbl_1_data_3CC[2]);
|
|
HuSprPosSet(temp_r30, 65 + j, var_f30 + 1.0f, lbl_1_data_3CC[2] + 2);
|
|
if (lbl_1_bss_1E10[j].unk60 != 0) {
|
|
HuSprPosSet(temp_r30, 77 + j, var_f30, lbl_1_data_3CC[2] + 21);
|
|
} else {
|
|
HuSprPosSet(temp_r30, 73 + j, var_f30 - 8.0f, lbl_1_data_3CC[2] - 21);
|
|
}
|
|
}
|
|
if (lbl_1_bss_2050.unk1C[0] != 0) {
|
|
var_f31 = fn_1_24204(0.0f, 1.0f, i, 10.0f);
|
|
} else {
|
|
var_f31 = fn_1_24204(1.0f, 0.0f, i, 10.0f);
|
|
}
|
|
HuSprScaleSet(temp_r30, 85, var_f31, var_f31);
|
|
fn_1_243B0();
|
|
}
|
|
HuSprPosSet(temp_r30, 54, lbl_1_data_3CC[0], lbl_1_data_3CC[2]);
|
|
HuSprPosSet(temp_r30, 55, lbl_1_data_3CC[1], lbl_1_data_3CC[2]);
|
|
if (arg0 == 0) {
|
|
for (i = 0; i < 2; i++) {
|
|
HuSprAttrReset(temp_r30, 54 + i, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
} else {
|
|
for (i = 0; i < 2; i++) {
|
|
HuSprAttrSet(temp_r30, 54 + i, HUSPR_ATTR_DISPOFF);
|
|
}
|
|
}
|
|
}
|
|
|
|
void fn_1_20728(void) {
|
|
fn_1_1A6A0();
|
|
}
|
|
|
|
s32 fn_1_20970(void) {
|
|
s32 var_r23;
|
|
s32 temp_r26;
|
|
s32 temp_r28;
|
|
s32 var_r24;
|
|
s32 var_r29;
|
|
s32 var_r30;
|
|
s32 var_r25;
|
|
s32 temp_r27;
|
|
s32 i;
|
|
|
|
var_r23 = 0;
|
|
temp_r26 = fn_1_2530C(0, 0, 0);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1);
|
|
fn_1_25838(temp_r26, MAKE_MESSID(26, 5), -1, -1);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1);
|
|
fn_1_243B0();
|
|
fn_1_25CA8(MAKE_MESSID(26, 33));
|
|
temp_r28 = lbl_1_bss_2050.unk34;
|
|
HuSprAttrReset(temp_r28, 8, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r28, 8, lbl_1_data_32C[0][0] - 50, lbl_1_data_32C[0][1]);
|
|
HuSprAttrReset(temp_r28, 9, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r28, 9, lbl_1_data_32C[3][0] + 50, lbl_1_data_32C[0][1]);
|
|
lbl_1_bss_2050.unk04 = (void*) fn_1_19F5C;
|
|
var_r24 = 99;
|
|
var_r23 = 0;
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
var_r30 = 0;
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk70[3] == 0) {
|
|
var_r30++;
|
|
}
|
|
}
|
|
if (var_r24 != var_r30) {
|
|
var_r24 = var_r30;
|
|
fn_1_25838(temp_r26, MAKE_MESSID(26, 27 + var_r30), -1, -999);
|
|
}
|
|
if (lbl_1_bss_2050.unk1C[0] != 0) {
|
|
continue;
|
|
}
|
|
if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x100) {
|
|
var_r29 = 1;
|
|
HuAudFXPlay(2);
|
|
lbl_1_bss_2050.unk04 = NULL;
|
|
fn_1_24388(2);
|
|
var_r30 = var_r25 = 0;
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 0) {
|
|
var_r25++;
|
|
}
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
if (var_r30 < var_r25) {
|
|
if (HuPadStatGet(i) != -1) {
|
|
var_r30++;
|
|
lbl_1_bss_1E10[i].unk60 = 0;
|
|
} else {
|
|
lbl_1_bss_1E10[i].unk60 = 1;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
} else if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200) {
|
|
var_r29 = -99;
|
|
HuAudFXPlay(3);
|
|
break;
|
|
}
|
|
}
|
|
temp_r27 = lbl_1_bss_2050.unk34;
|
|
HuSprAttrSet(temp_r27, 8, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r27, 8, lbl_1_data_32C[0][0] - 50, lbl_1_data_32C[0][1]);
|
|
HuSprAttrSet(temp_r27, 9, HUSPR_ATTR_DISPOFF);
|
|
HuSprPosSet(temp_r27, 9, lbl_1_data_32C[3][0] + 50, lbl_1_data_32C[0][1]);
|
|
lbl_1_bss_2050.unk04 = NULL;
|
|
fn_1_25E74(0);
|
|
fn_1_25584(temp_r26);
|
|
if (var_r29 != -99) {
|
|
var_r30 = 0;
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 0) {
|
|
var_r30++;
|
|
}
|
|
}
|
|
if (var_r30 == 0) {
|
|
var_r29 = 2;
|
|
} else {
|
|
var_r29 = 1;
|
|
}
|
|
}
|
|
return var_r29;
|
|
}
|
|
|
|
void fn_1_20E84(s32 arg0) {
|
|
float var_f31;
|
|
s32 sp10;
|
|
s32 spC;
|
|
s32 temp_r30;
|
|
s32 i;
|
|
|
|
spC = 0;
|
|
sp10 = 0;
|
|
temp_r30 = lbl_1_bss_2050.unk34;
|
|
for (i = 0; i <= 60; i++) {
|
|
fn_1_243B0();
|
|
if (i <= 10) {
|
|
var_f31 = fn_1_24204(2.06f, 10.0f, i, 10.0f);
|
|
} else {
|
|
var_f31 = fn_1_2412C(10.0f, -500.0f, i - 10, 50.0f);
|
|
}
|
|
HuSprGrpPosSet(temp_r30, 0.0f, var_f31);
|
|
}
|
|
fn_1_1B260(0);
|
|
fn_1_1CB4C();
|
|
fn_1_1B260(arg0);
|
|
}
|
|
|
|
void fn_1_20FD4(s32 arg0) {
|
|
fn_1_1BCEC();
|
|
}
|
|
|
|
s32 fn_1_211B4(void) {
|
|
s32 var_r27;
|
|
s32 sp8;
|
|
s32 var_r29;
|
|
s32 var_r28;
|
|
s32 var_r30;
|
|
s32 i;
|
|
|
|
var_r27 = 0;
|
|
sp8 = 0;
|
|
fn_1_1CB4C();
|
|
var_r28 = fn_1_2530C(0, 0, 0);
|
|
HuWinPushKeySet(var_r28, 0x300);
|
|
fn_1_243B0();
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1);
|
|
fn_1_25838(var_r28, MAKE_MESSID(26, 9), -1, -1);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1);
|
|
fn_1_25CA8(MAKE_MESSID(26, 32));
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 0) {
|
|
lbl_1_bss_1E10[i].unk4 = (void*) fn_1_1CEB0;
|
|
}
|
|
}
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 0 && (HuPadBtnDown[lbl_1_bss_1E10[i].unk6C] & 0x100)) {
|
|
var_r27 = 1;
|
|
}
|
|
}
|
|
if (lbl_1_bss_1E10->unk70[0] == 0 && (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200)) {
|
|
HuAudFXPlay(3);
|
|
var_r30 = 0;
|
|
break;
|
|
} else {
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 0 && lbl_1_bss_1E10[i].unk70[0] != 1) {
|
|
break;
|
|
}
|
|
}
|
|
if (i == 4) {
|
|
var_r30 = 2;
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
lbl_1_bss_1E10[i].unk4 = NULL;
|
|
}
|
|
fn_1_25E74(0);
|
|
fn_1_25584(var_r28);
|
|
if (var_r30 == 2) {
|
|
var_r29 = 0;
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 != 0) {
|
|
lbl_1_bss_1E10[i].unk68 = 0;
|
|
var_r29++;
|
|
}
|
|
}
|
|
if (var_r29 == 0) {
|
|
var_r30 = 3;
|
|
} else {
|
|
var_r30 = 2;
|
|
}
|
|
} else {
|
|
var_r30 = 0;
|
|
}
|
|
return var_r30;
|
|
}
|
|
|
|
s32 fn_1_214A4(void) {
|
|
s32 var_r30;
|
|
s32 var_r24;
|
|
s32 var_r23;
|
|
s32 var_r21;
|
|
s32 sp8;
|
|
s32 temp_r22;
|
|
s32 var_r28;
|
|
s32 var_r29;
|
|
s32 i;
|
|
|
|
var_r30 = -1;
|
|
var_r24 = -1;
|
|
var_r23 = -1;
|
|
var_r21 = -1;
|
|
sp8 = 0;
|
|
temp_r22 = fn_1_2530C(0, 0, 0);
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
var_r28 = 0;
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 != 0 && lbl_1_bss_1E10[i].unk70[0] == 0) {
|
|
var_r28++;
|
|
}
|
|
}
|
|
HuWinInsertMesSet(temp_r22, MAKE_MESSID(26, 35 + var_r28), 1);
|
|
if (var_r23 == -1) {
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1);
|
|
}
|
|
fn_1_25838(temp_r22, MAKE_MESSID(26, 40), -1, var_r23);
|
|
if (var_r23 == -1) {
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1);
|
|
}
|
|
var_r23 = -999;
|
|
fn_1_25CA8(MAKE_MESSID(26, 32));
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 != 0 && lbl_1_bss_1E10[i].unk70[0] == 0) {
|
|
var_r30 = i;
|
|
lbl_1_bss_1E10[i].unk70[1] = var_r24;
|
|
fn_1_1E608(&lbl_1_bss_1E10[i]);
|
|
lbl_1_bss_1E10[i].unk4 = (void*) fn_1_1DD74;
|
|
break;
|
|
}
|
|
}
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
if ((HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200) && lbl_1_bss_1E10[var_r30].unk70[0] == 0) {
|
|
HuAudFXPlay(3);
|
|
if (var_r24 == -1) {
|
|
var_r29 = 0;
|
|
break;
|
|
} else {
|
|
var_r29 = 1;
|
|
break;
|
|
}
|
|
} else if (lbl_1_bss_1E10[var_r30].unk70[0] == 1) {
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk70[0] == 0) {
|
|
lbl_1_bss_1E10[i].unk68 = 0;
|
|
}
|
|
}
|
|
lbl_1_bss_1E10[var_r30].unk4 = NULL;
|
|
fn_1_25838(temp_r22, MAKE_MESSID(26, 34), -1, -999);
|
|
fn_1_25CA8(MAKE_MESSID(26, 35));
|
|
var_r29 = fn_1_1D688(&lbl_1_bss_1E10[var_r30]);
|
|
if (var_r29 == 1) {
|
|
lbl_1_bss_1E10[var_r30].unk70[2] = 1;
|
|
var_r29 = 4;
|
|
var_r24 = var_r30;
|
|
} else {
|
|
lbl_1_bss_1E10[var_r30].unk70[2] = 0;
|
|
var_r29 = 4;
|
|
lbl_1_bss_1E10[var_r30].unk70[0] = 0;
|
|
fn_1_1EB20(&lbl_1_bss_1E10[var_r30]);
|
|
fn_1_1E608(&lbl_1_bss_1E10[var_r30]);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
lbl_1_bss_1E10[i].unk4 = NULL;
|
|
}
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk70[0] == 0) {
|
|
break;
|
|
}
|
|
}
|
|
if (i == 4) {
|
|
var_r29 = 3;
|
|
break;
|
|
} else {
|
|
if (var_r29 == 1) {
|
|
fn_1_1E608(&lbl_1_bss_1E10[var_r30]);
|
|
fn_1_1EB20(&lbl_1_bss_1E10[var_r30]);
|
|
fn_1_1E608(&lbl_1_bss_1E10[lbl_1_bss_1E10[var_r30].unk70[1]]);
|
|
var_r24 = lbl_1_bss_1E10[lbl_1_bss_1E10[var_r30].unk70[1]].unk70[1];
|
|
lbl_1_bss_1E10[lbl_1_bss_1E10[var_r30].unk70[1]].unk70[0] = 0;
|
|
} else if (var_r29 != 4) {
|
|
if (var_r29 == 0) {
|
|
fn_1_1EB20(&lbl_1_bss_1E10[var_r30]);
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
var_r21 = -1;
|
|
}
|
|
fn_1_25E74(0);
|
|
fn_1_25584(temp_r22);
|
|
if (var_r29 == 0) {
|
|
var_r28 = 0;
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 0) {
|
|
var_r28++;
|
|
}
|
|
}
|
|
if (var_r28 != 0) {
|
|
var_r29 = 1;
|
|
} else {
|
|
var_r29 = 0;
|
|
}
|
|
}
|
|
return var_r29;
|
|
}
|
|
|
|
s32 fn_1_21CA4(void) {
|
|
s32 sp8;
|
|
s32 temp_r27;
|
|
s32 var_r22;
|
|
s32 var_r28;
|
|
s32 i;
|
|
s32 j;
|
|
|
|
sp8 = 0;
|
|
temp_r27 = fn_1_2530C(0, 0, 0);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1);
|
|
fn_1_25838(temp_r27, MAKE_MESSID(40, 14), -1, -1);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1);
|
|
fn_1_243B0();
|
|
fn_1_25CA8(MAKE_MESSID(26, 33));
|
|
fn_1_1EBE8();
|
|
lbl_1_bss_2050.unk04 = (void*) fn_1_1EE58;
|
|
var_r22 = 99;
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
if (var_r22 != lbl_1_bss_2050.unk1C[0]) {
|
|
var_r22 = lbl_1_bss_2050.unk1C[0];
|
|
HuWinInsertMesSet(temp_r27, MAKE_MESSID(27, 52 + lbl_1_bss_2050.unk1C[0]), 0);
|
|
fn_1_25838(temp_r27, MAKE_MESSID(27, 51), -1, -999);
|
|
}
|
|
if (lbl_1_bss_2050.unk1C[3] != 0) {
|
|
continue;
|
|
}
|
|
if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x100) {
|
|
var_r28 = 5;
|
|
HuAudFXPlay(2);
|
|
break;
|
|
} else if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200) {
|
|
var_r28 = -99;
|
|
HuAudFXPlay(3);
|
|
for (i = 0; i < 4; i++) {
|
|
for (j = 0; j < 4; j++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 1) {
|
|
lbl_1_bss_1E10[i].unk70[j] = 0;
|
|
lbl_1_bss_1E10[i].unk80[j] = 0;
|
|
fn_1_1EB20(&lbl_1_bss_1E10[i]);
|
|
lbl_1_bss_1E10[i].unk68 = 0;
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
fn_1_1ED20();
|
|
lbl_1_bss_2050.unk04 = NULL;
|
|
fn_1_25E74(0);
|
|
fn_1_25584(temp_r27);
|
|
if (var_r28 == -99) {
|
|
j = 0;
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 1) {
|
|
j++;
|
|
}
|
|
}
|
|
if (j == 0) {
|
|
var_r28 = 1;
|
|
} else {
|
|
var_r28 = 2;
|
|
}
|
|
}
|
|
return var_r28;
|
|
}
|
|
|
|
s32 fn_1_2228C(s32 arg0) {
|
|
s32 sp8;
|
|
s32 temp_r30;
|
|
s32 var_r26;
|
|
s32 var_r27;
|
|
s32 i;
|
|
s32 j;
|
|
|
|
sp8 = 0;
|
|
temp_r30 = fn_1_2530C(0, 0, 0);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk18, 0xF, 1);
|
|
fn_1_25838(temp_r30, MAKE_MESSID(40, 13), -1, -1);
|
|
fn_1_25EC8(lbl_1_bss_3C4->unkC, lbl_1_bss_3C4->unk10, 0xF, 1);
|
|
fn_1_243B0();
|
|
fn_1_25CA8(MAKE_MESSID(26, 33));
|
|
fn_1_1FC44(0);
|
|
lbl_1_bss_2050.unk04 = (void*) fn_1_1F32C;
|
|
var_r26 = 99;
|
|
while (TRUE) {
|
|
fn_1_243B0();
|
|
if (var_r26 != lbl_1_bss_2050.unk1C[0]) {
|
|
var_r26 = lbl_1_bss_2050.unk1C[0];
|
|
switch (lbl_1_bss_2050.unk1C[0]) {
|
|
case 1:
|
|
HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 30), 0);
|
|
HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 31), 1);
|
|
HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 32), 2);
|
|
break;
|
|
case 2:
|
|
HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 31), 0);
|
|
HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 30), 1);
|
|
HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 32), 2);
|
|
break;
|
|
case 3:
|
|
HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 32), 0);
|
|
HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 30), 1);
|
|
HuWinInsertMesSet(temp_r30, MAKE_MESSID(27, 31), 2);
|
|
break;
|
|
}
|
|
fn_1_25838(temp_r30, MAKE_MESSID(27, 50), -1, -999);
|
|
}
|
|
if (lbl_1_bss_2050.unk1C[3] != 0) {
|
|
continue;
|
|
}
|
|
if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x100) {
|
|
var_r27 = 5;
|
|
HuAudFXPlay(2);
|
|
break;
|
|
} else if (HuPadBtnDown[lbl_1_bss_1E10->unk6C] & 0x200) {
|
|
var_r27 = -99;
|
|
HuAudFXPlay(3);
|
|
fn_1_1FC44(1);
|
|
for (i = 0; i < 4; i++) {
|
|
for (j = 0; j < 4; j++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 1) {
|
|
lbl_1_bss_1E10[i].unk70[j] = 0;
|
|
lbl_1_bss_1E10[i].unk80[j] = 0;
|
|
fn_1_1EB20(&lbl_1_bss_1E10[i]);
|
|
}
|
|
}
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
fn_1_1FC44(2);
|
|
lbl_1_bss_2050.unk04 = NULL;
|
|
fn_1_25E74(0);
|
|
fn_1_25584(temp_r30);
|
|
if (var_r27 == -99) {
|
|
j = 0;
|
|
for (i = 0; i < 4; i++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 1) {
|
|
j++;
|
|
}
|
|
}
|
|
if (j == 0) {
|
|
var_r27 = 1;
|
|
} else {
|
|
var_r27 = 2;
|
|
}
|
|
}
|
|
return var_r27;
|
|
}
|
|
|
|
void fn_1_22728(void) {
|
|
s32 i;
|
|
s32 j;
|
|
|
|
fn_1_1BECC();
|
|
fn_1_1FABC();
|
|
if (lbl_1_bss_3C4->unk1C == 0 || lbl_1_bss_3C4->unk1C == 3) {
|
|
for (i = 0; i < 4; i++) {
|
|
for (j = 0; j < 4; j++) {
|
|
if (lbl_1_bss_1E10[i].unk60 == 1) {
|
|
lbl_1_bss_1E10[i].unk70[j] = 0;
|
|
lbl_1_bss_1E10[i].unk80[j] = 0;
|
|
fn_1_1EB20(&lbl_1_bss_1E10[i]);
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
void fn_1_22C08(omObjData* arg0) {
|
|
float var_f31;
|
|
s32 i;
|
|
|
|
for (i = 1; i < 10; i++) {
|
|
if (CZoom <= 1200.0f || lbl_1_bss_3CC[i].unk1C == -200.0f) {
|
|
if (lbl_1_bss_3CC[i].unk1C >= -100.0f) {
|
|
lbl_1_bss_3CC[i].unk00 = 0;
|
|
lbl_1_bss_3CC[i].unk1C = -200.0f;
|
|
lbl_1_bss_3CC[i].unk24 = -99.0f;
|
|
lbl_1_bss_3CC[i].unk04 = rand8() + 180;
|
|
}
|
|
var_f31 = fn_1_2412C(lbl_1_bss_3CC[i].unk10, 1000.0f, lbl_1_bss_3CC[i].unk00++, lbl_1_bss_3CC[i].unk04);
|
|
Hu3DData[arg0->model[i]].pos.y = fn_1_2410C(Hu3DData[arg0->model[i]].pos.y, var_f31, 30.0f);
|
|
Hu3DData[arg0->model[i]].pos.x = fn_1_2410C(Hu3DData[arg0->model[i]].pos.x, lbl_1_bss_3CC[i].unk18 + Hu3DData[arg0->model[i]].pos.x, 5.0f);
|
|
}
|
|
}
|
|
for (i = 10; i < 140; i++) {
|
|
Hu3DData[arg0->model[i]].pos.y = fn_1_242CC(lbl_1_bss_3CC[i].unk10, lbl_1_bss_3CC[i].unk1C, lbl_1_bss_3CC[i].unk00++, lbl_1_bss_3CC[i].unk04);
|
|
if (lbl_1_bss_3CC[i].unk00 >= lbl_1_bss_3CC[i].unk04) {
|
|
lbl_1_bss_3CC[i].unk00 = 0;
|
|
}
|
|
}
|
|
for (i = 10; i < 140; i++) {
|
|
if (0.0f == lbl_1_bss_3CC[i].unk24 && lbl_1_bss_3CC[i].unk14 > CZoom - 400.0f && lbl_1_bss_3CC[i].unk0C < 200.0f && lbl_1_bss_3CC[i].unk0C > -200.0f) {
|
|
if (0.0f >= lbl_1_bss_3CC[i].unk0C) {
|
|
lbl_1_bss_3CC[i].unk24 = -300.0f;
|
|
} else {
|
|
lbl_1_bss_3CC[i].unk24 = 300.0f;
|
|
}
|
|
}
|
|
if (-99.0f != lbl_1_bss_3CC[i].unk24) {
|
|
Hu3DData[arg0->model[i]].pos.x = fn_1_2410C(Hu3DData[arg0->model[i]].pos.x, lbl_1_bss_3CC[i].unk0C + lbl_1_bss_3CC[i].unk24, 30.0f);
|
|
}
|
|
}
|
|
if (arg0->work[0] == 1) {
|
|
for (i = 10; i < 140; i++) {
|
|
Hu3DModelAttrSet(arg0->model[i], 1);
|
|
}
|
|
}
|
|
}
|
|
|
|
void fn_1_231F0(omObjData* arg0) {
|
|
float temp_f31;
|
|
float temp_f30;
|
|
float temp_f29;
|
|
s32 var_r28;
|
|
s32 i;
|
|
s32 j;
|
|
|
|
arg0->model[1] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MGMODE, 141));
|
|
arg0->model[2] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MGMODE, 142));
|
|
arg0->model[3] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MGMODE, 143));
|
|
arg0->model[4] = Hu3DModelCreateFile(DATA_MAKE_NUM(DATADIR_MGMODE, 144));
|
|
Hu3DModelLayerSet(arg0->model[1], 3);
|
|
Hu3DModelLayerSet(arg0->model[2], 3);
|
|
Hu3DModelLayerSet(arg0->model[3], 3);
|
|
Hu3DModelLayerSet(arg0->model[4], 3);
|
|
for (i = 5; i < 140; i++) {
|
|
arg0->model[i] = Hu3DModelLink(arg0->model[rand8() % 4 + 1]);
|
|
}
|
|
for (i = 1; i < 10; i++) {
|
|
var_r28 = 0;
|
|
do {
|
|
temp_f31 = Hu3DData[arg0->model[i]].pos.x = 50.0f + rand8();
|
|
if (i % 2 != 0) {
|
|
lbl_1_bss_3CC[i].unk0C = Hu3DData[arg0->model[i]].pos.x *= -1.0f;
|
|
}
|
|
temp_f30 = Hu3DData[arg0->model[i]].pos.y = 50.0f + rand8();
|
|
temp_f29 = Hu3DData[arg0->model[i]].pos.z = 750.0f + i * 5;
|
|
for (j = 1; j < 10; j++) {
|
|
if (i != j && lbl_1_bss_3CC[j].unk08 == 1) {
|
|
temp_f31 = Hu3DData[arg0->model[i]].pos.x - Hu3DData[arg0->model[j]].pos.x;
|
|
temp_f30 = Hu3DData[arg0->model[i]].pos.y - Hu3DData[arg0->model[j]].pos.y;
|
|
temp_f29 = Hu3DData[arg0->model[i]].pos.z - Hu3DData[arg0->model[j]].pos.z;
|
|
if (sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30) <= 100.0f) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
var_r28++;
|
|
} while (j != 10 && var_r28 < 50);
|
|
lbl_1_bss_3CC[i].unk08 = 1;
|
|
lbl_1_bss_3CC[i].unk0C = lbl_1_bss_3CC[i].unk18 = Hu3DData[arg0->model[i]].pos.x;
|
|
lbl_1_bss_3CC[i].unk10 = lbl_1_bss_3CC[i].unk1C = Hu3DData[arg0->model[i]].pos.y;
|
|
lbl_1_bss_3CC[i].unk14 = lbl_1_bss_3CC[i].unk20 = Hu3DData[arg0->model[i]].pos.z;
|
|
lbl_1_bss_3CC[i].unk18 = 0.025f * lbl_1_bss_3CC[i].unk0C;
|
|
Hu3DModelScaleSet(arg0->model[i], 0.5f, 0.5f, 0.5f);
|
|
Hu3DModelLayerSet(arg0->model[i], 3);
|
|
}
|
|
for (i = 10; i < 140; i++) {
|
|
var_r28 = 0;
|
|
do {
|
|
temp_f31 = Hu3DData[arg0->model[i]].pos.x = rand8() * 2;
|
|
if (i % 2 != 0) {
|
|
Hu3DData[arg0->model[i]].pos.x *= -1.0f;
|
|
}
|
|
temp_f30 = Hu3DData[arg0->model[i]].pos.y = rand8() * 2 + 125;
|
|
temp_f29 = Hu3DData[arg0->model[i]].pos.z = 800.0f + i * 10;
|
|
for (j = 10; j < 140; j++) {
|
|
if (i != j && lbl_1_bss_3CC[j].unk08 == 1) {
|
|
temp_f31 = Hu3DData[arg0->model[i]].pos.x - Hu3DData[arg0->model[j]].pos.x;
|
|
temp_f30 = Hu3DData[arg0->model[i]].pos.y - Hu3DData[arg0->model[j]].pos.y;
|
|
temp_f29 = Hu3DData[arg0->model[i]].pos.z - Hu3DData[arg0->model[j]].pos.z;
|
|
if (sqrtf(temp_f31 * temp_f31 + temp_f30 * temp_f30 + temp_f29 * temp_f29) <= 100.0f) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
var_r28++;
|
|
} while (j != 140 && var_r28 < 50);
|
|
lbl_1_bss_3CC[i].unk08 = 1;
|
|
Hu3DModelLayerSet(arg0->model[i], 3);
|
|
lbl_1_bss_3CC[i].unk0C = lbl_1_bss_3CC[i].unk18 = Hu3DData[arg0->model[i]].pos.x;
|
|
lbl_1_bss_3CC[i].unk10 = lbl_1_bss_3CC[i].unk1C = Hu3DData[arg0->model[i]].pos.y;
|
|
lbl_1_bss_3CC[i].unk14 = lbl_1_bss_3CC[i].unk20 = Hu3DData[arg0->model[i]].pos.z;
|
|
if (rand8() % 2 == 0) {
|
|
lbl_1_bss_3CC[i].unk18 += rand8() % 30;
|
|
} else {
|
|
lbl_1_bss_3CC[i].unk18 -= rand8() % 30;
|
|
}
|
|
lbl_1_bss_3CC[i].unk1C += rand8() % 30 + 10;
|
|
if (rand8() % 2 == 0) {
|
|
lbl_1_bss_3CC[i].unk20 += rand8() % 30;
|
|
} else {
|
|
lbl_1_bss_3CC[i].unk20 -= rand8() % 30;
|
|
}
|
|
lbl_1_bss_3CC[i].unk24 = lbl_1_bss_3CC[i].unk28 = lbl_1_bss_3CC[i].unk2C = 0.0f;
|
|
lbl_1_bss_3CC[i].unk04 = 360 + (rand8() * 2) % 360;
|
|
lbl_1_bss_3CC[i].unk00 = rand8();
|
|
}
|
|
for (i = 1; i < 140; i++) {
|
|
Hu3DModelAttrSet(arg0->model[i], 1);
|
|
}
|
|
arg0->func = fn_1_22C08;
|
|
}
|
|
|
|
float fn_1_240E4(float arg0, float arg1, float arg2, float arg3) {
|
|
if (arg3 <= arg2) {
|
|
return arg1;
|
|
}
|
|
return arg0 + (arg2 / arg3) * (arg1 - arg0);
|
|
}
|
|
|
|
float fn_1_2410C(float arg0, float arg1, float arg2) {
|
|
return (arg1 + arg0 * (arg2 - 1.0f)) / arg2;
|
|
}
|
|
|
|
float fn_1_2412C(float arg0, float arg1, float arg2, float arg3) {
|
|
if (arg2 >= arg3) {
|
|
return arg1;
|
|
}
|
|
return arg0 + (arg1 - arg0) * (1.0 - cosd((90.0f / arg3) * arg2));
|
|
}
|
|
|
|
float fn_1_24204(float arg0, float arg1, float arg2, float arg3) {
|
|
if (arg2 >= arg3) {
|
|
return arg1;
|
|
}
|
|
return arg0 + (arg1 - arg0) * sind((90.0f / arg3) * arg2);
|
|
}
|
|
|
|
float fn_1_242CC(float arg0, float arg1, float arg2, float arg3) {
|
|
if (arg2 >= arg3) {
|
|
return arg0;
|
|
}
|
|
return arg0 + (arg1 - arg0) * sind((360.0f / arg3) * arg2);
|
|
}
|
|
|
|
void fn_1_24388(s32 arg0) {
|
|
HuPrcSleep(arg0);
|
|
}
|
|
|
|
void fn_1_243B0(void) {
|
|
HuPrcVSleep();
|
|
}
|
|
|
|
void fn_1_243D0(void) {
|
|
while (TRUE) {
|
|
HuPrcVSleep();
|
|
}
|
|
}
|
|
|
|
void fn_1_243E4(void) {
|
|
s32 var_r31;
|
|
|
|
var_r31 = 0;
|
|
var_r31 = Hu3DGLightCreate(0.0f, 700.0f, 1200.0f, 0.0f, -1.0f, 0.0f, 0xFF, 0xFF, 0xFF);
|
|
Hu3DGLightPosAimSet(var_r31, 0.0f, 700.0f, 1200.0f, 0.0f, 0.0f, 640.0f);
|
|
Hu3DGLightInfinitytSet(var_r31);
|
|
}
|
|
|
|
void fn_1_244C0(s32 arg0) {
|
|
Vec sp24 = { 0.0f, 3000.0f, 800.0f };
|
|
Vec sp18 = { 0.0f, 0.0f, 640.0f };
|
|
Vec spC = { 0.0f, 1.0f, 0.0f };
|
|
|
|
if (arg0 == 3) {
|
|
sp24.x = sp18.x = 1200.0f;
|
|
}
|
|
Hu3DShadowCreate(45.0f, 2000.0f, 25000.0f);
|
|
Hu3DShadowTPLvlSet(0.8f);
|
|
Hu3DShadowPosSet(&sp24, &spC, &sp18);
|
|
}
|
|
|
|
void fn_1_245A8(void) {
|
|
HuWinInit(1);
|
|
}
|
|
|
|
void fn_1_245CC(s32 arg0, float arg1, float arg2, s32 arg3) {
|
|
WindowData* temp_r29;
|
|
float temp_f29;
|
|
float temp_f28;
|
|
float temp_f25;
|
|
float temp_f24;
|
|
float var_f31;
|
|
float var_f30;
|
|
float temp_f27;
|
|
float temp_f26;
|
|
float var_f23;
|
|
float var_f22;
|
|
float var_f21;
|
|
float var_f20;
|
|
s32 i;
|
|
|
|
temp_r29 = &winData[arg0];
|
|
temp_f29 = temp_r29->pos_x;
|
|
temp_f28 = temp_r29->pos_y;
|
|
temp_f25 = temp_r29->w;
|
|
temp_f24 = temp_r29->h;
|
|
var_f31 = temp_f29 + temp_f25 * arg1;
|
|
temp_f27 = 4.0f / temp_f25;
|
|
if (var_f31 + 4.0f - (temp_f29 + temp_f25) >= 0.0f) {
|
|
var_f31 = temp_f29 + temp_f25 - 4.0f;
|
|
} else {
|
|
if (temp_f29 - (var_f31 - 2.0f) >= 0.0f) {
|
|
var_f31 = temp_f29;
|
|
} else {
|
|
var_f31 = var_f31 - 2.0f;
|
|
}
|
|
}
|
|
var_f30 = temp_f28 + temp_f24 * arg2;
|
|
temp_f26 = 4.0f / temp_f24;
|
|
if (var_f30 + 4.0f - (temp_f28 + temp_f24) >= 0.0f) {
|
|
var_f30 = temp_f28 + temp_f24 - 4.0f;
|
|
} else {
|
|
if (temp_f28 - (var_f30 - 2.0f) >= 0.0f) {
|
|
var_f30 = temp_f28;
|
|
} else {
|
|
var_f30 = var_f30 - 2.0f;
|
|
}
|
|
}
|
|
if (arg3 != 0) {
|
|
HuWinPosSet(arg0, var_f31, var_f30);
|
|
HuWinScaleSet(arg0, temp_f27, temp_f26);
|
|
var_f23 = var_f31;
|
|
var_f21 = temp_f27;
|
|
var_f22 = var_f30;
|
|
var_f20 = temp_f26;
|
|
} else {
|
|
HuWinPosSet(arg0, temp_f29, temp_f28);
|
|
HuWinScaleSet(arg0, 1.0f, 1.0f);
|
|
var_f23 = temp_f29;
|
|
var_f21 = 1.0f;
|
|
var_f22 = temp_f28;
|
|
var_f20 = 1.0f;
|
|
}
|
|
HuWinDispOn(arg0);
|
|
for (i = 0; i <= 15; i++) {
|
|
HuPrcVSleep();
|
|
if (arg3 != 0) {
|
|
if (i <= 10) {
|
|
var_f23 = fn_1_24204(var_f31, temp_f29, i, 10.0f);
|
|
var_f21 = fn_1_24204(temp_f27, 1.0f, i, 10.0f);
|
|
} else {
|
|
var_f22 = fn_1_24204(var_f30, temp_f28, i - 10, 5.0f);
|
|
var_f20 = fn_1_24204(temp_f26, 1.0f, i - 10, 5.0f);
|
|
}
|
|
} else {
|
|
if (i <= 10) {
|
|
var_f22 = fn_1_24204(temp_f28, var_f30, i, 10.0f);
|
|
var_f20 = fn_1_24204(1.0f, temp_f26, i, 10.0f);
|
|
} else {
|
|
var_f23 = fn_1_24204(temp_f29, var_f31, i - 10, 5.0f);
|
|
var_f21 = fn_1_24204(1.0f, temp_f27, i - 10, 5.0f);
|
|
}
|
|
}
|
|
HuWinPosSet(arg0, var_f23, var_f22);
|
|
HuWinScaleSet(arg0, var_f21, var_f20);
|
|
}
|
|
if (arg3 != 0) {
|
|
HuWinPosSet(arg0, temp_f29, temp_f28);
|
|
HuWinScaleSet(arg0, 1.0f, 1.0f);
|
|
} else {
|
|
HuWinPosSet(arg0, var_f31, var_f30);
|
|
HuWinScaleSet(arg0, temp_f27, temp_f26);
|
|
}
|
|
HuPrcVSleep();
|
|
}
|
|
|
|
s32 fn_1_25014(s32 arg0, s32 arg1, s32 arg2, s32 arg3, float arg4, float arg5, s32 arg6, s32 arg7, s32 arg8) {
|
|
float sp14[2];
|
|
s32 temp_r30;
|
|
|
|
if (arg6 % 2 == 0) {
|
|
arg2 = arg2 * 21 + 16;
|
|
arg3 = arg3 * 26 + 16;
|
|
arg1 = 445.0f - arg3;
|
|
switch (arg0) {
|
|
case -1:
|
|
arg0 = 16;
|
|
break;
|
|
case 0:
|
|
arg0 = 1.0f + (576.0f - arg2) / 2;
|
|
break;
|
|
case 1:
|
|
arg0 = 556.0f - arg2;
|
|
break;
|
|
}
|
|
} else {
|
|
HuWinMesMaxSizeGet(1, sp14, arg8);
|
|
arg2 = sp14[0];
|
|
arg3 = sp14[1];
|
|
arg0 = 556.0f - arg2;
|
|
arg1 = 445.0f - arg3;
|
|
}
|
|
temp_r30 = HuWinExCreateStyled(arg0, arg1, arg2, arg3, -1, 1);
|
|
if (arg6 == 1) {
|
|
HuWinAttrSet(temp_r30, 0x10);
|
|
}
|
|
HuWinMesPalSet(temp_r30, 7, 0, 0, 0);
|
|
winData[temp_r30].active_pad = 1;
|
|
fn_1_245CC(temp_r30, arg4, arg5, 1);
|
|
return temp_r30;
|
|
}
|
|
|
|
s32 fn_1_2530C(s32 arg0, s32 arg1, s32 arg2) {
|
|
return fn_1_25014(arg0, 0, 21, 2, 0.5f, 0.5f, 0, 0, 0);
|
|
}
|
|
|
|
void fn_1_25524(s32 arg0, float arg1, float arg2) {
|
|
HuWinMesSet(arg0, MAKE_MESSID(37, 4));
|
|
HuPrcVSleep();
|
|
fn_1_245CC(arg0, arg1, arg2, 0);
|
|
HuWinExCleanup(arg0);
|
|
}
|
|
|
|
void fn_1_25584(s32 arg0) {
|
|
fn_1_25524(arg0, 0.5f, 0.5f);
|
|
}
|
|
|
|
void fn_1_255EC(s32 arg0, s32 arg1) {
|
|
if (arg1 == -999 || arg1 == 0) {
|
|
return;
|
|
}
|
|
if (arg1 == -1000) {
|
|
do {
|
|
HuPrcVSleep();
|
|
} while (HuWinStatGet(arg0) == 1);
|
|
return;
|
|
}
|
|
if (arg1 > 0) {
|
|
HuPrcSleep(arg1);
|
|
return;
|
|
}
|
|
HuWinComKeyReset();
|
|
HuWinMesWait(arg0);
|
|
HuWinComKeyReset();
|
|
}
|
|
|
|
void fn_1_2567C(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
|
s32 i;
|
|
s32 temp_r28;
|
|
s32 var_r30;
|
|
|
|
temp_r28 = 0;
|
|
var_r30 = 0;
|
|
temp_r28 = HuWinKeyWaitNumGet(arg1);
|
|
if (arg2 == -1 || arg2 >= temp_r28 - 1) {
|
|
arg2 = temp_r28 - 1;
|
|
}
|
|
HuWinComKeyReset();
|
|
for (i = 0; i < temp_r28; i++) {
|
|
var_r30 = 0;
|
|
do {
|
|
HuPrcVSleep();
|
|
} while (HuWinStatGet(arg0) != 1);
|
|
if (i == arg2) {
|
|
HuWinAttrSet(arg0, 0x400);
|
|
var_r30 = 1;
|
|
}
|
|
while (TRUE) {
|
|
HuPrcVSleep();
|
|
if (var_r30 != 0) {
|
|
if (var_r30 == 1 && HuWinStatGet(arg0) != 1) {
|
|
var_r30 = 2;
|
|
} else if (var_r30 == 2) {
|
|
HuPrcSleep(arg3);
|
|
HuWinAttrReset(arg0, 0x400);
|
|
HuWinKeyWaitEntry(arg0);
|
|
break;
|
|
}
|
|
} else if (HuWinStatGet(arg0) != 1) {
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
fn_1_255EC(arg0, -1); // The second arg could be any negative value different from -999 or -1000.
|
|
HuWinComKeyReset();
|
|
}
|
|
|
|
s32 fn_1_257B0(s32 arg0) {
|
|
s32 temp_r31;
|
|
|
|
HuWinComKeyReset();
|
|
temp_r31 = HuWinChoiceGet(arg0, 0);
|
|
HuWinComKeyReset();
|
|
return temp_r31;
|
|
}
|
|
|
|
void fn_1_257F8(s32 arg0, s32 arg1, s32 arg2) {
|
|
HuWinInsertMesSet(arg0, arg1, arg2);
|
|
}
|
|
|
|
void fn_1_25838(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
|
if (arg3 == -999) {
|
|
HuWinMesSpeedSet(arg0, 0);
|
|
} else {
|
|
HuWinMesSpeedSet(arg0, 1);
|
|
}
|
|
HuWinMesSet(arg0, arg1);
|
|
if (arg2 == -1) {
|
|
fn_1_255EC(arg0, arg3);
|
|
} else {
|
|
fn_1_2567C(arg0, arg1, arg2, arg3);
|
|
}
|
|
}
|
|
|
|
s32 fn_1_2592C(s32 arg0, s32 arg1, s32 arg2) {
|
|
s32 var_r25;
|
|
s32 temp_r27;
|
|
|
|
var_r25 = 0;
|
|
temp_r27 = fn_1_25014(0, 0, 0, 0, 0.5f, 0.5f, arg1, 0, arg0);
|
|
HuWinMesSet(temp_r27, arg0);
|
|
var_r25 = fn_1_257B0(temp_r27);
|
|
fn_1_25524(temp_r27, 0.5f, 0.5f);
|
|
return var_r25;
|
|
}
|
|
|
|
s32 fn_1_25CA8(s32 arg0) {
|
|
float sp8[2];
|
|
float temp_f31;
|
|
float temp_f30;
|
|
float temp_f29;
|
|
float temp_f28;
|
|
s32 var_r31;
|
|
|
|
HuWinMesMaxSizeGet(1, sp8, arg0);
|
|
temp_f31 = sp8[0];
|
|
temp_f30 = sp8[1];
|
|
temp_f29 = (576.0f - temp_f31) / 2;
|
|
temp_f28 = 385.0f - temp_f30;
|
|
if (lbl_1_data_488 == -1) {
|
|
var_r31 = lbl_1_data_488 = HuWinExCreateStyled(temp_f29, temp_f28, temp_f31, temp_f30, -1, 1);
|
|
} else {
|
|
fn_1_25E74(lbl_1_data_488);
|
|
var_r31 = lbl_1_data_488 = HuWinExCreateStyled(temp_f29, temp_f28, temp_f31, temp_f30, -1, 1);
|
|
}
|
|
HuWinBGTPLvlSet(lbl_1_data_488, 0.0f);
|
|
HuWinMesSet(lbl_1_data_488, arg0);
|
|
HuWinMesSpeedSet(lbl_1_data_488, 0);
|
|
HuWinDispOn(lbl_1_data_488);
|
|
return lbl_1_data_488;
|
|
}
|
|
|
|
void fn_1_25E74(s32 arg0) {
|
|
if (lbl_1_data_488 != -1) {
|
|
HuWinExCleanup(lbl_1_data_488);
|
|
lbl_1_data_488 = -1;
|
|
}
|
|
}
|
|
|
|
void fn_1_25EC8(s32 arg0, s32 arg1, s32 arg2, s32 arg3) {
|
|
switch (arg3) {
|
|
case 0:
|
|
Hu3DMotionShiftSet(arg0, arg1, 0.0f, arg2, HU3D_MOTATTR_NONE);
|
|
break;
|
|
case 1:
|
|
Hu3DMotionShiftSet(arg0, arg1, 0.0f, arg2, HU3D_MOTATTR_LOOP);
|
|
break;
|
|
case 2:
|
|
Hu3DMotionShiftSet(arg0, arg1, 0.0f, arg2, HU3D_MOTATTR_PAUSE);
|
|
break;
|
|
}
|
|
}
|
|
|
|
void fn_1_26004(s32 arg0, Vec arg1, float arg2, float arg3, float arg4, s32 arg5, s32 arg6) {
|
|
Vec sp4C;
|
|
Vec sp40;
|
|
Vec sp34;
|
|
Vec sp28;
|
|
Vec sp1C;
|
|
Vec sp10;
|
|
s32 var_r30;
|
|
s32 var_r29;
|
|
s32 i;
|
|
|
|
var_r30 = 0;
|
|
var_r29 = 0;
|
|
sp40.x = Hu3DData[arg0].pos.x;
|
|
sp40.y = Hu3DData[arg0].pos.y;
|
|
sp40.z = Hu3DData[arg0].pos.z;
|
|
sp34.x = arg1.x;
|
|
sp34.y = arg1.y;
|
|
sp34.z = arg1.z;
|
|
sp1C.x = Hu3DData[arg0].rot.x;
|
|
sp1C.y = Hu3DData[arg0].rot.y;
|
|
sp1C.z = Hu3DData[arg0].rot.z;
|
|
sp10.x = 0.0f;
|
|
sp10.y = arg2;
|
|
sp10.z = 0.0f;
|
|
if (sp34.x - sp40.x >= 0.0f) {
|
|
var_r30 = 1;
|
|
} else {
|
|
var_r30 = 0;
|
|
}
|
|
if (sp34.z - sp40.z >= 0.0f) {
|
|
var_r29 = 1;
|
|
} else {
|
|
var_r29 = 0;
|
|
}
|
|
while (arg5 != 0) {
|
|
HuPrcVSleep();
|
|
sp28.y = -(atan2d(sp34.z - sp40.z, sp34.x - sp40.x) - 90.0);
|
|
if (sp28.y < 0.0f) {
|
|
sp28.y += 360.0f;
|
|
} else if (sp28.y >= 360.0f) {
|
|
sp28.y -= 360.0f;
|
|
}
|
|
if (arg6 != 0) {
|
|
if (sp28.y >= 180.0f) {
|
|
if (sp1C.y - sp28.y >= 180.0f) {
|
|
sp1C.y -= 360.0f;
|
|
}
|
|
if (sp1C.y - sp28.y < -180.0f) {
|
|
sp1C.y += 360.0f;
|
|
}
|
|
} else {
|
|
if (sp1C.y - sp28.y > 180.0f) {
|
|
sp1C.y -= 360.0f;
|
|
}
|
|
if (sp1C.y - sp28.y <= -180.0f) {
|
|
sp1C.y += 360.0f;
|
|
}
|
|
}
|
|
}
|
|
sp4C.x = sp40.x += arg3 * sind(sp28.y);
|
|
sp4C.z = sp40.z += arg3 * cosd(sp28.y);
|
|
if (var_r30 == 1) {
|
|
if (sp40.x >= sp34.x) {
|
|
sp4C.x = sp40.x = sp34.x;
|
|
var_r30 = 2;
|
|
}
|
|
} else if (var_r30 == 0) {
|
|
if (sp40.x <= sp34.x) {
|
|
sp4C.x = sp40.x = sp34.x;
|
|
var_r30 = 2;
|
|
}
|
|
}
|
|
if (var_r29 == 1) {
|
|
if (sp40.z >= sp34.z) {
|
|
sp4C.z = sp40.z = sp34.z;
|
|
var_r29 = 2;
|
|
}
|
|
} else if (var_r29 == 0) {
|
|
if (sp40.z <= sp34.z) {
|
|
sp4C.z = sp40.z = sp34.z;
|
|
var_r29 = 2;
|
|
}
|
|
}
|
|
if (arg6 != 0) {
|
|
sp1C.y = fn_1_2410C(sp1C.y, sp28.y, arg4);
|
|
}
|
|
Hu3DModelPosSet(arg0, sp4C.x, sp40.y, sp4C.z);
|
|
Hu3DModelRotSet(arg0, sp1C.x, sp1C.y, sp1C.z);
|
|
if (var_r30 == 2 && var_r29 == 2) {
|
|
break;
|
|
}
|
|
}
|
|
sp1C.y = Hu3DData[arg0].rot.y;
|
|
if (arg6 != 0) {
|
|
for (i = 0; i <= arg4; i++) {
|
|
HuPrcVSleep();
|
|
if (sp10.y >= 180.0f) {
|
|
if (sp1C.y - sp10.y >= 180.0f) {
|
|
sp1C.y -= 360.0f;
|
|
}
|
|
if (sp1C.y - sp10.y < -180.0f) {
|
|
sp1C.y += 360.0f;
|
|
}
|
|
} else {
|
|
if (sp1C.y - sp10.y > 180.0f) {
|
|
sp1C.y -= 360.0f;
|
|
}
|
|
if (sp1C.y - sp10.y <= -180.0f) {
|
|
sp1C.y += 360.0f;
|
|
}
|
|
}
|
|
sp10.z = fn_1_240E4(sp1C.y, sp10.y, i, arg4);
|
|
Hu3DModelRotSet(arg0, sp1C.x, sp10.z, sp1C.z);
|
|
}
|
|
}
|
|
}
|
|
|
|
void fn_1_26790(s32 arg0, s32 arg1, float arg2, float arg3) {
|
|
HuSprPosSet(arg0, arg1, arg2, arg3 + 0.5f);
|
|
}
|