2023-11-22 17:47:38 +03:00
|
|
|
#include "global.h"
|
|
|
|
#include "fox_option.h"
|
|
|
|
|
|
|
|
#ifdef IMPORT_DATA_PENDING
|
2023-12-01 01:35:40 +03:00
|
|
|
static f32 D_EBFBE0_801AE9A0[4] = { 62.0f, 222.0f, 75.0f, 235.0f };
|
|
|
|
|
|
|
|
static f32 D_EBFBE0_801AE9B0[4] = { 43.0f, 43.0f, 46.0f, 46.0f };
|
|
|
|
|
|
|
|
static MenuContext_00 D_EBFBE0_801AE9C0[4] = {
|
|
|
|
{ 2, 0, (void*) 0x080143B0, 0x080147B0, 32, 32, 56.0f, 175.0f, 1.0f, 1.0f, 255, 255, 255, 255 },
|
|
|
|
{ 2, 0, (void*) 0x080143B0, 0x080147B0, 32, 32, 216.0f, 175.0f, 1.0f, 1.0f, 255, 255, 255, 255 },
|
|
|
|
{ 1, 0, (void*) 0x080039D0, 0x08003A50, 16, 16, 69.0f, 178.0f, 1.0f, 1.0f, 255, 255, 255, 255 },
|
|
|
|
{ 1, 0, (void*) 0x080039D0, 0x08003A50, 16, 16, 229.0f, 178.0f, 1.0f, 1.0f, 255, 255, 255, 255 },
|
|
|
|
};
|
|
|
|
|
2023-11-22 17:47:38 +03:00
|
|
|
static UnkStruct_D_EBFBE0_801B9250 D_EBFBE0_801B9380[4];
|
|
|
|
static f32 D_EBFBE0_801AE5B8[] = { 60.0f, 36.0f, 12.0f, -12.0f, -36.0f, -60.0f };
|
|
|
|
static f32 D_EBFBE0_801AE5D0[] = { 126.0f, 117.0f, 139.0f, 124.0f, 130.0f, 117.0f };
|
|
|
|
static f32 D_EBFBE0_801AE570[] = { 54.0f, 78.0f, 103.0f, 126.0f, 152.0f, 176.0f };
|
|
|
|
|
|
|
|
static MenuContext D_EBFBE0_801AE638[6] = {
|
|
|
|
{
|
|
|
|
{ 0, 0, (void*) 0x08003B50, 0, 72, 12, 126.0f, 46.0f, 1.0f, 1.0f, 20, 0, 75, 255 },
|
|
|
|
{ 0.0f, 30.0f, -130.0f, 0.2f, 0.11f },
|
|
|
|
{ -40.0f, 27.0f, 80.0f },
|
|
|
|
1,
|
|
|
|
1,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{ 0, 0, (void*) 0x08003EB0, 0, 80, 12, 126.0f, 184.0f, 1.0f, 1.0f, 20, 0, 75, 255 },
|
|
|
|
{ 0.0f, 18.0f, -130.0f, 0.2f, 0.11f },
|
|
|
|
{ -40.0f, 16.0f, 80.0f },
|
|
|
|
1,
|
|
|
|
1,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{ 0, 0, (void*) 0x08004270, 0, 32, 10, 126.0f, 184.0f, 1.0f, 1.0f, 20, 0, 75, 255 },
|
|
|
|
{ 0.0f, 6.0f, -130.0f, 0.2f, 0.11f },
|
|
|
|
{ -40.0f, 6.0f, 80.0f },
|
|
|
|
1,
|
|
|
|
1,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{ 0, 0, (void*) 0x080043B0, 0, 64, 12, 110.0f, 91.0f, 1.0f, 1.0f, 20, 0, 75, 255 },
|
|
|
|
{ 0.0f, -6.0f, -130.0f, 0.2f, 0.11f },
|
|
|
|
{ -40.0f, -5.0f, 80.0f },
|
|
|
|
1,
|
|
|
|
1,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{ 0, 0, (void*) 0x080046B0, 0, 64, 10, 110.0f, 116.0f, 1.0f, 1.0f, 20, 0, 75, 255 },
|
|
|
|
{ 0.0f, -18.0f, -130.0f, 0.2f, 0.11f },
|
|
|
|
{ -40.0f, -16.0f, 80.0f },
|
|
|
|
1,
|
|
|
|
1,
|
|
|
|
},
|
|
|
|
{
|
|
|
|
{ 0, 0, (void*) 0x08004930, 0, 80, 10, 126.0f, 184.0f, 1.0f, 1.0f, 20, 0, 75, 255 },
|
|
|
|
{ 0.0f, -30.0f, -130.0f, 0.2f, 0.11f },
|
|
|
|
{ -40.0f, -27.0f, 80.0f },
|
|
|
|
1,
|
|
|
|
1,
|
|
|
|
},
|
|
|
|
};
|
2023-12-01 01:35:40 +03:00
|
|
|
|
|
|
|
static MenuContext_00 D_EBFBE0_801AEAA0[3] = {
|
|
|
|
{ 3, 0, (void*) 0x08013990, 0, 104, 10, 151.0f, 135.0f, 1.05f, 1.0f, 255, 255, 255, 255 },
|
|
|
|
{ 3, 0, (void*) 0x08013990, 0, 104, 10, 151.0f, 161.0f, 1.05f, 1.0f, 255, 255, 255, 255 },
|
|
|
|
{ 3, 0, (void*) 0x08013990, 0, 104, 10, 151.0f, 188.0f, 1.05f, 1.0f, 255, 255, 255, 255 },
|
|
|
|
};
|
|
|
|
|
|
|
|
static MenuContext_00 D_EBFBE0_801AEB48[3] = {
|
|
|
|
{ 3, 0, (void*) 0x080141B0, 0, 16, 16, 245.0f, 132.0f, 1.0f, 1.0f, 255, 255, 255, 255 },
|
|
|
|
{ 3, 0, (void*) 0x080141B0, 0, 16, 16, 245.0f, 158.0f, 1.0f, 1.0f, 255, 255, 255, 255 },
|
|
|
|
{ 3, 0, (void*) 0x080141B0, 0, 16, 16, 245.0f, 185.0f, 1.0f, 1.0f, 255, 255, 255, 255 },
|
|
|
|
};
|
2023-11-22 17:47:38 +03:00
|
|
|
#else
|
2023-12-01 01:35:40 +03:00
|
|
|
extern MenuContext_00 D_EBFBE0_801AE9C0[4];
|
|
|
|
extern MenuContext_00 D_EBFBE0_801AEB48[];
|
|
|
|
extern f32 D_EBFBE0_801AE9A0[4];
|
|
|
|
extern f32 D_EBFBE0_801AE9B0[4];
|
2023-11-22 17:47:38 +03:00
|
|
|
extern f32 D_EBFBE0_801AE570[];
|
|
|
|
extern f32 D_EBFBE0_801AE5B8[];
|
|
|
|
extern f32 D_EBFBE0_801AE5D0[];
|
|
|
|
extern MenuContext D_EBFBE0_801AE638[];
|
|
|
|
#endif
|
|
|
|
|
|
|
|
void func_EBFBE0_80191B20(void) {
|
|
|
|
s32 var_a1_2;
|
|
|
|
s32 var_v0_2;
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
D_80137E78 = 2;
|
|
|
|
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_08 = D_8003B50;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_10 = 72;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_14 = 12;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_08 = D_80046B0;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_10 = 64;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_14 = 10;
|
|
|
|
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
D_EBFBE0_801AE5B8[i] = D_EBFBE0_801AE588[i];
|
|
|
|
D_EBFBE0_801AE5D0[i] = D_EBFBE0_801AE5A0[i];
|
|
|
|
}
|
|
|
|
|
|
|
|
var_a1_2 = 1;
|
|
|
|
for (i = 0; i < 16; i++) {
|
|
|
|
if (i == 14) {
|
|
|
|
continue;
|
|
|
|
}
|
2023-11-24 22:11:20 +03:00
|
|
|
if (!(gSaveFile.save.data.unk_00[i].unk_6 & 1)) {
|
2023-11-22 17:47:38 +03:00
|
|
|
var_a1_2 = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B91C8 = var_a1_2;
|
|
|
|
D_80178348 = 0;
|
|
|
|
D_80178350 = 0;
|
|
|
|
D_80178354 = 0;
|
|
|
|
D_80178340 = 0;
|
|
|
|
|
|
|
|
D_80161A38 = 0xFF;
|
|
|
|
|
|
|
|
D_80161A36 = 0;
|
|
|
|
|
|
|
|
D_EBFBE0_801B91A4 = 0;
|
|
|
|
if ((D_80161A34 == 7) && (D_80178234 == 10)) {
|
|
|
|
D_80161A34 = 0;
|
|
|
|
D_EBFBE0_801B91A4 = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B91A8 = 0;
|
|
|
|
D_EBFBE0_801B91AC = 0;
|
|
|
|
D_EBFBE0_801B91B0 = 0;
|
|
|
|
var_v0_2 = D_801779F8;
|
|
|
|
D_801779F8 = 0;
|
|
|
|
|
|
|
|
D_80177DB0 = 0;
|
|
|
|
D_EBFBE0_801B8284 = 0;
|
|
|
|
D_EBFBE0_801B9178 = 0;
|
|
|
|
D_EBFBE0_801B917C = 0;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9124 = 1000;
|
|
|
|
|
|
|
|
if ((D_80161A34 == 5) || (D_80161A34 == 8)) {
|
|
|
|
if (D_80161A34 == 8) {
|
2023-11-25 23:08:39 +03:00
|
|
|
D_80177B90[D_80177B48] = 13;
|
2023-11-22 17:47:38 +03:00
|
|
|
if (D_800D3180[9] == 1) {
|
2023-11-24 22:11:20 +03:00
|
|
|
gSaveFile.save.data.unk_00[14].unk_5 = 1;
|
2023-11-22 17:47:38 +03:00
|
|
|
if (var_v0_2 != 0) {
|
2023-11-24 22:11:20 +03:00
|
|
|
gSaveFile.save.data.unk_00[14].unk_4 = 1;
|
2023-11-22 17:47:38 +03:00
|
|
|
} else {
|
2023-11-24 22:11:20 +03:00
|
|
|
gSaveFile.save.data.unk_00[14].unk_7 = 1;
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
2023-11-24 22:11:20 +03:00
|
|
|
Save_Write();
|
2023-11-22 17:47:38 +03:00
|
|
|
} else if (D_800D3180[9] == 2) {
|
|
|
|
D_80177BB0[D_80177B48] = 1;
|
2023-11-24 22:11:20 +03:00
|
|
|
gSaveFile.save.data.unk_00[15].unk_5 = 1;
|
2023-11-22 17:47:38 +03:00
|
|
|
if (var_v0_2 != 0) {
|
2023-11-24 22:11:20 +03:00
|
|
|
gSaveFile.save.data.unk_00[15].unk_4 = 1;
|
|
|
|
gSaveFile.save.data.unk_00[15].unk_3 = 1;
|
2023-11-22 17:47:38 +03:00
|
|
|
} else {
|
2023-11-24 22:11:20 +03:00
|
|
|
gSaveFile.save.data.unk_00[15].unk_7 = 1;
|
|
|
|
gSaveFile.save.data.unk_00[15].unk_6 = 1;
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
2023-11-24 22:11:20 +03:00
|
|
|
Save_Write();
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func_EBFBE0_80188010();
|
|
|
|
D_EBFBE0_801B9094 = func_EBFBE0_8019C8C4();
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B9094 != -1) {
|
|
|
|
D_EBFBE0_801B9124 = 200;
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801B9124 = 300;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (D_800D2870 != 0) {
|
|
|
|
D_EBFBE0_801B91A4 = 2;
|
|
|
|
D_EBFBE0_801B91A8 = D_801778AC;
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
if (i == 2) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_0C = 0.01f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_10 = 0.21f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_04 = D_EBFBE0_801AE570[i];
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_00 = 0.0f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_08 = 0.0f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_5C = 0;
|
|
|
|
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_20 = 0.01f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_24 = 1.0f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_18 = 158.0f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_1C = D_EBFBE0_801AE5D0[i];
|
|
|
|
D_EBFBE0_801AE638[i].unk_58 = 0;
|
|
|
|
}
|
|
|
|
D_EBFBE0_801AE638[2].unk_38.unk_00 = 0.0f;
|
|
|
|
D_EBFBE0_801AE638[2].unk_38.unk_08 = 0.0f;
|
|
|
|
D_EBFBE0_801AE638[2].unk_38.unk_04 = 90.0f;
|
|
|
|
D_EBFBE0_801AE638[2].unk_38.unk_0C = 0.4f;
|
|
|
|
D_EBFBE0_801AE638[2].unk_38.unk_10 = 0.21f;
|
|
|
|
D_EBFBE0_801AE638[2].unk_5C = 1;
|
|
|
|
D_EBFBE0_801AE638[2].unk_00.unk_20 = 1.0f;
|
|
|
|
D_EBFBE0_801AE638[2].unk_00.unk_24 = 1.0f;
|
|
|
|
D_EBFBE0_801AE638[2].unk_00.unk_18 = 145.0f;
|
|
|
|
D_EBFBE0_801AE638[2].unk_00.unk_1C = 25.0f;
|
|
|
|
D_EBFBE0_801AE638[2].unk_58 = 1;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9124 = 2;
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801B9124 = 1000;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
D_EBFBE0_801B9134 = 0;
|
|
|
|
D_EBFBE0_801B913C = 0;
|
|
|
|
|
|
|
|
D_8017784C = 2;
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
Memory_FreeAll();
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
D_80178420 = 320.0f;
|
|
|
|
D_80178424 = 240.0f;
|
|
|
|
|
|
|
|
func_800A5D6C();
|
|
|
|
|
|
|
|
D_80177978 = 0.0f;
|
|
|
|
D_80177980 = 0.0f;
|
|
|
|
D_80177988 = 10.0f;
|
|
|
|
D_801779A0 = 0.0f;
|
|
|
|
D_801779B8 = 0.0f;
|
|
|
|
D_801779C0 = 0.0f;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9224 = -80.0f;
|
|
|
|
D_EBFBE0_801B9228 = 0.0f;
|
|
|
|
|
|
|
|
D_EBFBE0_801B922C = 225;
|
|
|
|
D_EBFBE0_801B9230 = 225;
|
|
|
|
D_EBFBE0_801B9234 = 225;
|
|
|
|
D_EBFBE0_801B9238 = 30;
|
|
|
|
D_EBFBE0_801B923C = 30;
|
|
|
|
D_EBFBE0_801B9240 = 30;
|
|
|
|
|
|
|
|
D_EBFBE0_801B91F8 = 0.1f;
|
|
|
|
D_EBFBE0_801B91F4 = -130.0f;
|
|
|
|
D_EBFBE0_801B91FC = 0.0f;
|
|
|
|
D_EBFBE0_801B9200 = 0.0f;
|
|
|
|
|
|
|
|
D_EBFBE0_801B91EC = 0;
|
|
|
|
D_EBFBE0_801B9244 = 0;
|
|
|
|
D_EBFBE0_801B9248 = 0;
|
|
|
|
func_8001D444(0, 0x24, 0, 0xFF);
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_801920C4(void) {
|
|
|
|
if (D_EBFBE0_801B9178 > 0) {
|
|
|
|
D_EBFBE0_801B9178--;
|
|
|
|
}
|
|
|
|
if (D_EBFBE0_801B917C > 0) {
|
|
|
|
D_EBFBE0_801B917C--;
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (D_8017784C) {
|
|
|
|
case 0:
|
|
|
|
if (D_8017783C == 0) {
|
|
|
|
D_8017784C = 1;
|
|
|
|
func_8001DC6C(0, 23);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
D_80177898 = 0;
|
|
|
|
func_EBFBE0_80191B20();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
D_80177898 = 2;
|
|
|
|
func_EBFBE0_80192190();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
D_80177DB0++;
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80192190(void) {
|
|
|
|
switch (D_EBFBE0_801B9124) {
|
|
|
|
case 1000:
|
|
|
|
func_EBFBE0_80192D58();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0:
|
|
|
|
func_EBFBE0_801928BC();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
func_EBFBE0_80192938();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
func_EBFBE0_80193C4C();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
func_EBFBE0_80196EFC();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
func_EBFBE0_801948A8();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
|
|
|
func_EBFBE0_801962A4();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 6:
|
|
|
|
// Expert Sound Options
|
|
|
|
func_EBFBE0_80195944();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2000:
|
|
|
|
func_EBFBE0_8019A0B8();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 10:
|
|
|
|
case 20:
|
|
|
|
case 30:
|
|
|
|
func_EBFBE0_80199424();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 200:
|
|
|
|
func_EBFBE0_8019CAE0();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 300:
|
|
|
|
func_EBFBE0_8019DD44();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 400:
|
|
|
|
func_EBFBE0_8019E030();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B91BC != 0) {
|
|
|
|
D_EBFBE0_801B91FC += 3.8f;
|
|
|
|
D_EBFBE0_801B9200 += 4.2f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80192340(void) {
|
|
|
|
switch (D_EBFBE0_801B9124) {
|
|
|
|
case 1000:
|
|
|
|
func_EBFBE0_80193864();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
func_EBFBE0_801944F0();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
func_EBFBE0_80196F9C();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
func_EBFBE0_80194CE4();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 6:
|
|
|
|
// Expert Sound Options
|
|
|
|
func_EBFBE0_80195B74();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
|
|
|
func_EBFBE0_80196894();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2000:
|
|
|
|
func_EBFBE0_8019AAB4();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 10:
|
|
|
|
case 20:
|
|
|
|
case 30:
|
|
|
|
func_EBFBE0_8019978C();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 200:
|
|
|
|
func_EBFBE0_8019D118();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 300:
|
|
|
|
func_EBFBE0_8019DF64();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 400:
|
|
|
|
func_EBFBE0_8019E284();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B8280 != 0) {
|
|
|
|
func_EBFBE0_8019BDF0();
|
|
|
|
func_80084688(2, D_EBFBE0_801B8284);
|
2023-11-24 22:11:20 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_801924C4(void) {
|
|
|
|
D_80161A38 = 0xFF;
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
|
|
|
|
switch (D_EBFBE0_801B9124) {
|
|
|
|
case 0:
|
|
|
|
D_80177898 = 0;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 10:
|
|
|
|
case 20:
|
|
|
|
case 30:
|
|
|
|
func_EBFBE0_801992C4();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2000:
|
|
|
|
func_EBFBE0_80199FA8();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
func_EBFBE0_80196E54();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
func_EBFBE0_80194678();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 6:
|
|
|
|
func_EBFBE0_801958DC();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
|
|
|
func_EBFBE0_80196260();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80192598(void) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
D_EBFBE0_801B93E8 = 0;
|
|
|
|
D_EBFBE0_801B93EC = 0;
|
|
|
|
|
|
|
|
for (i = 0; i < (96 * 96); i++) {
|
|
|
|
// Planet Textures
|
|
|
|
D_EBFBE0_801BB810[i] = 106;
|
|
|
|
D_EBFBE0_801BDC10[i] = 84;
|
|
|
|
D_EBFBE0_801C0010[i] = 75;
|
|
|
|
D_EBFBE0_801C2410[i] = 81;
|
|
|
|
D_EBFBE0_801C4810[i] = 55;
|
|
|
|
D_EBFBE0_801C6C10[i] = 82;
|
|
|
|
D_EBFBE0_801C9010[i] = 68;
|
|
|
|
D_EBFBE0_801CB410[i] = 52;
|
|
|
|
D_EBFBE0_801B9410[i] = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 9; i++) {
|
|
|
|
D_EBFBE0_801CD818[i] = 0.0f;
|
|
|
|
func_EBFBE0_801A07E8(D_EBFBE0_801B68B0[i], SEGMENTED_TO_VIRTUAL(D_EBFBE0_801B68D4[i]), &D_EBFBE0_801CD818[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80192738(void) {
|
|
|
|
if (D_EBFBE0_801B93E8 == 5) {
|
|
|
|
func_EBFBE0_801A07E8(D_EBFBE0_801B68B0[8], SEGMENTED_TO_VIRTUAL(D_EBFBE0_801B68D4[8]), &D_EBFBE0_801CD818[8]);
|
|
|
|
D_EBFBE0_801B93E8 = 0;
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801B93E8++;
|
|
|
|
}
|
|
|
|
|
|
|
|
func_EBFBE0_801A07E8(D_EBFBE0_801B68B0[D_EBFBE0_801B93EC * 2],
|
|
|
|
SEGMENTED_TO_VIRTUAL(D_EBFBE0_801B68D4[D_EBFBE0_801B93EC * 2]),
|
|
|
|
&D_EBFBE0_801CD818[D_EBFBE0_801B93EC * 2]);
|
|
|
|
|
|
|
|
func_EBFBE0_801A07E8(D_EBFBE0_801B68B0[(D_EBFBE0_801B93EC * 2) + 1],
|
|
|
|
SEGMENTED_TO_VIRTUAL(D_EBFBE0_801B68D4[(D_EBFBE0_801B93EC * 2) + 1]),
|
|
|
|
&D_EBFBE0_801CD818[(D_EBFBE0_801B93EC * 2) + 1]);
|
|
|
|
|
|
|
|
D_EBFBE0_801B93EC++;
|
|
|
|
if (D_EBFBE0_801B93EC >= 4) {
|
|
|
|
D_EBFBE0_801B93EC = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_801928BC(void) {
|
|
|
|
if (D_80178340 == 0xFF) {
|
|
|
|
D_80178410 = 0;
|
|
|
|
D_EBFBE0_801B9124 = 100;
|
|
|
|
D_80177834 = 4;
|
|
|
|
D_8017783C = 2;
|
|
|
|
D_80177B40 = 0;
|
|
|
|
D_80177898 = 0;
|
2023-11-24 22:11:20 +03:00
|
|
|
gStopInputTimer = 3;
|
2023-11-22 17:47:38 +03:00
|
|
|
} else {
|
|
|
|
D_80178340 += 0x20;
|
|
|
|
if (D_80178340 > 0xFF) {
|
|
|
|
D_80178340 = 0xFF;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80192938(void) {
|
|
|
|
if (D_80178340 == 0xFF) {
|
|
|
|
D_80178234 = 0xA;
|
|
|
|
D_80177834 = 7;
|
|
|
|
D_8017783C = 2;
|
|
|
|
D_80177854 = 0;
|
|
|
|
D_80177898 = 0;
|
|
|
|
func_800A5844();
|
|
|
|
D_80177CA0 = 0;
|
|
|
|
D_80177CB0 = 0.0f;
|
|
|
|
D_8017782C = 1;
|
2023-11-24 22:11:20 +03:00
|
|
|
gStopInputTimer = 3;
|
2023-11-22 17:47:38 +03:00
|
|
|
func_8001DC6C(0, 28);
|
|
|
|
} else {
|
|
|
|
D_80178340 += 0x20;
|
|
|
|
if (D_80178340 >= 0x100) {
|
|
|
|
D_80178340 = 0xFF;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// https://decomp.me/scratch/qI7sN
|
|
|
|
// Matches but requires data migration
|
|
|
|
#ifdef IMPORT_DATA_PENDING
|
|
|
|
void func_EBFBE0_801929F0(void) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
D_800D2870 = 0;
|
|
|
|
D_80161A38 = 0xFF;
|
2023-11-24 22:11:20 +03:00
|
|
|
gStopInputTimer = 0;
|
2023-11-22 17:47:38 +03:00
|
|
|
D_80178410 = 800;
|
|
|
|
D_EBFBE0_801B9248 = 0;
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B9244 == 0) {
|
|
|
|
D_EBFBE0_801B91BC = 1;
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_18 = D_EBFBE0_801AE5B8[i];
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_1C = D_EBFBE0_801AE5D0[i];
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_20 = 1.0f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_24 = 1.0f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_58 = 1;
|
|
|
|
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_0C = 0.4f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_10 = 0.21f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_04 = D_EBFBE0_801AE570[i];
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_08 = 0.0f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_5C = 1;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801B91BC = 0;
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_24 = 1.0f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_10 = 0.21f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_08 = 0.0f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_5C = 1;
|
|
|
|
D_EBFBE0_801AE638[i].unk_58 = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B9204 = -45.0f;
|
|
|
|
D_EBFBE0_801B9214 = 0;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9180.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9180.unk_4 = 0;
|
|
|
|
D_EBFBE0_801B9190.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9190.unk_4 = 0;
|
|
|
|
D_EBFBE0_801B9198.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9198.unk_4 = 0;
|
|
|
|
}
|
|
|
|
#else
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_801929F0.s")
|
|
|
|
#endif
|
|
|
|
|
2023-11-28 19:38:25 +03:00
|
|
|
void func_EBFBE0_80192D58(void) {
|
|
|
|
s32 i;
|
|
|
|
f32 var_fs0;
|
|
|
|
f32 var_fs1;
|
|
|
|
s32 temp1;
|
|
|
|
s32 temp2;
|
|
|
|
|
|
|
|
switch (D_EBFBE0_801B912C) {
|
|
|
|
case 0:
|
|
|
|
func_EBFBE0_801929F0();
|
|
|
|
if (D_EBFBE0_801B9244 == 0) {
|
|
|
|
D_EBFBE0_801B912C++;
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801AE5B8[0] = D_EBFBE0_801AE5E8[D_EBFBE0_801B91B0];
|
|
|
|
D_EBFBE0_801AE5D0[0] = D_EBFBE0_801AE5F0[D_EBFBE0_801B91B0];
|
|
|
|
D_EBFBE0_801AE5B8[4] = D_EBFBE0_801AE5F8[D_EBFBE0_801B91AC];
|
|
|
|
D_EBFBE0_801AE5D0[4] = D_EBFBE0_801AE600[D_EBFBE0_801B91AC];
|
|
|
|
D_EBFBE0_801B912C = 1000;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1000:
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
if (D_EBFBE0_801AE638[i].unk_38.unk_0C < 0.4f) {
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_0C += 0.04f;
|
|
|
|
if (D_EBFBE0_801AE638[i].unk_38.unk_0C > 0.4f) {
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_0C = 0.4f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if (D_EBFBE0_801AE638[i].unk_00.unk_20 < 1.0f) {
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_20 += 0.1f;
|
|
|
|
if (D_EBFBE0_801AE638[i].unk_00.unk_20 > 1.0f) {
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_20 = 1.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-11-30 05:44:42 +03:00
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE638[i].unk_00.unk_1C, D_EBFBE0_801AE5D0[i], 0.15f, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE638[i].unk_38.unk_04, D_EBFBE0_801AE570[i], 0.15f, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE638[i].unk_00.unk_18, D_EBFBE0_801AE5B8[i], 0.2f,
|
|
|
|
D_EBFBE0_801AE620[i], 0.1f);
|
2023-11-28 19:38:25 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
D_80161A38 += 4;
|
|
|
|
|
|
|
|
if (D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04 == D_EBFBE0_801AE570[D_EBFBE0_801B91A4]) {
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_20 = 1.0f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_18 = D_EBFBE0_801AE5B8[i];
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_1C = D_EBFBE0_801AE5D0[i];
|
|
|
|
}
|
|
|
|
D_EBFBE0_801B91BC = 1;
|
|
|
|
D_80161A38 = 0xFF;
|
|
|
|
D_EBFBE0_801B912C = 1;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
temp1 = func_EBFBE0_8019C418(&D_EBFBE0_801B91A4, 5, 1, 0, 20, 5, 4, D_80177AF8, &D_EBFBE0_801B9180);
|
|
|
|
// clang-format off
|
|
|
|
if (temp1 != 0) { func_80019218(0x49000022, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); }
|
|
|
|
// clang-format on
|
|
|
|
|
|
|
|
if ((D_EBFBE0_801B91A4 == 0) && (D_EBFBE0_801B91C8 != 0)) {
|
|
|
|
temp2 = func_EBFBE0_8019C418(&D_EBFBE0_801B91B0, 1, 0, 0, 20, 5, 4, D_80177AF8, &D_EBFBE0_801B9190);
|
|
|
|
if (temp2 != 0) {
|
|
|
|
func_80019218(0x49000022, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
|
|
|
if (D_EBFBE0_801B91B0) {
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_08 = D_8004C50;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_10 = 80;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_14 = 12;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_18 = 125.0f;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_1C = 55.0f;
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_08 = D_8003B50;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_10 = 72;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_14 = 12;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_18 = 124.0f;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_1C = 54.0f;
|
|
|
|
}
|
|
|
|
D_801779F8 = D_EBFBE0_801B91B0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
if ((D_EBFBE0_801B91A4 == 4) && (D_EBFBE0_801B91C8 != 0)) {
|
|
|
|
temp2 = func_EBFBE0_8019C418(&D_EBFBE0_801B91AC, 1, 0, 0, 20, 5, 4, D_80177AF8, &D_EBFBE0_801B9198);
|
|
|
|
if (temp2 != 0) {
|
|
|
|
func_80019218(0x49000022, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
|
|
|
if (D_EBFBE0_801B91AC) {
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_08 = D_8004C50;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_10 = 80;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_14 = 12;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_18 = 125.0f;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_1C = 151.0f;
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_08 = D_80046B0;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_10 = 64;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_14 = 10;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_18 = 133.0f;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_1C = 151.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gChangedInput[D_80177AF8].button & (A_BUTTON | START_BUTTON)) {
|
|
|
|
func_80019218(0x49000020, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
|
|
|
D_EBFBE0_801B9208 = D_EBFBE0_801AE570[D_EBFBE0_801B91A4];
|
|
|
|
D_EBFBE0_801B91BC = 0;
|
|
|
|
D_EBFBE0_801B912C = 11;
|
|
|
|
}
|
|
|
|
if (gChangedInput[D_80177AF8].button & B_BUTTON) {
|
|
|
|
func_80019218(0x49000021, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
|
|
|
D_EBFBE0_801B8284 = 0;
|
|
|
|
D_EBFBE0_801B8280 = 1;
|
|
|
|
D_EBFBE0_801B912C = 100;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 11:
|
|
|
|
D_80161A38 = 0x10;
|
|
|
|
D_EBFBE0_801B9178 = 3;
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_0C -= 0.01f;
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_10 -= 0.01f;
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_20 -= 0.1f;
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_24 -= 0.1f;
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_18 += 4.0f;
|
|
|
|
D_EBFBE0_801B917C = 3;
|
|
|
|
D_EBFBE0_801B912C++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 12:
|
|
|
|
if (D_EBFBE0_801B9178 == 1) {
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_0C += 0.01f;
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_10 += 0.01f;
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_20 += 0.1f;
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_24 += 0.1f;
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_18 -= 4.0f;
|
|
|
|
D_EBFBE0_801B9214 = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
if (i == D_EBFBE0_801B91A4) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801AE638[i].unk_38.unk_0C > 0.01f) {
|
|
|
|
D_EBFBE0_801AE638[i].unk_38.unk_0C -= 0.05f;
|
|
|
|
D_EBFBE0_801AE638[i].unk_00.unk_20 -= 0.19f;
|
2023-11-30 05:44:42 +03:00
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE638[i].unk_00.unk_18, 158.0f, 0.2f, D_EBFBE0_801AE608[i], 0.1f);
|
2023-11-28 19:38:25 +03:00
|
|
|
} else {
|
|
|
|
D_EBFBE0_801AE638[i].unk_5C = 0;
|
|
|
|
D_EBFBE0_801AE638[i].unk_58 = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B917C != 0) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
var_fs0 = 25.0f;
|
|
|
|
var_fs1 = 90.0f;
|
|
|
|
|
|
|
|
if ((D_EBFBE0_801B91A4 == 0) || (D_EBFBE0_801B91A4 == 1)) {
|
|
|
|
var_fs0 = 0.0f;
|
|
|
|
var_fs1 = 120.0f;
|
|
|
|
}
|
|
|
|
|
2023-11-30 05:44:42 +03:00
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C, var_fs0, 0.25f, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04, var_fs1, 0.25f, 100.0f, 0.1f);
|
2023-11-28 19:38:25 +03:00
|
|
|
|
|
|
|
D_80161A38 += 4;
|
|
|
|
|
|
|
|
if ((D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C == var_fs0) &&
|
|
|
|
(D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04 == var_fs1)) {
|
|
|
|
D_80161A38 += 255;
|
|
|
|
D_EBFBE0_801B9124 = D_EBFBE0_801B91A4;
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B91A4 == 4 && D_EBFBE0_801B91AC) {
|
|
|
|
D_EBFBE0_801B9124 = 6;
|
|
|
|
}
|
|
|
|
|
|
|
|
func_EBFBE0_801924C4();
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 100:
|
|
|
|
if (D_EBFBE0_801B8284 < 120) {
|
|
|
|
D_EBFBE0_801B8284 += 18;
|
|
|
|
} else {
|
|
|
|
D_80178410 = 0;
|
|
|
|
D_80177834 = 2;
|
|
|
|
D_8017783C = 2;
|
|
|
|
D_80177AE0 = 0;
|
|
|
|
D_EBFBE0_801B827C = 1;
|
|
|
|
D_80177898 = 0;
|
|
|
|
D_EBFBE0_801B8280 = 0;
|
|
|
|
D_EBFBE0_801B8284 = 0;
|
|
|
|
gStopInputTimer = 3;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
void func_EBFBE0_80193864(void) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
func_EBFBE0_8019BDF0();
|
|
|
|
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
if (D_EBFBE0_801AE638[i].unk_5C) {
|
|
|
|
func_EBFBE0_8019BAB8(D_EBFBE0_801AE638[i].unk_38);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func_EBFBE0_8019BBA4(D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_4C);
|
2023-11-24 22:11:20 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
if (!(D_EBFBE0_801AE638[i].unk_58) || (D_EBFBE0_801AE638[i].unk_00.unk_20) <= 0.0f) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
if ((i == 0) && (D_EBFBE0_801B91C8 != 0) && ((D_EBFBE0_801B912C == 0) || (D_EBFBE0_801B912C == 1))) {
|
|
|
|
func_EBFBE0_8019B6D8(106.0f, 56.0f, 98.0f, 20, 0, 75);
|
|
|
|
}
|
|
|
|
if ((i == 4) && (D_EBFBE0_801B91C8 != 0) && ((D_EBFBE0_801B912C == 0) || (D_EBFBE0_801B912C == 1))) {
|
|
|
|
func_EBFBE0_8019B6D8(106.0f, 152.0f, 98.0f, 20, 0, 75);
|
|
|
|
}
|
|
|
|
func_EBFBE0_8019C120(D_EBFBE0_801AE638[i].unk_00);
|
|
|
|
}
|
|
|
|
|
|
|
|
func_EBFBE0_8019BF34();
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80193B04(void) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
D_80161A38 = 0xFF;
|
2023-11-24 22:11:20 +03:00
|
|
|
gStopInputTimer = 0;
|
2023-11-22 17:47:38 +03:00
|
|
|
D_80178410 = 800;
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B9248 == 0) {
|
|
|
|
D_EBFBE0_801B91BC = 1;
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_18 = D_EBFBE0_801AEF90[i];
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_1C = D_EBFBE0_801AEF9C[i];
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_20 = 1.0f;
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_24 = 1.0f;
|
|
|
|
D_EBFBE0_801AE878[i].unk_58 = 1;
|
|
|
|
D_EBFBE0_801AE878[i].unk_38.unk_0C = 0.4f;
|
|
|
|
D_EBFBE0_801AE878[i].unk_38.unk_10 = 0.21f;
|
|
|
|
D_EBFBE0_801AE878[i].unk_38.unk_04 = D_EBFBE0_801AEF84[i];
|
|
|
|
D_EBFBE0_801AE878[i].unk_38.unk_08 = 0.0f;
|
|
|
|
D_EBFBE0_801AE878[i].unk_5C = 1;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801B91BC = 0;
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_24 = 1.0f;
|
|
|
|
D_EBFBE0_801AE878[i].unk_38.unk_10 = 0.21f;
|
|
|
|
D_EBFBE0_801AE878[i].unk_38.unk_08 = 0.0f;
|
|
|
|
D_EBFBE0_801AE878[i].unk_58 = 1;
|
|
|
|
D_EBFBE0_801AE878[i].unk_5C = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B9204 = -45.0f;
|
|
|
|
D_EBFBE0_801B9214 = 0;
|
|
|
|
D_EBFBE0_801B9188.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9188.unk_4 = 0;
|
|
|
|
}
|
|
|
|
|
2023-11-28 19:38:25 +03:00
|
|
|
void func_EBFBE0_80193C4C(void) {
|
|
|
|
f32 var_fs0;
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
switch (D_EBFBE0_801B912C) {
|
|
|
|
case 0:
|
|
|
|
func_EBFBE0_80193B04();
|
|
|
|
if (D_EBFBE0_801B9248 == 0) {
|
|
|
|
D_EBFBE0_801B912C++;
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801B912C = 1000;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1000:
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
if (D_EBFBE0_801AE878[i].unk_38.unk_0C < 0.4f) {
|
|
|
|
D_EBFBE0_801AE878[i].unk_38.unk_0C += 0.04f;
|
|
|
|
if (D_EBFBE0_801AE878[i].unk_38.unk_0C > 0.4f) {
|
|
|
|
D_EBFBE0_801AE878[i].unk_38.unk_0C = 0.4f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801AE878[i].unk_00.unk_20 < 1.0f) {
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_20 += 0.15f;
|
|
|
|
if (D_EBFBE0_801AE878[i].unk_00.unk_20 > 1.0f) {
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_20 = 1.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-11-30 05:44:42 +03:00
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE878[i].unk_38.unk_04, D_EBFBE0_801AEF84[i], 0.15f, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE878[i].unk_00.unk_18, D_EBFBE0_801AEF90[i], 0.2f, 3.1f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE878[i].unk_00.unk_1C, D_EBFBE0_801AEF9C[i], 0.15f, 100.0f, 0.1f);
|
2023-11-28 19:38:25 +03:00
|
|
|
}
|
|
|
|
|
2023-11-30 05:44:42 +03:00
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C, 25.0f, 0.25f, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04, 90.0f, 0.25f, 100.0f, 0.1f);
|
2023-11-28 19:38:25 +03:00
|
|
|
|
|
|
|
D_80161A38 += 4;
|
|
|
|
|
|
|
|
if (D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_38.unk_04 == D_EBFBE0_801AEF84[D_EBFBE0_801B91A8]) {
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_20 = 1.0f;
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_1C = D_EBFBE0_801AEF9C[i];
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_18 = D_EBFBE0_801AEF90[i];
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C = 25.0f;
|
|
|
|
D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04 = 90.0f;
|
|
|
|
D_EBFBE0_801B91BC = 1;
|
|
|
|
D_80161A38 = 0xFF;
|
|
|
|
D_EBFBE0_801B912C = 1;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
// clang-format off
|
|
|
|
if (func_EBFBE0_8019C418(&D_EBFBE0_801B91A8, 2, 1, 0, 20, 5, 4, D_80177AF8, &D_EBFBE0_801B9188) != 0) { func_80019218(0x49000022, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); }
|
|
|
|
// clang-format on
|
|
|
|
|
|
|
|
if (gChangedInput[D_80177AF8].button & (A_BUTTON | START_BUTTON)) {
|
|
|
|
func_80019218(0x49000020, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
|
|
|
D_EBFBE0_801B9208 = D_EBFBE0_801AEF84[D_EBFBE0_801B91A8];
|
|
|
|
D_EBFBE0_801B91BC = 0;
|
|
|
|
D_EBFBE0_801B912C = 11;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gChangedInput[D_80177AF8].button & B_BUTTON) {
|
|
|
|
func_80019218(0x49000021, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
D_EBFBE0_801B9124 = 1000;
|
|
|
|
D_80177898 = 0;
|
|
|
|
D_EBFBE0_801B9244 = 1;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 11:
|
|
|
|
D_80161A38 = 0x10;
|
|
|
|
D_EBFBE0_801B9178 = 5;
|
|
|
|
D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_38.unk_0C -= 0.01f;
|
|
|
|
D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_38.unk_10 -= 0.01f;
|
|
|
|
D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_00.unk_20 -= 0.1f;
|
|
|
|
D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_00.unk_24 -= 0.1f;
|
|
|
|
D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_00.unk_18 += 4.0f;
|
|
|
|
D_EBFBE0_801B917C = 5;
|
|
|
|
D_EBFBE0_801B912C++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 12:
|
|
|
|
if (D_EBFBE0_801B9178 == 1) {
|
|
|
|
D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_38.unk_0C += 0.01f;
|
|
|
|
D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_38.unk_10 += 0.01f;
|
|
|
|
D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_00.unk_20 += 0.1f;
|
|
|
|
D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_00.unk_24 += 0.1f;
|
|
|
|
D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_00.unk_18 -= 4.0f;
|
|
|
|
D_EBFBE0_801B9214 = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
if (i == D_EBFBE0_801B91A8) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801AE878[i].unk_38.unk_0C > 0.01f) {
|
|
|
|
D_EBFBE0_801AE878[i].unk_38.unk_0C -= 0.05f;
|
|
|
|
D_EBFBE0_801AE878[i].unk_00.unk_20 -= 0.19f;
|
2023-11-30 05:44:42 +03:00
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE878[i].unk_00.unk_18, 158.0f, 0.2f, D_EBFBE0_801AE608[i + 1],
|
|
|
|
0.1f);
|
2023-11-28 19:38:25 +03:00
|
|
|
} else {
|
|
|
|
D_EBFBE0_801AE878[i].unk_5C = 0;
|
|
|
|
D_EBFBE0_801AE878[i].unk_58 = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B917C == 0) {
|
|
|
|
if (D_EBFBE0_801B91A8 == 0) {
|
|
|
|
var_fs0 = 129.0f;
|
|
|
|
} else {
|
|
|
|
var_fs0 = 131.0f;
|
|
|
|
}
|
|
|
|
|
2023-11-30 05:44:42 +03:00
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_00.unk_1C, var_fs0, 0.25f, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_38.unk_04, -15.5f, 0.25f, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_00.unk_1C, -10.0f, 0.35f, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801AE638[D_EBFBE0_801B91A4].unk_38.unk_04, 150.0f, 0.35f, 100.0f, 0.1f);
|
2023-11-28 19:38:25 +03:00
|
|
|
|
|
|
|
D_80161A38 += 4;
|
|
|
|
|
|
|
|
if ((var_fs0 == D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_00.unk_1C) &&
|
|
|
|
(D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_38.unk_04 == -15.5f)) {
|
|
|
|
D_80161A38 += 0xFF;
|
|
|
|
D_EBFBE0_801B9124 = (D_EBFBE0_801B91A8 + 1) * 10;
|
|
|
|
D_801778AC = D_EBFBE0_801B91A8;
|
|
|
|
D_EBFBE0_801B91C4 = 1;
|
|
|
|
func_EBFBE0_801924C4();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
void func_EBFBE0_801944F0(void) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
func_EBFBE0_8019B9C0();
|
|
|
|
func_EBFBE0_8019BDF0();
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
if (D_EBFBE0_801AE878[i].unk_5C != 0) {
|
|
|
|
func_EBFBE0_8019BAB8(D_EBFBE0_801AE878[i].unk_38);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func_EBFBE0_8019BBA4(D_EBFBE0_801AE878[D_EBFBE0_801B91A8].unk_4C);
|
2023-11-24 22:11:20 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
if ((D_EBFBE0_801AE878[i].unk_58 != 0) && !(D_EBFBE0_801AE878[i].unk_00.unk_20 <= 0.0f)) {
|
|
|
|
func_EBFBE0_8019C120(D_EBFBE0_801AE878[i].unk_00);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
func_EBFBE0_8019BF34();
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80194678(void) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
D_80178410 = 800;
|
|
|
|
|
|
|
|
D_EBFBE0_801B91B4 = 0;
|
|
|
|
D_EBFBE0_801B91B8 = 0;
|
|
|
|
D_EBFBE0_801B91BC = 1;
|
|
|
|
D_EBFBE0_801B91A0 = 0;
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
D_80177C74 = gSaveFile.save.data.unk_14;
|
2023-11-22 17:47:38 +03:00
|
|
|
func_800182F4(D_EBFBE0_801AE998[D_80177C74] | 0xE0000000);
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
D_80177C80[0] = gSaveFile.save.data.unk_15;
|
|
|
|
D_80177C80[1] = gSaveFile.save.data.unk_16;
|
|
|
|
D_80177C80[2] = gSaveFile.save.data.unk_17;
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
if (D_80177C80[0] > 99) {
|
|
|
|
D_80177C80[0] = 99;
|
|
|
|
}
|
|
|
|
if (D_80177C80[1] > 99) {
|
|
|
|
D_80177C80[1] = 99;
|
|
|
|
}
|
|
|
|
if (D_80177C80[2] > 99) {
|
|
|
|
D_80177C80[2] = 99;
|
|
|
|
}
|
|
|
|
|
|
|
|
func_8001D8A8(0, D_80177C80[0]);
|
|
|
|
func_8001D8A8(1, D_80177C80[1]);
|
|
|
|
func_8001D8A8(2, D_80177C80[2]);
|
|
|
|
|
|
|
|
D_EBFBE0_801AEB48[0].unk_18 = D_80177C80[0] + 146.0f;
|
|
|
|
D_EBFBE0_801AEB48[1].unk_18 = D_80177C80[1] + 146.0f;
|
|
|
|
D_EBFBE0_801AEB48[2].unk_18 = D_80177C80[2] + 146.0f;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9288 = 0;
|
|
|
|
D_EBFBE0_801B9284 = 0;
|
|
|
|
D_EBFBE0_801B914C = 0;
|
|
|
|
D_EBFBE0_801B9158 = 0;
|
|
|
|
D_EBFBE0_801B9178 = 0;
|
|
|
|
D_EBFBE0_801B917C = 0;
|
|
|
|
|
|
|
|
// clang-format off
|
|
|
|
for (i = 0; i < 5; i++) { D_EBFBE0_801B9270[i] = 255.0f; }
|
|
|
|
// clang-format on
|
|
|
|
D_EBFBE0_801B91E4 = 255.0f;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9218 = 56.0f;
|
|
|
|
D_EBFBE0_801B921C = -43.0f;
|
|
|
|
D_EBFBE0_801B9220 = 0.0f;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9250.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9250.unk_4 = 0;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9258.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9258.unk_4 = 0;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9260.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9260.unk_4 = 0;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9268.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9268.unk_4 = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_801948A8(void) {
|
|
|
|
s32 sp34;
|
|
|
|
s32 temp;
|
|
|
|
|
|
|
|
sp34 = D_EBFBE0_801B9288;
|
|
|
|
temp = func_EBFBE0_8019C418(&D_EBFBE0_801B9288, 3, 1, 0, 20, 5, 4, D_80177AF8, &D_EBFBE0_801B9250);
|
|
|
|
if (temp != 0) {
|
|
|
|
D_EBFBE0_801B9270[sp34] = 255.0f;
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000002U, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B9288 == 0) {
|
|
|
|
func_EBFBE0_80194AEC();
|
|
|
|
} else {
|
|
|
|
func_EBFBE0_80194BD0();
|
|
|
|
}
|
|
|
|
|
|
|
|
// Test sound
|
2023-11-24 22:11:20 +03:00
|
|
|
if (gChangedInput[D_80177AF8].button & R_TRIG) {
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B9284 ^= 1;
|
|
|
|
func_8001D8F4(D_EBFBE0_801B9284);
|
|
|
|
}
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
if (gChangedInput[D_80177AF8].button & A_BUTTON) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000003, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B9288 = (D_EBFBE0_801B9288 + 1) & 3;
|
|
|
|
}
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
if (gChangedInput[D_80177AF8].button & B_BUTTON) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000021, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
if (D_EBFBE0_801B9284 == 1) {
|
|
|
|
D_EBFBE0_801B9284 = 0;
|
|
|
|
func_8001D8F4(D_EBFBE0_801B9284);
|
|
|
|
}
|
2023-11-24 22:11:20 +03:00
|
|
|
Save_Write();
|
2023-11-22 17:47:38 +03:00
|
|
|
D_80177898 = 0;
|
|
|
|
D_EBFBE0_801B9124 = 1000;
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
D_EBFBE0_801B9244 = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80194AEC(void) {
|
|
|
|
s32 sp3C = D_80177C74;
|
|
|
|
s32 pad;
|
|
|
|
|
|
|
|
if (func_EBFBE0_8019C418(&sp3C, 2, 0, 0, 20, 5, 4, D_80177AF8, &D_EBFBE0_801B9260) != 0) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_80177C74 = sp3C;
|
|
|
|
if (D_80177C74 >= 3) {
|
|
|
|
D_80177C74 = 0;
|
|
|
|
}
|
2023-11-24 22:11:20 +03:00
|
|
|
gSaveFile.save.data.unk_14 = D_80177C74;
|
2023-11-22 17:47:38 +03:00
|
|
|
func_800182F4(D_EBFBE0_801AE998[D_80177C74] | 0xE0000000);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80194BD0(void) {
|
|
|
|
s32 var_v1;
|
|
|
|
|
|
|
|
D_EBFBE0_801B924C = D_EBFBE0_801AE99C[D_EBFBE0_801B9288 - 1];
|
|
|
|
|
|
|
|
if (func_EBFBE0_8019C66C(&(D_EBFBE0_801AEB48[D_EBFBE0_801B9288 - 1].unk_18), 146.0f, 245.0f, &D_EBFBE0_801B9268)) {
|
|
|
|
var_v1 = D_EBFBE0_801AEB48[D_EBFBE0_801B9288 - 1].unk_18 - 146.0f;
|
|
|
|
|
|
|
|
D_80177C80[D_EBFBE0_801B9288 - 1] = var_v1;
|
|
|
|
|
|
|
|
if (var_v1 > 99) {
|
|
|
|
var_v1 = 99;
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (D_EBFBE0_801B9288 - 1) {
|
|
|
|
case 0:
|
2023-11-24 22:11:20 +03:00
|
|
|
gSaveFile.save.data.unk_15 = var_v1;
|
2023-11-22 17:47:38 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2023-11-24 22:11:20 +03:00
|
|
|
gSaveFile.save.data.unk_16 = var_v1;
|
2023-11-22 17:47:38 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2023-11-24 22:11:20 +03:00
|
|
|
gSaveFile.save.data.unk_17 = var_v1;
|
2023-11-22 17:47:38 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
func_8001D8A8(D_EBFBE0_801B924C, var_v1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
#ifdef IMPORT_DATA_PENDING
|
|
|
|
void func_EBFBE0_80194CE4(void) {
|
|
|
|
s32 i;
|
|
|
|
s32 colorGB;
|
|
|
|
|
|
|
|
static f32 D_EBFBE0_801AEFA8[11] = { 48.0f, 103.0f, 77.0f, 55.0f, 71.0f, 87.0f,
|
|
|
|
143.0f, 244.0f, 169.0f, 170.0f, 157.0f };
|
|
|
|
static f32 D_EBFBE0_801AEFD4[11] = { 79.0f, 52.0f, 99.0f, 131.0f, 157.0f, 186.0f,
|
|
|
|
102.0f, 102.0f, 98.0f, 99.0f, 98.0f };
|
|
|
|
static f32 D_EBFBE0_801AF000 = 27.5f;
|
|
|
|
|
|
|
|
func_EBFBE0_8019B9C0();
|
|
|
|
|
|
|
|
func_EBFBE0_801952B4();
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_60447A0, 8, 8, D_EBFBE0_801AEFA8[0], D_EBFBE0_801AEFD4[0], D_EBFBE0_801AF000,
|
|
|
|
0.2f);
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8005CD0, 112, 13, D_EBFBE0_801AEFA8[1], D_EBFBE0_801AEFD4[1], 1.0f, 1.0f);
|
|
|
|
|
|
|
|
for (i = 0; i < 4; i++) {
|
|
|
|
if (D_EBFBE0_801B9288 == i) {
|
|
|
|
func_EBFBE0_8019C824(&D_EBFBE0_801B9270[i]);
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801B9270[i] = 255.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
colorGB = D_EBFBE0_801B9270[0];
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8006280, 48, 13, D_EBFBE0_801AEFA8[2], D_EBFBE0_801AEFD4[2], 1.0f, 1.0f);
|
|
|
|
|
|
|
|
colorGB = D_EBFBE0_801B9270[1];
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_80064F0, 88, 14, D_EBFBE0_801AEFA8[3], D_EBFBE0_801AEFD4[3], 1.0f, 1.0f);
|
|
|
|
|
|
|
|
colorGB = D_EBFBE0_801B9270[2];
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_80069C0, 56, 15, D_EBFBE0_801AEFA8[4], D_EBFBE0_801AEFD4[4], 1.0f, 1.0f);
|
|
|
|
|
|
|
|
colorGB = D_EBFBE0_801B9270[3];
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, colorGB, colorGB, 255);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8006D10, 24, 13, D_EBFBE0_801AEFA8[5], D_EBFBE0_801AEFD4[5], 1.0f, 1.0f);
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B9288 == 0) {
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
TextureRect_8bIA_MirX(&gMasterDisp, D_800E130, 8, 8, D_EBFBE0_801AEFA8[6], D_EBFBE0_801AEFD4[6], 1.0f, 1.0f);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_800E130, 8, 8, D_EBFBE0_801AEFA8[7], D_EBFBE0_801AEFD4[7], 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
switch (D_80177C74) {
|
|
|
|
case 0:
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_800CD90, 56, 13, D_EBFBE0_801AEFA8[8], D_EBFBE0_801AEFD4[8], 1.0f, 1.0f);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_80076E0, 56, 14, D_EBFBE0_801AEFA8[9], D_EBFBE0_801AEFD4[9], 1.0f, 1.0f);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8007210, 88, 14, D_EBFBE0_801AEFA8[10], D_EBFBE0_801AEFD4[10], 1.0f, 1.0f);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8006E50, 96, 10, 166.0f, 213.0f, 1.0f, 1.0f);
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
func_EBFBE0_8019C120(D_EBFBE0_801AEAA0[i]);
|
|
|
|
func_EBFBE0_8019C120(D_EBFBE0_801AEB48[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#else
|
2023-11-22 17:47:38 +03:00
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80194CE4.s")
|
2023-12-01 01:35:40 +03:00
|
|
|
#endif
|
|
|
|
|
|
|
|
// needs data declared as static
|
|
|
|
#ifdef IMPORT_DATA_PENDING
|
|
|
|
void func_EBFBE0_801952B4(void) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B9284 == 1) {
|
|
|
|
switch (D_EBFBE0_801B914C) {
|
|
|
|
case 0:
|
|
|
|
D_EBFBE0_801B914C++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
if (D_EBFBE0_801B9178) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 2; i < 4; i++) {
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_20 += 0.02f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_24 += 0.02f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_18 -= 0.1f;
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B9178 = 2;
|
|
|
|
D_EBFBE0_801B914C++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
if (D_EBFBE0_801B9178) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 2; i < 4; i++) {
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_20 -= 0.02f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_24 -= 0.02f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_18 += 0.1f;
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B914C++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
D_EBFBE0_801B9178 = Rand_ZeroOne() * 15.0f;
|
|
|
|
D_EBFBE0_801B914C = 1;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (D_EBFBE0_801B9158) {
|
|
|
|
case 0:
|
|
|
|
if (D_EBFBE0_801B917C) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 4; i++) {
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_20 += 0.08f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_24 += 0.08f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_18 -= 0.4f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_1C -= 0.4f;
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B917C = 2;
|
|
|
|
D_EBFBE0_801B9158++;
|
|
|
|
break;
|
2023-11-22 17:47:38 +03:00
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
case 1:
|
|
|
|
if (D_EBFBE0_801B917C) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 4; i++) {
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_20 -= 0.08f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_24 -= 0.08f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_18 += 0.4f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_1C += 0.4f;
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B917C = 2;
|
|
|
|
D_EBFBE0_801B9158++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
if (D_EBFBE0_801B917C) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B917C = Rand_ZeroOne() * 30.0f;
|
|
|
|
D_EBFBE0_801B9158 = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
|
|
|
for (i = 0; i < 4; i++) {
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_20 = 1.0f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_24 = 1.0f;
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_18 = D_EBFBE0_801AE9A0[i];
|
|
|
|
D_EBFBE0_801AE9C0[i].unk_1C = D_EBFBE0_801AE9B0[i];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 2; i++) {
|
|
|
|
func_EBFBE0_8019C120(D_EBFBE0_801AE9C0[i]);
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 2; i < 4; i++) {
|
|
|
|
if (D_EBFBE0_801B914C != 3) {
|
|
|
|
func_EBFBE0_8019C120(D_EBFBE0_801AE9C0[i]);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#else
|
2023-11-22 17:47:38 +03:00
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_801952B4.s")
|
2023-12-01 01:35:40 +03:00
|
|
|
#endif
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
void func_EBFBE0_801958DC(void) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
D_80178410 = 800;
|
|
|
|
D_EBFBE0_801B931C = 0;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9290.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9290.unk_4 = 0;
|
|
|
|
|
|
|
|
spectrumAnalizerMode = 0;
|
|
|
|
D_EBFBE0_801B9320 = 0;
|
|
|
|
|
|
|
|
// clang-format off
|
|
|
|
for (i = 0; i < 32; i++) { D_EBFBE0_801B9298[i] = 0.0f; }
|
|
|
|
// clang-format on
|
|
|
|
}
|
|
|
|
|
|
|
|
// Expert Sound Options
|
|
|
|
void func_EBFBE0_80195944(void) {
|
|
|
|
s32 pad;
|
|
|
|
f32 sp28 = D_EBFBE0_801B931C;
|
|
|
|
|
|
|
|
if (func_EBFBE0_8019C66C(&sp28, 0.0f, 49.0f, &D_EBFBE0_801B9290) != 0) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B931C = sp28;
|
|
|
|
}
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
if (gChangedInput[D_80177AF8].button & A_BUTTON) {
|
2023-11-22 17:47:38 +03:00
|
|
|
func_8001DA90(D_EBFBE0_801B931F);
|
|
|
|
D_EBFBE0_801B9320 = true;
|
|
|
|
}
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
if (gChangedInput[D_80177AF8].button & B_BUTTON) {
|
2023-11-22 17:47:38 +03:00
|
|
|
if (!D_EBFBE0_801B9320) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000021, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
func_8001D444(0, 0x24, 0, 0xFF);
|
|
|
|
D_80177898 = 0;
|
|
|
|
D_EBFBE0_801B9124 = 1000;
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
D_EBFBE0_801B9244 = 1;
|
|
|
|
} else {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x4900101D, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
func_800182F4(0x100100FF);
|
|
|
|
func_800182F4(0x110100FF);
|
|
|
|
D_EBFBE0_801B9320 = false;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Spectrum Analizer mode selector
|
2023-11-24 22:11:20 +03:00
|
|
|
if (gChangedInput[D_80177AF8].button & R_CBUTTONS) {
|
2023-11-22 17:47:38 +03:00
|
|
|
spectrumAnalizerMode++;
|
|
|
|
if (spectrumAnalizerMode > 2) {
|
|
|
|
spectrumAnalizerMode = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
#ifdef IMPORT_DATA_PENDING
|
|
|
|
u8* D_EBFBE0_801AECF8[10] = {
|
|
|
|
D_5009F60, D_500A050, D_500A140, D_500A230, D_500A320, D_500A410, D_500A500, 0x0500A5F0, 0x0500A6E0, 0x0500A7D0,
|
|
|
|
};
|
|
|
|
|
|
|
|
void func_EBFBE0_80195B74(void) {
|
|
|
|
u8* temp_v0_4;
|
|
|
|
f32 var_fs0;
|
|
|
|
f32 var_fv1;
|
|
|
|
s32 i;
|
|
|
|
f32 r;
|
|
|
|
f32 g;
|
|
|
|
f32 b;
|
|
|
|
static f32 D_EBFBE0_801AF004 = -125.0f;
|
|
|
|
static f32 D_EBFBE0_801AF008 = 0.0f;
|
|
|
|
static f32 D_EBFBE0_801AF00C = 2.0f;
|
|
|
|
static f32 D_EBFBE0_801AF010 = 8.0f;
|
|
|
|
static f32 D_EBFBE0_801AF014[4] = { 30.0f, 30.0f, 28.0f, 288.0f };
|
|
|
|
static f32 D_EBFBE0_801AF024[4] = { 125.0f, 197.0f, 125.0f, 125.0f };
|
|
|
|
static f32 D_EBFBE0_801AF034[4] = { 32.3f, 32.3f, 0.2f, 0.2f };
|
|
|
|
static f32 D_EBFBE0_801AF044[4] = { 0.2f, 0.2f, 9.2f, 9.2f };
|
|
|
|
static f32 D_EBFBE0_801AF054 = 255.0f;
|
|
|
|
static f32 D_EBFBE0_801AF058 = 100.0f;
|
|
|
|
static f32 D_EBFBE0_801AF05C = 255.0f;
|
|
|
|
static f32 D_EBFBE0_801AF060 = 100.0f;
|
|
|
|
static f32 D_EBFBE0_801AF064 = 255.0f;
|
|
|
|
static f32 D_EBFBE0_801AF068 = 100.0f;
|
|
|
|
static Gfx* D_EBFBE0_801AF06C[] = {
|
|
|
|
D_EBFBE0_801AEC30,
|
|
|
|
D_EBFBE0_801AEC88,
|
|
|
|
D_EBFBE0_801AECE0,
|
|
|
|
};
|
|
|
|
static f32 D_EBFBE0_801AF078[] = { -73.0f, -13.0f, -43.0f };
|
|
|
|
|
|
|
|
func_EBFBE0_8019B9C0();
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_80079F0, 128, 14, 49.0f, 81.0f, 1.0f, 1.0f);
|
|
|
|
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_EBFBE0_801AECF8[D_EBFBE0_801B931C / 10], 16, 15, 230.0f, 82.0f, 1.0f, 1.0f);
|
|
|
|
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_EBFBE0_801AECF8[D_EBFBE0_801B931C % 10], 16, 15, 244.0f, 82.0f, 1.0f, 1.0f);
|
|
|
|
|
|
|
|
func_EBFBE0_8019B7D4();
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 50, 50, 200, 255);
|
|
|
|
|
|
|
|
for (i = 0; i < 4; i++) {
|
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_60447A0, 8, 8, D_EBFBE0_801AF014[i], D_EBFBE0_801AF024[i],
|
|
|
|
D_EBFBE0_801AF034[i], D_EBFBE0_801AF044[i]);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B9320 != 0) {
|
|
|
|
temp_v0_4 = func_8001C3EC();
|
|
|
|
var_fv1 = 60.0f;
|
|
|
|
|
|
|
|
if (spectrumAnalizerMode == 2) {
|
|
|
|
var_fv1 = 30.0f;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 32; i++) {
|
|
|
|
if (spectrumAnalizerMode == 0 || spectrumAnalizerMode == 2)
|
|
|
|
D_EBFBE0_801B9298[i] = (var_fv1 / 255.0f) * temp_v0_4[i];
|
|
|
|
else
|
|
|
|
D_EBFBE0_801B9298[i] = var_fv1 - ((var_fv1 / 255.0f) * temp_v0_4[i]);
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
for (i = 0; i < 32; i++)
|
|
|
|
Math_SmoothStepToF(&D_EBFBE0_801B9298[i], 0.0f, 0.2f, 100.0f, 0.1f);
|
|
|
|
}
|
|
|
|
|
|
|
|
Lib_Ortho(&gMasterDisp);
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 5);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_LookAt(gGfxMatrix, 0.0f, 0.0f, 100.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
for (var_fs0 = D_EBFBE0_801AF004, i = 0; i < 32; i++, var_fs0 += D_EBFBE0_801AF010) {
|
|
|
|
r = D_EBFBE0_801AF054 + ((D_EBFBE0_801AF060 - D_EBFBE0_801AF054) / 31.0f) * i;
|
|
|
|
g = D_EBFBE0_801AF058 + ((D_EBFBE0_801AF064 - D_EBFBE0_801AF058) / 31.0f) * i;
|
|
|
|
b = D_EBFBE0_801AF05C + ((D_EBFBE0_801AF068 - D_EBFBE0_801AF05C) / 31.0f) * i;
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, (s32) r, (s32) g, (s32) b, 255);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_Translate(gGfxMatrix, var_fs0, D_EBFBE0_801AF078[spectrumAnalizerMode], D_EBFBE0_801AF008, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, D_EBFBE0_801AF00C, D_EBFBE0_801B9298[i], 1.0f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801AF06C[spectrumAnalizerMode]);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
Lib_Perspective(&gMasterDisp);
|
|
|
|
}
|
|
|
|
#else
|
2023-11-22 17:47:38 +03:00
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80195B74.s")
|
2023-12-01 01:35:40 +03:00
|
|
|
#endif
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
void func_EBFBE0_80196260(void) {
|
|
|
|
D_80178410 = 800;
|
|
|
|
D_EBFBE0_801B91E4 = 255.0f;
|
|
|
|
D_EBFBE0_801B9330[0] = 0;
|
|
|
|
D_EBFBE0_801B9330[1] = 0;
|
|
|
|
D_EBFBE0_801B91C0 = 0;
|
|
|
|
D_EBFBE0_801B91CC = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_801962A4(void) {
|
|
|
|
f32 temp_fv0;
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
switch (D_EBFBE0_801B912C) {
|
|
|
|
case 0:
|
|
|
|
func_EBFBE0_8019669C();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
if (D_EBFBE0_801B9330[D_EBFBE0_801B91C0] != 0) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
D_EBFBE0_801B91CC = 0;
|
|
|
|
D_EBFBE0_801B91C0 = 0;
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
if (D_EBFBE0_801B9330[D_EBFBE0_801B91C0]) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
D_80177898 = 0;
|
|
|
|
D_EBFBE0_801B9124 = 0x3E8;
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
D_EBFBE0_801B9244 = 1;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
if (D_EBFBE0_801B9330[D_EBFBE0_801B91C0]) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (D_EBFBE0_801B91CC) {
|
|
|
|
case 0:
|
|
|
|
D_EBFBE0_801B91CC = 1;
|
|
|
|
D_EBFBE0_801B91C0 = 0;
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
D_EBFBE0_801B91CC = 2;
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x0940A00B, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_801779A8[D_80177AF8] = 50.0f;
|
|
|
|
D_80177990[D_80177AF8] = 0;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
D_80177990[D_80177AF8] += (s32) D_801779A8[D_80177AF8];
|
2023-11-30 05:44:42 +03:00
|
|
|
temp_fv0 = Math_SmoothStepToF(&D_801779A8[D_80177AF8], 100.0f, 0.05f, 100.0f, 0.1f);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
if (D_80177990[D_80177AF8] >= 100) {
|
|
|
|
D_80177990[D_80177AF8] -= 100;
|
|
|
|
D_80137E84[D_80177AF8] = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (temp_fv0 == 0.0f) {
|
|
|
|
D_EBFBE0_801B91CC = 3;
|
|
|
|
|
2023-11-27 00:27:05 +03:00
|
|
|
gSaveFile = *(SaveFile*) &gDefaultSave;
|
2023-11-22 17:47:38 +03:00
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
Save_Write();
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
D_EBFBE0_801B91AC = 0;
|
|
|
|
D_EBFBE0_801B91B0 = 0;
|
|
|
|
D_EBFBE0_801B91C8 = 0;
|
|
|
|
|
|
|
|
D_801779F8 = 0;
|
|
|
|
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_08 = D_8003B50;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_10 = 72;
|
|
|
|
D_EBFBE0_801AE638[0].unk_00.unk_14 = 12;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_08 = D_80046B0;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_10 = 64;
|
|
|
|
D_EBFBE0_801AE638[4].unk_00.unk_14 = 10;
|
|
|
|
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
D_EBFBE0_801AE5B8[i] = D_EBFBE0_801AE588[i];
|
|
|
|
D_EBFBE0_801AE5D0[i] = D_EBFBE0_801AE5A0[i];
|
|
|
|
}
|
|
|
|
func_EBFBE0_80188010();
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_8019669C(void) {
|
|
|
|
if ((D_EBFBE0_801B91CC == 0) || (D_EBFBE0_801B91CC == 1)) {
|
|
|
|
if (func_EBFBE0_8019C5A0(&D_EBFBE0_801B91C0) != 0) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
if (1) {}
|
|
|
|
}
|
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
if (gChangedInput[D_80177AF8].button & A_BUTTON) {
|
2023-11-22 17:47:38 +03:00
|
|
|
if (D_EBFBE0_801B91CC == 3) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000021, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B912C = 3;
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801B9330[D_EBFBE0_801B91C0] = 10;
|
|
|
|
if (D_EBFBE0_801B91C0 == 0) {
|
|
|
|
if (D_EBFBE0_801B91CC == 1) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000003, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B912C = 2;
|
|
|
|
} else {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000021, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B912C = 3;
|
|
|
|
}
|
|
|
|
} else {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000003, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B912C = 4;
|
|
|
|
}
|
|
|
|
}
|
2023-12-01 01:35:40 +03:00
|
|
|
} else if (gChangedInput[D_80177AF8].button & B_BUTTON) {
|
2023-11-22 17:47:38 +03:00
|
|
|
if (D_EBFBE0_801B91CC == 1) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x4900101D, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B912C = 2;
|
|
|
|
} else {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000021, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B912C = 3;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
#ifdef IMPORT_DATA_PENDING
|
|
|
|
static f32 D_EBFBE0_801AED20[2] = { 255.0f, 255.0f };
|
|
|
|
|
|
|
|
void func_EBFBE0_80196894(void) {
|
|
|
|
s32 i;
|
|
|
|
s32 sp7C[2];
|
|
|
|
s32 sp74[2];
|
|
|
|
static f32 D_EBFBE0_801AF084[2] = { 172.0f, 76.0f };
|
|
|
|
static f32 D_EBFBE0_801AF08C[2] = { 228.0f, 121.0f };
|
|
|
|
|
|
|
|
static f32 D_EBFBE0_801AF094[6] = { 72.0f, 88.0f, 185.0f, 80.0f, 84.0f, 88.0f };
|
|
|
|
static f32 D_EBFBE0_801AF0AC[6] = { 53.0f, 137.0f, 137.0f, 90.0f, 80.0f, 97.0f };
|
|
|
|
|
|
|
|
func_EBFBE0_8019B9C0();
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
for (i = 0; i < 2; i++) {
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_80084B0 + (i * 176 * 4), 176, 4, D_EBFBE0_801AF094[0],
|
|
|
|
D_EBFBE0_801AF0AC[0] + (4.0f * i), 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_80084B0 + 1408, 176, 5, D_EBFBE0_801AF094[0], D_EBFBE0_801AF0AC[0] + 8.0f, 1.0f,
|
|
|
|
1.0f);
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B91CC < 2) {
|
|
|
|
TextureRect_8bIA_MirX(&gMasterDisp, D_800E130, 8, 8, D_EBFBE0_801AF084[D_EBFBE0_801B91C0], 140.0f, 1.0f, 1.0f);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_800E130, 8, 8, D_EBFBE0_801AF08C[D_EBFBE0_801B91C0], 140.0f, 1.0f, 1.0f);
|
|
|
|
|
|
|
|
func_EBFBE0_8019C824(&D_EBFBE0_801AED20[D_EBFBE0_801B91C0]);
|
|
|
|
D_EBFBE0_801AED20[!D_EBFBE0_801B91C0] = 255.0f;
|
|
|
|
|
|
|
|
sp74[0] = sp74[1] = 0xFFFFFFFF;
|
|
|
|
|
|
|
|
for (i = 0; i < 2; i++) {
|
|
|
|
if (D_EBFBE0_801B9330[i]) {
|
|
|
|
sp74[i] = 1;
|
|
|
|
sp7C[i] = 255;
|
|
|
|
D_EBFBE0_801B9330[i]--;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_80177DB0 & sp74[1]) {
|
|
|
|
sp7C[1] = D_EBFBE0_801AED20[1];
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, sp7C[1], sp7C[1], 255);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8009980, 32, 12, D_EBFBE0_801AF094[1], D_EBFBE0_801AF0AC[1], 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_80177DB0 & sp74[0]) {
|
|
|
|
sp7C[0] = D_EBFBE0_801AED20[0];
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, sp7C[0], sp7C[0], 255);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8009B00, 40, 12, D_EBFBE0_801AF094[2], D_EBFBE0_801AF0AC[2], 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (D_EBFBE0_801B91CC) {
|
|
|
|
case 0:
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
for (i = 0; i < 9; i++) {
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8008DA0 + (160 * 2 * i), 160, 2, D_EBFBE0_801AF094[3],
|
|
|
|
D_EBFBE0_801AF0AC[3] + (2.0f * i), 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8008DA0 + 2880, 160, 1, D_EBFBE0_801AF094[3], D_EBFBE0_801AF0AC[3] + 18.0f,
|
|
|
|
1.0f, 1.0f);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
case 2:
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
for (i = 0; i < 20; i++) {
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8009CE0 + (160 * 2 * i), 160, 2, D_EBFBE0_801AF094[4],
|
|
|
|
D_EBFBE0_801AF0AC[4] + (2.0f * i), 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_8009CE0 + 6400, 160, 1, D_EBFBE0_801AF094[4], D_EBFBE0_801AF0AC[4] + 40.0f,
|
|
|
|
1.0f, 1.0f);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 32, 32, 255);
|
|
|
|
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_800B680, 144, 28, D_EBFBE0_801AF094[5], D_EBFBE0_801AF0AC[5], 1.0f, 1.0f);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_800B680 + 4032, 144, 13, D_EBFBE0_801AF094[5],
|
|
|
|
D_EBFBE0_801AF0AC[5] + 28.0f, 1.0f, 1.0f);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
func_EBFBE0_8019B7D4();
|
|
|
|
}
|
|
|
|
#else
|
2023-11-22 17:47:38 +03:00
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80196894.s")
|
2023-12-01 01:35:40 +03:00
|
|
|
#endif
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
void func_EBFBE0_80196E54(void) {
|
|
|
|
func_EBFBE0_80188010();
|
|
|
|
|
|
|
|
D_80178410 = 800;
|
|
|
|
|
|
|
|
D_EBFBE0_801B91D0 = 1;
|
|
|
|
D_EBFBE0_801B93E4 = 0;
|
|
|
|
|
|
|
|
D_EBFBE0_801B91D4 = 114.0f;
|
|
|
|
D_EBFBE0_801B91DC = 114.0f;
|
|
|
|
|
|
|
|
D_EBFBE0_801B91D8 = -6.0f;
|
|
|
|
D_EBFBE0_801B91E0 = -6.0f;
|
|
|
|
|
|
|
|
D_EBFBE0_801B93E0 = 0;
|
|
|
|
D_EBFBE0_801B8288 = 10;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9400.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9400.unk_4 = 0;
|
|
|
|
D_EBFBE0_801B9408.unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9408.unk_4 = 0;
|
|
|
|
|
|
|
|
func_EBFBE0_80192598();
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80196EFC(void) {
|
|
|
|
func_EBFBE0_80196FC4();
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
if (gChangedInput[D_80177AF8].button & B_BUTTON) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000021, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_80177898 = 0;
|
|
|
|
D_EBFBE0_801B9124 = 1000;
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
D_EBFBE0_801B9244 = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80196F9C(void) {
|
|
|
|
func_EBFBE0_801973C0();
|
|
|
|
func_EBFBE0_8019B9C0();
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80196FC4(void) {
|
2023-11-24 22:11:20 +03:00
|
|
|
if (gChangedInput[D_80177AF8].button & A_BUTTON) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000003, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B93E0 ^= 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B93E0 != 0) {
|
|
|
|
func_EBFBE0_8019715C();
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
func_EBFBE0_80197074();
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80197074(void) {
|
|
|
|
if (func_EBFBE0_8019C418(&D_EBFBE0_801B93E4, 9, 1, 0, 20, 5, 4, D_80177AF8, &D_EBFBE0_801B9400) != 0) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B91D4 = 114.0f - D_EBFBE0_801B93E4 * 130.0f;
|
|
|
|
D_EBFBE0_801B91DC = 114.0f - D_EBFBE0_801B93E4 * 130.0f;
|
|
|
|
D_EBFBE0_801B91D8 = -6.0f + D_EBFBE0_801B93E4 * 130.0f;
|
|
|
|
D_EBFBE0_801B91E0 = -6.0f + D_EBFBE0_801B93E4 * 130.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_8019715C(void) {
|
|
|
|
s32 pad;
|
|
|
|
f32 sp30;
|
|
|
|
f32 temp_fv0_2;
|
|
|
|
s32 temp;
|
|
|
|
s32 temp2;
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B91D0 != 0) {
|
|
|
|
if (func_EBFBE0_8019C418(&D_EBFBE0_801B93E4, 9, 1, 1, 20, 2, 9, D_80177AF8, &D_EBFBE0_801B9408) != 0.00f) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B91DC = 114.0f - D_EBFBE0_801B93E4 * 130.0f;
|
|
|
|
D_EBFBE0_801B91E0 = -6.0f + D_EBFBE0_801B93E4 * 130.0f;
|
|
|
|
D_EBFBE0_801B91D0 = 0;
|
|
|
|
}
|
|
|
|
} else {
|
2023-11-30 05:44:42 +03:00
|
|
|
sp30 = Math_SmoothStepToF(&D_EBFBE0_801B91D8, D_EBFBE0_801B91E0, 0.5f, 100.0f, 1.0f);
|
|
|
|
temp_fv0_2 = Math_SmoothStepToF(&D_EBFBE0_801B91D4, D_EBFBE0_801B91DC, 0.5f, 100.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
if ((sp30 == 0.0f) && (temp_fv0_2 == 0.0f)) {
|
|
|
|
D_EBFBE0_801B91D0 = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
temp = D_EBFBE0_801B91D4;
|
|
|
|
temp2 = D_EBFBE0_801B91D8;
|
|
|
|
|
|
|
|
D_EBFBE0_801B91D4 = temp;
|
|
|
|
D_EBFBE0_801B91D8 = temp2;
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B91D4 >= 114.0f) {
|
|
|
|
D_EBFBE0_801B91D4 = 114.0f;
|
|
|
|
}
|
|
|
|
if (D_EBFBE0_801B91D4 <= -1056.0f) {
|
|
|
|
D_EBFBE0_801B91D4 = -1056.0f;
|
|
|
|
}
|
|
|
|
if (D_EBFBE0_801B91D8 <= -6.0f) {
|
|
|
|
D_EBFBE0_801B91D8 = -6.0f;
|
|
|
|
}
|
|
|
|
if (D_EBFBE0_801B91D8 >= 1164.0f) {
|
|
|
|
D_EBFBE0_801B91D8 = 1164.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7110.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7114.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7118.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B711C.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7120.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7124.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7128.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B712C.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7130.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7134.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7138.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B713C.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7140.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7144.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7148.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B714C.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7150.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7154.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/D_EBFBE0_801B7158.s")
|
|
|
|
|
|
|
|
void func_EBFBE0_801973C0(void) {
|
|
|
|
s32 temp_t0;
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B93E0 != 0) {
|
|
|
|
func_EBFBE0_8019752C();
|
|
|
|
} else {
|
|
|
|
func_EBFBE0_80187E28();
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2023-11-22 17:47:38 +03:00
|
|
|
func_EBFBE0_8019C824(&D_EBFBE0_801B93F0);
|
|
|
|
temp_t0 = D_EBFBE0_801B93F0;
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_t0, temp_t0, 255);
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_8bIA(&gMasterDisp, D_7004010, 8, 8, 70.0f, (D_EBFBE0_801B93E4 * 17.0f) + 55.0f, 1.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2023-11-22 17:47:38 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
2023-11-30 05:44:42 +03:00
|
|
|
Graphics_DisplaySmallText(242, 215, 1.0f, 1.0f, "PUSH A");
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
#ifdef IMPORT_DATA_PENDING
|
|
|
|
void func_EBFBE0_8019752C(void) {
|
|
|
|
f32 var_fs0;
|
|
|
|
f32 var_fs1;
|
|
|
|
s32 temp_a0;
|
|
|
|
s32 i;
|
|
|
|
static f32 D_EBFBE0_801AF0F4 = 130.0f;
|
|
|
|
static f32 D_EBFBE0_801AF0F8[] = { 48.0f, 175.0f };
|
|
|
|
|
|
|
|
var_fs0 = D_EBFBE0_801B91D4;
|
|
|
|
var_fs1 = D_EBFBE0_801B91D8;
|
|
|
|
|
|
|
|
for (i = 0; i < 10; i++) {
|
|
|
|
if ((var_fs0 > 69.0f) && (var_fs0 < 230.0f)) {
|
|
|
|
func_EBFBE0_80197A3C(i, 41, var_fs0);
|
|
|
|
func_EBFBE0_80197D30(i, 75, var_fs0 - 25.0f);
|
|
|
|
func_EBFBE0_80197DE4(i, 130, (var_fs0 - 26.0f));
|
2023-11-24 22:11:20 +03:00
|
|
|
func_EBFBE0_801AD7EC(210, (var_fs0 - 24.0f), gSaveFile.save.data.unk_40[i]);
|
2023-11-22 17:47:38 +03:00
|
|
|
func_EBFBE0_80197F74(i, 258, var_fs0 - 25.0f);
|
|
|
|
}
|
|
|
|
func_EBFBE0_80198164(i, var_fs0, var_fs1);
|
|
|
|
var_fs0 += D_EBFBE0_801AF0F4;
|
|
|
|
var_fs1 -= D_EBFBE0_801AF0F4;
|
|
|
|
}
|
|
|
|
|
|
|
|
func_EBFBE0_8019BDF0();
|
|
|
|
func_EBFBE0_80197914();
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_8bIA(&gMasterDisp, D_800D170, 8, 16, 0.0f, D_EBFBE0_801AF0F8[0], 40.0f, 1.5f);
|
|
|
|
TextureRect_8bIA_MirY(&gMasterDisp, D_800D170, 8, 16, 0.0f, D_EBFBE0_801AF0F8[1], 40.0f, 1.5f);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
func_8003DE68(0, 70);
|
|
|
|
func_8003DE68(170, 239);
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
if (D_EBFBE0_801B91D4 >= 114.0f) {
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 32, 32, 32, 255);
|
|
|
|
} else {
|
|
|
|
func_EBFBE0_8019C824(&D_EBFBE0_801B93F4);
|
|
|
|
temp_a0 = D_EBFBE0_801B93F4;
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_a0, temp_a0, 255);
|
|
|
|
}
|
|
|
|
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_8bIA(&gMasterDisp, D_800D070, 16, 16, 150.0f, 44.0f, 1.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
if (D_EBFBE0_801B91D4 <= -1055.0f) {
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 32, 32, 32, 255);
|
|
|
|
} else {
|
|
|
|
func_EBFBE0_8019C824(&D_EBFBE0_801B93F8);
|
|
|
|
temp_a0 = D_EBFBE0_801B93F8;
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, temp_a0, temp_a0, 255);
|
|
|
|
}
|
|
|
|
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_8bIA_MirY(&gMasterDisp, D_800D070, 0x10, 0x10, 150.0f, 200.0f, 1.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
#else
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019752C.s")
|
|
|
|
#endif
|
|
|
|
|
|
|
|
void func_EBFBE0_80197914(void) {
|
|
|
|
Vec3f* vec1;
|
|
|
|
Vec3f* vec2;
|
|
|
|
s32 i;
|
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
2023-11-27 00:27:05 +03:00
|
|
|
for (i = 0, vec1 = D_EBFBE0_801AF100, vec2 = D_EBFBE0_801AF118; i < 2; i++, vec1++, vec2++) {
|
2023-11-24 22:11:20 +03:00
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_Translate(gGfxMatrix, vec1->x, vec1->y, -500.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, vec2->x, vec2->y, 1.0f, 1);
|
2023-11-22 17:47:38 +03:00
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEF30);
|
2023-11-24 22:11:20 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80197A3C(s32 arg0, s32 arg1, s32 arg2) {
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
if (arg0 != 9) {
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_8bIA(&gMasterDisp, D_EBFBE0_801AECF8[arg0 + 1], 16, 15, arg1, arg2 - 25.0f, 1.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
} else {
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_8bIA(&gMasterDisp, D_500A050, 16, 15, arg1 - 14.0f, arg2 - 25.0f, 1.0f, 1.0f);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_5009F60, 16, 15, arg1, arg2 - 25.0f, 1.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x55);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
switch (arg0) {
|
|
|
|
case 0:
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_4bCI(&gMasterDisp, D_8003A70, D_8003AB8, 16, 9, arg1 + 17.0f, arg2 - 19.0f, 1.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_4bCI(&gMasterDisp, D_80038E0, D_8003930, 16, 10, arg1 + 17.0f, arg2 - 19.0f, 1.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_4bCI(&gMasterDisp, D_8003950, D_80039A8, 16, 11, arg1 + 17.0f, arg2 - 20.0f, 1.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_4bCI(&gMasterDisp, D_8003AE0, D_8003B28, 16, 9, arg1 + 17.0f, arg2 - 19.0f, 1.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80197D30(s32 arg0, s32 arg1, s32 arg2) {
|
2023-11-27 00:27:05 +03:00
|
|
|
char temp[4];
|
2023-11-22 17:47:38 +03:00
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
temp[0] = gSaveFile.save.data.unk_18[arg0][0] & 0xFF;
|
|
|
|
temp[1] = gSaveFile.save.data.unk_18[arg0][1] & 0xFF;
|
|
|
|
temp[2] = gSaveFile.save.data.unk_18[arg0][2] & 0xFF;
|
2023-11-27 00:27:05 +03:00
|
|
|
temp[3] = '\0';
|
2023-11-22 17:47:38 +03:00
|
|
|
|
2023-11-30 05:44:42 +03:00
|
|
|
Graphics_DisplayLargeText(arg1, arg2, 1.0f, 1.0f, temp);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80197DE4(s32 arg0, s32 arg1, s32 arg2) {
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2023-11-22 17:47:38 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 255, 170);
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_8bIA(&gMasterDisp, D_601B4B0, 24, 17, arg1, arg2, 3.17f, 1.05f);
|
2023-11-22 17:47:38 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
2023-11-30 05:44:42 +03:00
|
|
|
Graphics_DisplaySmallText(arg1, arg2, 1.0f, 1.0f, "TOTAL HITS");
|
2023-11-22 17:47:38 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
2023-11-30 05:44:42 +03:00
|
|
|
Graphics_DisplaySmallNumber((arg1 + 40.0f) - ((func_8008BCBC(D_EBFBE0_801B8220[arg0]) * 8) - 8), (arg2 + 9.0f),
|
|
|
|
D_EBFBE0_801B8220[arg0]);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80197F74(s32 arg0, s32 arg1, s32 arg2) {
|
|
|
|
f32 temp_fs1;
|
|
|
|
s32 i;
|
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
for (temp_fs1 = 0.0f, i = 0; i < 3; i++, temp_fs1 += 12.0f) {
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, D_EBFBE0_801AF0D0[i], D_EBFBE0_801AF0DC[i], D_EBFBE0_801AF0E8[i], 255);
|
2023-11-30 05:44:42 +03:00
|
|
|
Graphics_DisplaySmallText(temp_fs1 + arg1, arg2, 1.0f, 1.0f, D_EBFBE0_801AF0C4[i]);
|
2023-11-22 17:47:38 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
2023-11-30 05:44:42 +03:00
|
|
|
Graphics_DisplaySmallNumber(arg1 + temp_fs1 - ((func_8008BCBC(D_EBFBE0_801B81A8[arg0][i]) - 1) * 8),
|
|
|
|
arg2 + 9.0f, D_EBFBE0_801B81A8[arg0][i]);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80198164(s32 arg0, f32 arg1, f32 arg2) {
|
|
|
|
f32 temp = 16.0f;
|
2023-11-24 22:11:20 +03:00
|
|
|
s32 temp_s2 = gSaveFile.save.data.unk_36[arg0];
|
2023-11-22 17:47:38 +03:00
|
|
|
f32 var_fs2;
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
for (var_fs2 = 0.0f, i = 0; i < 7; i++, var_fs2 += 24.0f + temp) {
|
|
|
|
func_EBFBE0_801982B0(arg0, i, 28.0f + var_fs2, arg1, temp_s2);
|
|
|
|
if (i < temp_s2) {
|
|
|
|
func_EBFBE0_8019882C(arg0, i, 28.0f + var_fs2, arg1);
|
|
|
|
func_EBFBE0_801984D0(arg0, i, 28.0f + var_fs2, arg1);
|
|
|
|
func_EBFBE0_80198608(arg0, i, 28.0f + var_fs2, arg1);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if ((arg2 < 75.0f) && (arg2 > -80.0f)) {
|
|
|
|
func_EBFBE0_8019896C(arg0, arg2, temp_s2);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_801982B0(s32 arg0, s32 arg1, f32 arg2, f32 arg3, s32 arg4) {
|
|
|
|
s32 r;
|
|
|
|
s32 g;
|
|
|
|
s32 b;
|
|
|
|
s32 temp_v0;
|
|
|
|
s32 temp1;
|
|
|
|
s32 temp2;
|
|
|
|
|
|
|
|
if ((arg3 > 30.0f) && (arg3 < 200.0f)) {
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
2023-11-22 17:47:38 +03:00
|
|
|
if (arg1 < 6) {
|
|
|
|
b = 255;
|
|
|
|
g = 255;
|
|
|
|
r = 255;
|
|
|
|
if (arg1 < (arg4 - 1)) {
|
2023-11-24 22:11:20 +03:00
|
|
|
temp1 = gSaveFile.save.data.unk_5E[arg0][arg1].unk_8 & 15;
|
|
|
|
temp2 = gSaveFile.save.data.unk_5E[arg0][arg1 + 1].unk_8 & 15;
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
temp_v0 = func_EBFBE0_80199284(temp1, temp2);
|
|
|
|
|
|
|
|
g = 255;
|
|
|
|
b = 255;
|
|
|
|
r = 255;
|
|
|
|
|
|
|
|
switch (temp_v0) {
|
|
|
|
case 0:
|
|
|
|
r = 16;
|
|
|
|
g = 64;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
case 3:
|
|
|
|
g = 175;
|
|
|
|
b = 0;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
case 4:
|
|
|
|
b = 0;
|
|
|
|
g = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, r, g, b, 255);
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_60447A0, 8, 8, arg2 + 24.0f, arg3 + 11.0f, 2.0f, 0.2f);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
2023-11-28 23:03:47 +03:00
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_6047550, 24, 24, arg2, arg3, 1.0f, 1.0f);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_801984D0(s32 arg0, s32 arg1, f32 arg2, f32 arg3) {
|
|
|
|
s32 sp1C;
|
|
|
|
|
|
|
|
if ((arg3 > 22.0f) && (arg3 < 162.0f)) {
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2023-11-22 17:47:38 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
2023-11-24 22:11:20 +03:00
|
|
|
sp1C = (gSaveFile.save.data.unk_5E[arg0][arg1].unk_C & 1) << 8;
|
|
|
|
sp1C |= gSaveFile.save.data.unk_5E[arg0][arg1].unk_0;
|
2023-11-30 05:44:42 +03:00
|
|
|
Graphics_DisplaySmallNumber(arg2 + 15.0f - (func_8008BCBC(sp1C) - 1) * 8, arg3 + 24.0f + 1.0f, sp1C);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_80198608(s32 arg0, s32 arg1, f32 arg2, f32 arg3) {
|
|
|
|
f32 var_fs1;
|
|
|
|
s32 sp90[3];
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
if ((arg3 > 12.0f) && (arg3 < 154.0f)) {
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
sp90[0] = gSaveFile.save.data.unk_5E[arg0][arg1].unk_D & 1;
|
|
|
|
sp90[1] = gSaveFile.save.data.unk_5E[arg0][arg1].unk_F & 1;
|
|
|
|
sp90[2] = gSaveFile.save.data.unk_5E[arg0][arg1].unk_E & 1;
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
for (var_fs1 = 0.0f, i = 0; i < 3; i++, var_fs1 += 9.0f) {
|
|
|
|
if (sp90[i] == 0) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, D_EBFBE0_801AF0D0[i], D_EBFBE0_801AF0DC[i], D_EBFBE0_801AF0E8[i], 255);
|
2023-11-30 05:44:42 +03:00
|
|
|
Graphics_DisplaySmallText(arg2 + var_fs1 - 1.0f, arg3 + 24.0f + 8.0f + 1.0f, 1.0f, 1.0f,
|
|
|
|
D_EBFBE0_801AF0C4[i]);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_8019882C(s32 arg0, s32 arg1, f32 arg2, f32 arg3) {
|
|
|
|
s32 temp;
|
|
|
|
s8* sp20;
|
|
|
|
f32 temp2;
|
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
if ((arg3 > 58.0f) && (arg3 < 197.0f)) {
|
|
|
|
temp = gSaveFile.save.data.unk_5E[arg0][arg1].unk_8 & 0xF;
|
2023-11-22 17:47:38 +03:00
|
|
|
sp20 = D_EBFBE0_801AEEAC[temp];
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2023-11-22 17:47:38 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
2023-11-30 05:44:42 +03:00
|
|
|
temp2 = Graphics_GetSmallTextWidth(sp20) / 2.0f;
|
|
|
|
Graphics_DisplaySmallText(arg2 + 12.0f - temp2, arg3 - 8.0f, 1.0f, 1.0f, sp20);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-12-01 01:35:40 +03:00
|
|
|
#ifdef IMPORT_DATA_PENDING
|
|
|
|
extern Gfx D_EBFBE0_801B4A40[];
|
|
|
|
extern Gfx D_EBFBE0_801B5E78[];
|
|
|
|
extern Gfx D_EBFBE0_801B61E0[];
|
|
|
|
extern Gfx D_EBFBE0_801B6548[];
|
|
|
|
extern Gfx D_EBFBE0_801B4D70[];
|
|
|
|
extern Gfx D_EBFBE0_801B5B10[];
|
|
|
|
extern Gfx D_EBFBE0_801B5440[];
|
|
|
|
extern Gfx D_EBFBE0_801B50D8[];
|
|
|
|
extern Gfx D_EBFBE0_801B5E78[];
|
|
|
|
extern Gfx D_EBFBE0_801B57A8[];
|
|
|
|
|
|
|
|
static Gfx* D_EBFBE0_801AEE6C[16] = {
|
|
|
|
(Gfx*) 0x06060610, (Gfx*) 0x0601DE80, (Gfx*) 0x0604B750, (Gfx*) 0x0601F6B0, (Gfx*) 0x0601C0D0, (Gfx*) 0x0601C960,
|
|
|
|
D_EBFBE0_801B5E78, D_EBFBE0_801B61E0, D_EBFBE0_801B6548, D_EBFBE0_801B4D70, D_EBFBE0_801B5B10, D_EBFBE0_801B5440,
|
|
|
|
D_EBFBE0_801B50D8, (Gfx*) 0x0604DB10, D_EBFBE0_801B57A8, D_EBFBE0_801B57A8,
|
|
|
|
};
|
|
|
|
|
|
|
|
void func_EBFBE0_8019896C(s32 arg0, f32 y, s32 arg2) {
|
|
|
|
static f32 D_EBFBE0_801AF130 = 0.0f;
|
|
|
|
static f32 D_EBFBE0_801AF134 = -121.0f;
|
|
|
|
static f32 D_EBFBE0_801AF138 = 40.1f;
|
|
|
|
s32 i;
|
|
|
|
s32 data;
|
|
|
|
s32 spFC;
|
|
|
|
s32 spF4;
|
|
|
|
f32 x;
|
|
|
|
s32 pad[2];
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_LookAt(gGfxMatrix, 0.0f, 0.0f, 100.0f, 0.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
Lib_Ortho(&gMasterDisp);
|
|
|
|
|
|
|
|
spFC = gSaveFile.save.data.unk_4A[arg0];
|
|
|
|
for (x = D_EBFBE0_801AF134, i = 0; i < arg2; i++, x += D_EBFBE0_801AF138) {
|
|
|
|
data = gSaveFile.save.data.unk_5E[arg0][i].unk_8 & 15;
|
|
|
|
|
|
|
|
switch (data) {
|
|
|
|
case 13:
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 240, 0, 0, 255);
|
|
|
|
gDPSetEnvColor(gMasterDisp++, 31, 0, 0, 0);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1);
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * D_EBFBE0_801AF130, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.3f, 0.3f, 0.3f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 128);
|
|
|
|
gDPSetEnvColor(gMasterDisp++, 31, 0, 0, 0);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.8f, 0.8f, 0.8f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]);
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0:
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x3E);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_Translate(gGfxMatrix, x - 1.0f, y + 4.0f, 0.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.3f, 0.3f, 0.3f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]);
|
|
|
|
|
|
|
|
Matrix_Translate(gGfxMatrix, 18.0f, -20.0f, 0.0f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
case 5:
|
|
|
|
case 3:
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x3E);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 144);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.3f, 0.3f, 0.3f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x17);
|
|
|
|
Lights_SetOneLight(&gMasterDisp, 0, 0, 100, 100, 100, 70, 100, 100, 100);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1);
|
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * 20.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.01f, 0.01f, 0.01f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x17);
|
|
|
|
Lights_SetOneLight(&gMasterDisp, 0, 0, 100, 100, 100, 70, 100, 100, 100);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1);
|
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * 20.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.01f, 0.01f, 0.01f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x3E);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.3f, 0.3f, 0.3f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801AEE6C[data]);
|
|
|
|
|
|
|
|
if ((data != 14) && (data != 15) && (data != 11)) {
|
|
|
|
if (data == 7) {
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 64, 64, 64, 255);
|
|
|
|
} else {
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
}
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
gSPDisplayList(gMasterDisp++, D_EBFBE0_801B4A40);
|
|
|
|
}
|
|
|
|
Matrix_Scale(gGfxMatrix, 1.6f, 1.6f, 1.6f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_605C230);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
spF4 = (spFC >> i) & 1;
|
|
|
|
if (spF4 != 0) {
|
|
|
|
func_EBFBE0_80199198(x, y, 0.0f);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
|
|
|
func_EBFBE0_80192738();
|
|
|
|
|
|
|
|
D_EBFBE0_801AF130 += 0.1f;
|
|
|
|
|
|
|
|
Lib_Perspective(&gMasterDisp);
|
|
|
|
}
|
|
|
|
#else
|
2023-11-22 17:47:38 +03:00
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019896C.s")
|
2023-12-01 01:35:40 +03:00
|
|
|
#endif
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
void func_EBFBE0_80199198(f32 arg0, f32 arg1, f32 arg2) {
|
2023-12-01 01:35:40 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x35);
|
2023-11-24 22:11:20 +03:00
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_Translate(gGfxMatrix, arg0 - D_EBFBE0_801AF140, arg1 + D_EBFBE0_801AF144, arg2, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, D_EBFBE0_801AF13C, D_EBFBE0_801AF13C, D_EBFBE0_801AF13C, 1);
|
2023-11-22 17:47:38 +03:00
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
gSPDisplayList(gMasterDisp++, D_601D1F0);
|
2023-11-24 22:11:20 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
s32 func_EBFBE0_80199284(s32 arg0, s32 arg1) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
for (i = 0; i < 24; i++) {
|
|
|
|
if ((D_EBFBE0_801AED4C[i].unk_0 == arg0) && (D_EBFBE0_801AED4C[i].unk_4 == arg1)) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return D_EBFBE0_801AED4C[i].unk_8;
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_801992C4.s")
|
|
|
|
|
|
|
|
void func_EBFBE0_80199424(void) {
|
|
|
|
switch (D_EBFBE0_801B912C) {
|
|
|
|
case 0:
|
|
|
|
func_EBFBE0_8019949C();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
if (D_EBFBE0_801B91EC == 0.0f) {
|
|
|
|
D_EBFBE0_801B9124 = 2000;
|
|
|
|
func_EBFBE0_801924C4();
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019949C.s")
|
|
|
|
|
|
|
|
void func_EBFBE0_8019978C(void) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
func_EBFBE0_8019B8C8();
|
|
|
|
func_EBFBE0_80199EA8();
|
|
|
|
|
|
|
|
for (i = 0; i < 4; i++) {
|
2023-11-24 22:11:20 +03:00
|
|
|
if (gControllerStatus[i] == 1) {
|
2023-11-22 17:47:38 +03:00
|
|
|
func_EBFBE0_80199820(i);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801B93C4 == 15) {
|
|
|
|
func_EBFBE0_8019B5AC();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80199820.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80199EA8.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_80199FA8.s")
|
|
|
|
|
|
|
|
// Needs static data type
|
|
|
|
#ifdef IMPORT_DATA_PENDING
|
|
|
|
void func_EBFBE0_8019A080(void) {
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
for (i = 0; i < 4; i++) {
|
|
|
|
D_EBFBE0_801B9380[i].unk_0 = 0;
|
|
|
|
D_EBFBE0_801B9380[i].unk_4 = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#else
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019A080.s")
|
|
|
|
#endif
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019A0B8.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019A124.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019A1A8.s")
|
|
|
|
|
|
|
|
void func_EBFBE0_8019A214(void) {
|
|
|
|
switch (D_EBFBE0_801B912C) {
|
|
|
|
case 0:
|
|
|
|
func_EBFBE0_8019A4DC();
|
|
|
|
break;
|
|
|
|
case 1:
|
|
|
|
func_EBFBE0_8019A6DC();
|
|
|
|
break;
|
|
|
|
case 2:
|
|
|
|
func_EBFBE0_8019A954();
|
|
|
|
break;
|
|
|
|
case 3:
|
|
|
|
func_EBFBE0_8019A298();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_8019A298(void) {
|
|
|
|
if (D_EBFBE0_801B91EC == 0.0f) {
|
|
|
|
D_80177834 = 6;
|
|
|
|
D_8017783C = 2;
|
|
|
|
D_8017784C = 0;
|
|
|
|
D_80177898 = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019A2E0.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019A4DC.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019A6DC.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019A954.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019AAB4.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019AB30.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019AD84.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019AFFC.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019B1F8.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019B3DC.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019B5AC.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019B6D8.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019B7D4.s")
|
|
|
|
|
|
|
|
void func_EBFBE0_8019B8A0(s32 arg0) {
|
|
|
|
D_EBFBE0_801B9124 = arg0;
|
|
|
|
D_80177898 = 0;
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
D_EBFBE0_801B91B4 = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019B8C8.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019B9C0.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019BAB8.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019BBA4.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019BC44.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019BDF0.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019BE7C.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019BF34.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019C04C.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019C120.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019C418.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019C5A0.s")
|
|
|
|
|
2023-11-25 23:08:39 +03:00
|
|
|
s32 func_EBFBE0_8019C66C(f32* arg0, f32 arg1, f32 arg2, UnkStruct_D_EBFBE0_801B9250* arg3) {
|
|
|
|
s32 x;
|
|
|
|
s32 y;
|
|
|
|
s32 var_a2;
|
|
|
|
f32 var_fv1;
|
|
|
|
f32 temp;
|
|
|
|
f32 temp2;
|
|
|
|
|
|
|
|
var_a2 = 0;
|
|
|
|
temp = *arg0;
|
|
|
|
|
|
|
|
x = gChangedInput[D_80177AF8].stick_x;
|
|
|
|
y = -gChangedInput[D_80177AF8].stick_y;
|
|
|
|
|
|
|
|
if ((y > 10) || (y < -10)) {
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ((x < 10) && (x > -10)) {
|
|
|
|
x = 0;
|
|
|
|
} else if (x < 0) {
|
|
|
|
x += 10;
|
|
|
|
} else {
|
|
|
|
x -= 10;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (arg3->unk_4 == 0) {
|
|
|
|
if (x != 0) {
|
|
|
|
var_fv1 = (f32) x / 20.0f;
|
|
|
|
arg3->unk_4 = arg3->unk_0;
|
|
|
|
|
|
|
|
if (arg3->unk_0 != 0) {
|
|
|
|
arg3->unk_0 -= 7;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (arg3->unk_4 != 0) {
|
|
|
|
if (x > 0) {
|
|
|
|
var_fv1 = 1.0f;
|
|
|
|
} else {
|
|
|
|
var_fv1 = -1.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
*arg0 += var_fv1;
|
|
|
|
|
|
|
|
if (arg2 < *arg0) {
|
|
|
|
*arg0 = arg2;
|
|
|
|
}
|
|
|
|
if (*arg0 < arg1) {
|
|
|
|
*arg0 = arg1;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
arg3->unk_4 = 0;
|
|
|
|
arg3->unk_0 = 7;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (arg3->unk_4 > 0) {
|
|
|
|
arg3->unk_4--;
|
|
|
|
}
|
|
|
|
|
|
|
|
temp2 = *arg0;
|
|
|
|
|
|
|
|
if ((s32) temp2 != (s32) temp) {
|
|
|
|
func_80019218(0x49004007, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
|
|
|
var_a2 = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
return var_a2;
|
|
|
|
}
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
void func_EBFBE0_8019C824(f32* arg0) {
|
2023-11-30 05:44:42 +03:00
|
|
|
if ((s32) Math_SmoothStepToF(arg0, D_EBFBE0_801B91E4, 0.5f, 100.0f, 1.0f) == 0.0f) {
|
2023-11-22 17:47:38 +03:00
|
|
|
if (*arg0 == 32.0f) {
|
|
|
|
D_EBFBE0_801B91E4 = 255.0f;
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801B91E4 = 32.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019C8C4.s")
|
|
|
|
|
|
|
|
void func_EBFBE0_8019CAE0(void) {
|
|
|
|
switch (D_EBFBE0_801B912C) {
|
|
|
|
case 0:
|
|
|
|
func_EBFBE0_8019CBC0();
|
|
|
|
D_EBFBE0_801B912C++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
func_EBFBE0_8019CD54();
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
func_EBFBE0_8019D624();
|
|
|
|
func_EBFBE0_80188010();
|
|
|
|
D_EBFBE0_801B917C = 15;
|
|
|
|
D_EBFBE0_801B912C++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
if (D_EBFBE0_801B917C == 0) {
|
|
|
|
D_80161A38 = 255;
|
|
|
|
D_80177898 = 0;
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
D_EBFBE0_801B9124 = 300;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_8019CBC0(void) {
|
|
|
|
s32 temp;
|
|
|
|
s32 i;
|
|
|
|
|
|
|
|
func_8001D444(0, 36, 0, 255);
|
|
|
|
|
|
|
|
D_80161A38 = 0xD0;
|
|
|
|
D_80178410 = 800;
|
|
|
|
|
|
|
|
D_EBFBE0_801B9130 = 1;
|
|
|
|
D_EBFBE0_801B9128 = 0;
|
|
|
|
D_EBFBE0_801B911C = 0.0f;
|
|
|
|
D_EBFBE0_801B9120 = 70.0f;
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
temp = gSaveFile.save.data.unk_EA & 0xFF;
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
if (temp < 10) {
|
|
|
|
D_EBFBE0_801B9098 = 3;
|
|
|
|
D_EBFBE0_801B9138 = 1;
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
D_EBFBE0_801B9150[0][0] = gSaveFile.save.data.unk_18[temp][0] & 0xFF;
|
|
|
|
D_EBFBE0_801B9150[1][0] = gSaveFile.save.data.unk_18[temp][1] & 0xFF;
|
|
|
|
D_EBFBE0_801B9150[2][0] = gSaveFile.save.data.unk_18[temp][2] & 0xFF;
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
D_EBFBE0_801B90A0[i] = func_EBFBE0_8019DCE8(D_EBFBE0_801B9150[i][0]);
|
|
|
|
D_EBFBE0_801B90B0[i] = 1;
|
|
|
|
D_EBFBE0_801B9150[i][1] = 0;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
D_EBFBE0_801B9098 = 0;
|
|
|
|
D_EBFBE0_801B9138 = 0;
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
D_EBFBE0_801B90B0[i] = 0;
|
|
|
|
D_EBFBE0_801B90A0[i] = 0;
|
|
|
|
D_EBFBE0_801B9150[i][0] = 0x41;
|
|
|
|
D_EBFBE0_801B9150[i][1] = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
func_EBFBE0_80192598();
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019CD54.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019D118.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019D624.s")
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019DB20.s")
|
|
|
|
|
|
|
|
s32 func_EBFBE0_8019DCE8(s32 arg0) {
|
|
|
|
s32 i = 0;
|
|
|
|
|
|
|
|
// 'for()' causes instruction reorder
|
|
|
|
while (D_EBFBE0_801AEF5C[i] != 0) {
|
|
|
|
if (D_EBFBE0_801AEF5C[i] == arg0) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
i++;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_EBFBE0_801AEF5C[i] == 0) {
|
|
|
|
i = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
return i;
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_8019DD44(void) {
|
|
|
|
switch (D_EBFBE0_801B912C) {
|
|
|
|
case 0:
|
|
|
|
func_EBFBE0_80196E54();
|
|
|
|
|
|
|
|
D_EBFBE0_801B93E4 = D_EBFBE0_801B9094;
|
|
|
|
|
|
|
|
if ((D_EBFBE0_801B9094 < 0) || (D_EBFBE0_801B9094 >= 10)) {
|
|
|
|
D_EBFBE0_801B93E4 = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
D_EBFBE0_801B91D4 = 114.0f - D_EBFBE0_801B93E4 * 130.0f;
|
|
|
|
D_EBFBE0_801B91D8 = -6.0f + D_EBFBE0_801B93E4 * 130.0f;
|
|
|
|
D_EBFBE0_801AE638[3].unk_00.unk_18 = D_EBFBE0_801AE5C4;
|
|
|
|
D_EBFBE0_801AE638[3].unk_00.unk_1C = 23.0f;
|
|
|
|
D_EBFBE0_801AE638[3].unk_00.unk_20 = 1.0f;
|
|
|
|
D_EBFBE0_801AE638[3].unk_00.unk_24 = 1.0f;
|
|
|
|
D_EBFBE0_801AE638[3].unk_58 = 1;
|
|
|
|
D_EBFBE0_801AE638[3].unk_38.unk_04 = 90.0f;
|
|
|
|
D_EBFBE0_801AE638[3].unk_38.unk_0C = 0.4f;
|
|
|
|
D_EBFBE0_801AE638[3].unk_38.unk_10 = 0.21f;
|
|
|
|
D_EBFBE0_801AE638[3].unk_5C = 1;
|
|
|
|
D_EBFBE0_801B912C++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
func_EBFBE0_8019DE74();
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_8019DE74(void) {
|
|
|
|
func_EBFBE0_8019715C();
|
|
|
|
|
2023-11-24 22:11:20 +03:00
|
|
|
if (gChangedInput[D_80177AF8].button & 0xD00E) { // START, A, B, C-UP, C-LEFT, C-DOWN
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000003, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
|
|
|
|
D_80177898 = 0;
|
|
|
|
D_EBFBE0_801B912C = 0;
|
|
|
|
|
|
|
|
if (D_80161A34 == 5) {
|
|
|
|
D_80178410 = 0;
|
|
|
|
D_80177834 = 1;
|
|
|
|
D_80161AA0[0] = 2;
|
|
|
|
D_80161714 = 0;
|
|
|
|
} else if (D_80161A34 == 8) {
|
|
|
|
func_800182F4(0x100100FF);
|
|
|
|
func_800182F4(0x110100FF);
|
|
|
|
D_EBFBE0_801B9124 = 400;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_8019DF64(void) {
|
|
|
|
func_EBFBE0_8019752C();
|
|
|
|
func_EBFBE0_8019BDF0();
|
|
|
|
func_EBFBE0_8019BAB8(D_EBFBE0_801AE638[3].unk_38);
|
2023-11-24 22:11:20 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
2023-11-22 17:47:38 +03:00
|
|
|
func_EBFBE0_8019C120(D_EBFBE0_801AE638[3].unk_00);
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_EBFBE0_8019E030(void) {
|
|
|
|
switch (D_EBFBE0_801B912C) {
|
|
|
|
case 0:
|
|
|
|
D_80178410 = 0;
|
|
|
|
D_80161A36 = 0;
|
|
|
|
D_80178348 = 0;
|
|
|
|
D_80178350 = 0;
|
|
|
|
D_80178354 = 0;
|
|
|
|
D_80178340 = 0;
|
|
|
|
D_EBFBE0_801B9090 = 0;
|
|
|
|
D_EBFBE0_801B9178 = 30;
|
|
|
|
D_EBFBE0_801B912C++;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
if (D_EBFBE0_801B9178 == 0) {
|
|
|
|
if (((D_80161714 * 64) >= 50000) && ((D_80161714 * 64) < 70000)) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000032, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
if ((D_80161714 * 64) >= 70000) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x49000033, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
}
|
|
|
|
D_EBFBE0_801B9178 = 20;
|
|
|
|
D_EBFBE0_801B912C++;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2023-11-24 22:11:20 +03:00
|
|
|
if ((D_EBFBE0_801B9178 == 0) && (gChangedInput[D_80177AF8].button & 0xD00E)) {
|
2023-11-22 17:56:29 +03:00
|
|
|
func_80019218(0x19031083, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-22 17:47:38 +03:00
|
|
|
D_EBFBE0_801B9090 = 1;
|
|
|
|
D_EBFBE0_801B9178 = 60;
|
|
|
|
D_EBFBE0_801B912C++;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
if (D_EBFBE0_801B9178 == 0) {
|
|
|
|
D_80178410 = 0;
|
|
|
|
D_80177834 = 1;
|
|
|
|
D_80177898 = 0;
|
|
|
|
*D_80161AA0 = 2;
|
|
|
|
D_80161714 = 0;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#pragma GLOBAL_ASM("asm/us/nonmatchings/overlays/ovl_EBFBE0/fox_option/func_EBFBE0_8019E284.s")
|