2024-01-10 20:55:08 +03:00
|
|
|
/*
|
|
|
|
* File: fox_map.c
|
|
|
|
* System: Map
|
|
|
|
* Description: Starfox Map Handler
|
|
|
|
*/
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
#include "mods.h"
|
2024-01-21 17:00:53 +03:00
|
|
|
// #include "prevent_bss_reordering.h"
|
2024-01-10 20:55:08 +03:00
|
|
|
#include "global.h"
|
|
|
|
#include "fox_map.h"
|
2024-01-21 17:00:53 +03:00
|
|
|
#include "fox_option.h"
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
// BSS STARTS HERE
|
|
|
|
|
2024-01-21 17:00:53 +03:00
|
|
|
u8 D_menu_801B9410[96 * 96];
|
|
|
|
u8 D_menu_801BB810[96 * 96];
|
|
|
|
u8 D_menu_801BDC10[96 * 96];
|
|
|
|
u8 D_menu_801C0010[96 * 96];
|
|
|
|
u8 D_menu_801C2410[96 * 96];
|
|
|
|
u8 D_menu_801C4810[96 * 96];
|
|
|
|
u8 D_menu_801C6C10[96 * 96];
|
|
|
|
u8 D_menu_801C9010[96 * 96];
|
|
|
|
u8 D_menu_801CB410[96 * 96];
|
|
|
|
s32 D_menu_801CD810;
|
2024-01-14 07:30:21 +03:00
|
|
|
f32 D_menu_801CD818[9];
|
|
|
|
s32 D_menu_801CD83C;
|
|
|
|
s32 D_menu_801CD840[24];
|
|
|
|
s32 D_menu_801CD8A0[15];
|
|
|
|
s32 D_menu_801CD8E0[7];
|
|
|
|
s32 D_menu_801CD900[15];
|
|
|
|
s32 D_menu_801CD93C;
|
|
|
|
s32 D_menu_801CD940;
|
|
|
|
s32 D_menu_801CD944; // mapState
|
|
|
|
s32 D_menu_801CD948;
|
|
|
|
s32 D_menu_801CD94C;
|
|
|
|
s32 D_menu_801CD950;
|
2024-01-12 20:11:40 +03:00
|
|
|
s32 sCurrentPlanetId; // sCurrentPlanetId
|
2024-01-14 07:30:21 +03:00
|
|
|
s32 D_menu_801CD958;
|
|
|
|
s32 D_menu_801CD95C;
|
|
|
|
s32 D_menu_801CD960;
|
|
|
|
s32 D_menu_801CD964;
|
|
|
|
s32 D_menu_801CD968;
|
|
|
|
s32 D_menu_801CD96C;
|
|
|
|
s32 D_menu_801CD970;
|
|
|
|
s32 D_menu_801CD974;
|
|
|
|
s32 D_menu_801CD978;
|
|
|
|
s32 D_menu_801CD97C;
|
|
|
|
s32 D_menu_801CD980;
|
|
|
|
s32 D_menu_801CD984;
|
|
|
|
s32 D_menu_801CD988;
|
|
|
|
s32 D_menu_801CD98C;
|
|
|
|
s32 D_menu_801CD990;
|
|
|
|
s32 D_menu_801CD994;
|
|
|
|
s32 D_menu_801CD998;
|
|
|
|
f32 D_menu_801CD99C;
|
|
|
|
s32 D_menu_801CD9A0;
|
|
|
|
s32 D_menu_801CD9A4;
|
|
|
|
s32 D_menu_801CD9A8;
|
|
|
|
s32 D_menu_801CD9AC;
|
|
|
|
f32 D_menu_801CD9B0;
|
|
|
|
f32 D_menu_801CD9B4;
|
|
|
|
s32 D_menu_801CD9B8;
|
|
|
|
s32 D_menu_801CD9BC;
|
|
|
|
s32 D_menu_801CD9C0;
|
|
|
|
s32 D_menu_801CD9C4;
|
|
|
|
s32 D_menu_801CD9C8;
|
|
|
|
s32 D_menu_801CD9CC;
|
|
|
|
s32 D_menu_801CD9D0;
|
|
|
|
s32 D_menu_801CD9D4;
|
|
|
|
s32 D_menu_801CD9D8;
|
|
|
|
f32 D_menu_801CD9DC;
|
|
|
|
f32 D_menu_801CD9E0;
|
|
|
|
f32 D_menu_801CD9E4;
|
|
|
|
f32 D_menu_801CD9E8;
|
|
|
|
f32 D_menu_801CD9EC;
|
|
|
|
s32 D_menu_801CD9F0;
|
2024-01-21 17:00:53 +03:00
|
|
|
f32 D_menu_801CD9F4; // x
|
|
|
|
f32 D_menu_801CD9F8; // y
|
|
|
|
f32 D_menu_801CD9FC; // z
|
2024-01-14 07:30:21 +03:00
|
|
|
f32 D_menu_801CDA00; // x
|
|
|
|
f32 D_menu_801CDA04; // y
|
|
|
|
f32 D_menu_801CDA08; // z
|
|
|
|
f32 D_menu_801CDA0C; // camera x
|
|
|
|
f32 D_menu_801CDA10; // camera y
|
|
|
|
f32 D_menu_801CDA14;
|
|
|
|
f32 D_menu_801CDA18;
|
|
|
|
f32 D_menu_801CDA1C;
|
|
|
|
f32 D_menu_801CDA20;
|
|
|
|
f32 D_menu_801CDA24;
|
|
|
|
f32 D_menu_801CDA28;
|
|
|
|
f32 D_menu_801CDA2C;
|
|
|
|
f32 D_menu_801CDA30;
|
|
|
|
f32 D_menu_801CDA34;
|
|
|
|
f32 D_menu_801CDA38;
|
|
|
|
Vec3f D_menu_801CDA40;
|
|
|
|
Vec3f D_menu_801CDA50;
|
|
|
|
Matrix D_menu_801CDA60[15];
|
|
|
|
Matrix D_menu_801CDE20[15]; // planet related
|
|
|
|
Matrix D_menu_801CE1E0[15];
|
|
|
|
Matrix D_menu_801CE5A0[15];
|
|
|
|
Vec3f D_menu_801CE960[15]; // sPlanetsPositions
|
|
|
|
f32 D_menu_801CEA18[15];
|
2024-01-21 17:00:53 +03:00
|
|
|
f32 D_menu_801CEA54;
|
2024-01-14 07:30:21 +03:00
|
|
|
f32 D_menu_801CEA58;
|
|
|
|
f32 D_menu_801CEA5C;
|
|
|
|
f32 D_menu_801CEA60;
|
2024-01-21 17:00:53 +03:00
|
|
|
f32 D_menu_801CEA64;
|
|
|
|
f32 D_menu_801CEA68;
|
2024-01-14 07:30:21 +03:00
|
|
|
f32 D_menu_801CEA6C;
|
|
|
|
f32 D_menu_801CEA70;
|
|
|
|
s32 D_menu_801CEA74;
|
|
|
|
f32 D_menu_801CEA78;
|
|
|
|
f32 D_menu_801CEA7C;
|
|
|
|
f32 D_menu_801CEA80;
|
|
|
|
f32 D_menu_801CEA84;
|
|
|
|
f32 D_menu_801CEA88;
|
|
|
|
f32 D_menu_801CEA8C;
|
|
|
|
f32 D_menu_801CEA90;
|
|
|
|
f32 D_menu_801CEA94;
|
|
|
|
s32 D_menu_801CEA98;
|
|
|
|
f32 D_menu_801CEA9C;
|
2024-01-21 17:00:53 +03:00
|
|
|
f32 D_menu_801CEAA0;
|
|
|
|
f32 D_menu_801CEAA4;
|
|
|
|
f32 D_menu_801CEAA8;
|
|
|
|
f32 D_menu_801CEAAC;
|
|
|
|
f32 D_menu_801CEAB0;
|
|
|
|
s32 D_menu_801CEAB4;
|
2024-01-14 07:30:21 +03:00
|
|
|
f32 D_menu_801CEAB8[15];
|
|
|
|
f32 D_menu_801CEAF8[15];
|
|
|
|
s32 D_menu_801CEB34;
|
|
|
|
s32 D_menu_801CEB38;
|
|
|
|
f32 D_menu_801CEB3C;
|
|
|
|
f32 D_menu_801CEB40;
|
|
|
|
s32 D_menu_801CEB48[3];
|
|
|
|
s32 D_menu_801CEB58[3][10];
|
|
|
|
s32 D_menu_801CEBD0[3][10];
|
|
|
|
f32 D_menu_801CEC48[3][10];
|
|
|
|
f32 D_menu_801CECC0[3][10];
|
|
|
|
f32 D_menu_801CED38[3][10];
|
|
|
|
f32 D_menu_801CEDB0[3][10];
|
|
|
|
f32 D_menu_801CEE28[3][10];
|
|
|
|
s32 D_menu_801CEEA0;
|
|
|
|
s32 D_menu_801CEEA4;
|
|
|
|
s32 D_menu_801CEEA8;
|
|
|
|
s32 D_menu_801CEEAC;
|
|
|
|
Vec3f D_menu_801CEEB0;
|
|
|
|
f32 D_menu_801CEEBC;
|
|
|
|
f32 D_menu_801CEEC0;
|
|
|
|
s32 D_menu_801CEEC4;
|
|
|
|
s32 D_menu_801CEEC8;
|
|
|
|
s32 D_menu_801CEECC;
|
|
|
|
s32 D_menu_801CEED0;
|
|
|
|
s32 D_menu_801CEED4;
|
|
|
|
s32 D_menu_801CEED8;
|
|
|
|
f32 D_menu_801CEEDC;
|
|
|
|
f32 D_menu_801CEEE0;
|
|
|
|
Vec3f D_menu_801CEEE8[9];
|
|
|
|
Vec3f D_menu_801CEF58[9];
|
|
|
|
s32 D_menu_801CEFC4;
|
|
|
|
s32 D_menu_801CEFC8;
|
|
|
|
s32 D_menu_801CEFCC;
|
|
|
|
s32 D_menu_801CEFD0;
|
|
|
|
s32 D_menu_801CEFD4;
|
|
|
|
bool D_menu_801CEFD8;
|
|
|
|
s32 D_menu_801CEFDC;
|
|
|
|
f32 D_menu_801CEFE0;
|
|
|
|
f32 D_menu_801CEFE8[3];
|
|
|
|
f32 D_menu_801CEFF4;
|
|
|
|
f32 D_menu_801CEFF8;
|
|
|
|
s32 D_menu_801CF000[3];
|
|
|
|
s32 D_menu_801CF00C;
|
|
|
|
s32 D_menu_801CF010;
|
|
|
|
s32 D_menu_801CF014;
|
|
|
|
s32 D_menu_801CF018;
|
|
|
|
f32 D_menu_801CF020[8];
|
|
|
|
f32 D_menu_801CF040[8];
|
|
|
|
f32 D_menu_801CF060[8];
|
|
|
|
f32 D_menu_801CF080;
|
|
|
|
f32 D_menu_801CF088[8];
|
|
|
|
f32 D_menu_801CF0A8[8];
|
|
|
|
f32* D_menu_801CF0C8;
|
|
|
|
f32* D_menu_801CF0CC;
|
|
|
|
f32* D_menu_801CF0D0;
|
|
|
|
s32 D_menu_801CF0D8[8];
|
|
|
|
s32 D_menu_801CF0F8[8];
|
|
|
|
s32 D_menu_801CF118;
|
|
|
|
s32 D_menu_801CF11C;
|
|
|
|
s32 D_menu_801CF120;
|
|
|
|
f32 D_menu_801CF124;
|
2024-01-10 20:55:08 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
s32 D_menu_801AF420[2] = { 10, 20 };
|
2024-01-10 20:55:08 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
u16* D_menu_801AF428[15][2] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
gMsg_ID_1220, gMsg_ID_1230, gMsg_ID_1320, gMsg_ID_1330, gMsg_ID_1300, gMsg_ID_1310, gMsg_ID_1420, gMsg_ID_1430,
|
|
|
|
gMsg_ID_1260, gMsg_ID_1270, gMsg_ID_1440, gMsg_ID_1450, gMsg_ID_1360, gMsg_ID_1370, gMsg_ID_1340, gMsg_ID_1350,
|
|
|
|
gMsg_ID_1400, gMsg_ID_1410, gMsg_ID_1200, gMsg_ID_1210, gMsg_ID_1240, gMsg_ID_1250, gMsg_ID_1380, gMsg_ID_1390,
|
|
|
|
gMsg_ID_1280, gMsg_ID_1290, NULL, NULL, gMsg_ID_1460, gMsg_ID_1470,
|
|
|
|
};
|
|
|
|
|
|
|
|
Planet planet[PLANET_MAX] = {
|
|
|
|
/* PLANET_METEO */
|
|
|
|
{ 0, 1150.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -130.0f, 1.0f, 0, 0, PLANET_FORTUNA, -1, PLANET_KATINA },
|
|
|
|
/* PLANET_AREA_6 */
|
|
|
|
{ 1, 1400.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -315.0f, 0.15f, 0, 2, -1, -1, -1 },
|
|
|
|
/* PLANET_BOLSE */
|
|
|
|
{ 2, 1400.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -345.0f, 0.15f, 0, 2, -1, -1, -1 },
|
|
|
|
/* PLANET_SECTOR_Z */
|
|
|
|
{ 3, 1125.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -285.0f, 2.5f * 2.0f, 0, 1, PLANET_BOLSE, PLANET_AREA_6, -1 },
|
|
|
|
/* PLANET_SECTOR_X */
|
|
|
|
{ 4, 750.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -60.0f, 2.5f * 2.0f, 0, 1, PLANET_TITANIA, PLANET_MACBETH,
|
|
|
|
PLANET_SECTOR_Z },
|
|
|
|
/* PLANET_SECTOR_Y */
|
|
|
|
{ 5, 1125.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -190.0f, 2.5f * 2.0f, 0, 1, PLANET_KATINA, PLANET_AQUAS, -1 },
|
|
|
|
/* PLANET_KATINA */
|
|
|
|
{ 6, 750.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -150.0f, 2.5f, 0, 4, PLANET_SECTOR_X, PLANET_SOLAR, -1 },
|
|
|
|
/* PLANET_MACBETH */
|
|
|
|
{ 7, 825.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -330.0f, 2.5f, 0, 4, PLANET_BOLSE, PLANET_AREA_6, -1 },
|
|
|
|
/* PLANET_ZONESS */
|
|
|
|
{ 8, 900.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -260.0f, 2.5f, 0, 4, PLANET_MACBETH, PLANET_SECTOR_Z, -1 },
|
|
|
|
/* PLANET_CORNERIA */
|
|
|
|
{ 9, 1500.0f, 0.0f, 10.0f, 0.0f, 0.0f, 0.0f, -150.0f, 5.0f, 0, 4, PLANET_METEO, PLANET_SECTOR_Y, -1 },
|
|
|
|
/* PLANET_TITANIA */
|
|
|
|
{ 10, 975.0f, 0.0f, -10.0f, 0.0f, 0.0f, 0.0f, -375.0f, 2.5f, 0, 4, PLANET_BOLSE, -1, -1 },
|
|
|
|
/* PLANET_AQUAS */
|
|
|
|
{ 11, 900.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -220.0f, 2.5f, 0, 4, PLANET_ZONESS, -1, -1 },
|
|
|
|
/* PLANET_FORTUNA */
|
|
|
|
{ 12, 975.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -105.0f, 2.5f, 0, 4, PLANET_SECTOR_X, PLANET_SOLAR, -1 },
|
|
|
|
/* PLANET_VENOM */
|
|
|
|
{ 13, 1800.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -330.0f, 9.0f, 0, 4, -1, -1, -1 },
|
|
|
|
/* PLANET_SOLAR */
|
|
|
|
{ 14, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, 10.0f, 0, 3, PLANET_MACBETH, -1, -1 },
|
|
|
|
};
|
|
|
|
|
|
|
|
// unused
|
2024-01-12 20:11:40 +03:00
|
|
|
PlanetId sPlanetList[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
PLANET_CORNERIA, PLANET_METEO, PLANET_TITANIA, PLANET_SECTOR_X, PLANET_AQUAS,
|
|
|
|
PLANET_BOLSE, PLANET_VENOM, PLANET_FORTUNA, PLANET_AREA_6, PLANET_MACBETH,
|
|
|
|
PLANET_SECTOR_Z, PLANET_ZONESS, PLANET_KATINA, PLANET_SECTOR_Y, PLANET_SOLAR,
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx* D_menu_801AF824[4] = { D_604A710, D_604A400, D_604A190, D_6049F80 };
|
2024-01-10 20:55:08 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Texture D_menu_801AF834[14] = {
|
2024-02-06 22:38:23 +03:00
|
|
|
{ D_6007B90, 128, 28, 95.0f }, { D_60030D0, 96, 28, 110.0f }, { D_60131A0, 176, 12, 73.0f },
|
|
|
|
{ D_6009AD0, 168, 28, 77.0f }, { D_600B9B0, 168, 28, 74.0f }, { D_6001C80, 96, 13, 106.0f },
|
|
|
|
{ D_TEX_6011660, 176, 12, 75.0f }, { D_6010010, 112, 13, 109.0f }, { D_6017640, 112, 28, 101.0f },
|
|
|
|
{ D_6015CE0, 96, 28, 108.0f }, { D_600E210, 160, 28, 78.0f }, { D_6014360, 176, 12, 73.0f },
|
|
|
|
{ D_6004AC0, 168, 19, 72.0f }, { D_6006320, 104, 28, 105.0f },
|
2024-01-10 20:55:08 +03:00
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Texture D_menu_801AF914[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
{ D_6008990, 232, 19, 46.0f }, { D_6003B50, 208, 19, 56.0f }, { D_60139E0, 128, 19, 98.0f },
|
|
|
|
{ D_600AD30, 168, 19, 77.0f }, { D_600CC10, 128, 19, 95.0f }, { D_6002160, 208, 19, 57.0f },
|
|
|
|
{ D_6011EA0, 256, 19, 40.0f }, { D_60105C0, 224, 19, 49.0f }, { D_6018280, 184, 19, 70.0f },
|
|
|
|
{ D_6016760, 200, 18, 61.0f }, { D_600F390, 168, 19, 75.0f }, { D_6014BA0, 232, 19, 43.0f },
|
|
|
|
{ D_6005740, 160, 19, 81.0f }, { D_6006E80, 176, 19, 70.0f },
|
|
|
|
};
|
|
|
|
|
|
|
|
char* sPlanetNames[] = {
|
|
|
|
"ME", "A6", "BO", "SZ", "SX", "SY", "KA", "MA", "ZO", "CO", "TI", "AQ", "FO", "VE", "SO",
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx* D_menu_801AFA30[2] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
D_6055F20,
|
|
|
|
D_6051D20,
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
ObjPosition D_menu_801AFA38[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
{ -491.0f, 1170.0f, 20.0f, 0.71f }, { -488.0f, 1135.0f, 15.0f, 0.6f }, { -496.0f, 1090.0f, 0.0f, 0.50f },
|
|
|
|
{ -489.0f, 1200.0f, 0.0f, 0.6f }, { -489.0f, 1150.0f, -15.0f, 0.80f }, { -487.0f, 1143.0f, -15.0f, 0.8f },
|
|
|
|
{ -493.0f, 1182.0f, -20.0f, 0.90f }, { -491.0f, 1080.0f, -25.0f, 0.8f }, { -497.0f, 1114.0f, -25.0f, 0.70f },
|
|
|
|
{ -497.0f, 1164.0f, -20.0f, 0.9f }, { -485.0f, 1206.0f, 15.0f, 1.10f }, { -488.0f, 1213.0f, -20.0f, 1.1f },
|
|
|
|
{ -485.0f, 1257.0f, 0.0f, 1.10f }, { -491.0f, 1213.0f, -20.0f, 0.9f }, { -484.0f, 1295.0f, 0.0f, 0.80f },
|
|
|
|
{ -487.0f, 1277.0f, 20.0f, 0.8f }, { -485.0f, 1310.0f, 25.0f, 0.70f }, { -485.0f, 1331.0f, 0.0f, 0.8f },
|
|
|
|
{ -493.0f, 1118.0f, 15.0f, 0.80f }, { -494.0f, 1068.0f, 30.0f, 0.6f }, { -504.0f, 1018.0f, -30.0f, 0.50f },
|
|
|
|
{ -492.0f, 1071.0f, -10.0f, 0.6f }, { -494.0f, 1164.0f, -10.0f, 0.50f }, { -498.0f, 1091.0f, 0.0f, 0.5f },
|
|
|
|
{ -493.0f, 1082.0f, 0.0f, 0.60f }, { -498.0f, 1141.0f, 15.0f, 0.7f }, { -498.0f, 1034.0f, 15.0f, 0.70f },
|
|
|
|
{ -504.0f, 1041.0f, 20.0f, 0.8f }, { -507.0f, 1076.0f, 25.0f, 0.70f }, { -504.0f, 1092.0f, 0.0f, 0.8f },
|
|
|
|
{ -499.0f, 1076.0f, 20.0f, 1.00f }, { -519.0f, 1084.0f, -15.0f, 1.0f }, { -506.0f, 1133.0f, 20.0f, 1.10f },
|
|
|
|
{ -502.0f, 1144.0f, 0.0f, 1.0f }, { -514.0f, 1109.0f, -10.0f, 0.90f }, { -521.0f, 1136.0f, -20.0f, 0.8f },
|
|
|
|
{ -511.0f, 1052.0f, 20.0f, 0.80f }, { -515.0f, 1142.0f, -25.0f, 0.6f }, { -518.0f, 1138.0f, -20.0f, 0.80f },
|
|
|
|
{ -512.0f, 1099.0f, -15.0f, 0.5f }, { -523.0f, 1179.0f, -30.0f, 0.70f }, { -519.0f, 1176.0f, -30.0f, 0.5f },
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
ObjPosition D_menu_801AFCD8[4] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
{ 50.0f, 1410.0f, 40.0f, 0.10f },
|
|
|
|
{ 35.0f, 1235.0f, 40.0f, 0.03f },
|
|
|
|
{ 42.0f, 1270.0f, 60.0f, 0.05f },
|
|
|
|
{ 35.0f, 1280.0f, 20.0f, 0.05f },
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
UnkStruct_D_menu_801AFD18 D_menu_801AFD18[24] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
{ 0, PLANET_CORNERIA, PLANET_METEO, 5, 0, 0, 0 }, { 0, PLANET_METEO, PLANET_FORTUNA, 5, 0, 0, 0 },
|
|
|
|
{ 0, PLANET_FORTUNA, PLANET_SECTOR_X, 5, 0, 0, 0 }, { 0, PLANET_SECTOR_X, PLANET_TITANIA, 5, 0, 0, 0 },
|
|
|
|
{ 0, PLANET_TITANIA, PLANET_BOLSE, 5, 0, 0, 0 }, { 0, PLANET_KATINA, PLANET_SECTOR_X, 5, 0, 0, 0 },
|
|
|
|
{ 0, PLANET_MACBETH, PLANET_BOLSE, 5, 0, 0, 0 }, { 0, PLANET_SECTOR_Z, PLANET_BOLSE, 5, 0, 0, 0 },
|
|
|
|
{ 0, PLANET_BOLSE, PLANET_VENOM, 5, 0, 0, 0 }, { 1, PLANET_SECTOR_Y, PLANET_KATINA, 5, 0, 0, 0 },
|
|
|
|
{ 1, PLANET_KATINA, PLANET_SOLAR, 5, 0, 0, 0 }, { 1, PLANET_SOLAR, PLANET_MACBETH, 5, 0, 0, 0 },
|
|
|
|
{ 1, PLANET_SECTOR_X, PLANET_MACBETH, 5, 0, 0, 0 }, { 1, PLANET_FORTUNA, PLANET_SOLAR, 5, 0, 0, 0 },
|
|
|
|
{ 1, PLANET_ZONESS, PLANET_MACBETH, 5, 0, 0, 0 }, { 2, PLANET_CORNERIA, PLANET_SECTOR_Y, 5, 0, 0, 0 },
|
|
|
|
{ 2, PLANET_SECTOR_Y, PLANET_AQUAS, 5, 0, 0, 0 }, { 2, PLANET_AQUAS, PLANET_ZONESS, 5, 0, 0, 0 },
|
|
|
|
{ 2, PLANET_ZONESS, PLANET_SECTOR_Z, 5, 0, 0, 0 }, { 2, PLANET_SECTOR_Z, PLANET_AREA_6, 5, 0, 0, 0 },
|
|
|
|
{ 2, PLANET_MACBETH, PLANET_AREA_6, 5, 0, 0, 0 }, { 2, PLANET_AREA_6, PLANET_VENOM, 5, 0, 0, 0 },
|
|
|
|
{ 3, PLANET_METEO, PLANET_KATINA, 5, 0, 0, 0 }, { 4, PLANET_SECTOR_X, PLANET_SECTOR_Z, 10, 0, 0, 0 },
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
f32 D_menu_801AFFB8[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
90.0f, 170.0f, 130.0f, 100.0f, 100.0f, 100.0f, 80.0f, 80.0f, 80.0f, 150.0f, 80.0f, 80.0f, 80.0f, 270.0f, 250.0f,
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
f32 D_menu_801AFFF4 = 0.0f; // yRot of something
|
|
|
|
f32 D_menu_801AFFF8 = 0.0f; // xRot of something
|
|
|
|
f32 D_menu_801AFFFC = 0.0f; // yRot of something
|
|
|
|
f32 D_menu_801B0000 = 0.0f; // xRot of something
|
2024-01-10 20:55:08 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
s32 D_menu_801B0004[47] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
39, 35, 32, 30, 27, 26, 24, 22, 21, 20, 18, 17, 16, 15, 14, 13, 12, 12, 11, 10, 9, 9, 8, 8,
|
|
|
|
7, 6, 6, 6, 5, 5, 4, 4, 4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1,
|
|
|
|
};
|
|
|
|
|
|
|
|
// Looks like a quarter of a circle
|
|
|
|
s32
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801B00C0[47][96] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
{ 0, 2, 2, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 11 },
|
|
|
|
{ 0, 2, 3, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 16, 17 },
|
|
|
|
{ 0, 2, 3, 4, 5, 6, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11,
|
|
|
|
12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 19, 20, 21 },
|
|
|
|
{ 0, 2, 4, 5, 5, 6, 7, 7, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13,
|
|
|
|
13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 21, 22, 23, 24 },
|
|
|
|
{ 0, 3, 4, 5, 6, 7, 7, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15,
|
|
|
|
15, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 23, 23, 24, 25, 26, 27, 28 },
|
|
|
|
{ 0, 3, 4, 5, 6, 7, 7, 8, 9, 9, 10, 11, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16,
|
|
|
|
16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 25, 25, 26, 27, 28, 29 },
|
|
|
|
{ 0, 3, 4, 5, 6, 7, 8, 9, 9, 10, 10, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17,
|
|
|
|
18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 27, 27, 28, 29, 30, 31, 32 },
|
|
|
|
{ 0, 3, 4, 6, 7, 7, 8, 9, 10, 10, 11, 11, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19,
|
|
|
|
19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 29, 29, 30, 31, 32, 33, 34, 35 },
|
|
|
|
{ 0, 3, 5, 6, 7, 8, 8, 9, 10, 10, 11, 12, 12, 13, 13, 14, 14, 15, 15, 16, 16, 17, 17, 18, 18, 19, 19,
|
|
|
|
20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 29, 29, 30, 31, 31, 32, 33, 34, 35, 37 },
|
|
|
|
{ 0, 3, 5, 6, 7, 8, 8, 9, 10, 11, 11, 12, 12, 13, 14, 14, 15, 15, 16,
|
|
|
|
16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25,
|
|
|
|
26, 26, 27, 27, 28, 28, 29, 29, 30, 31, 31, 32, 33, 34, 34, 35, 37, 38 },
|
|
|
|
{ 0, 3, 5, 6, 7, 8, 9, 10, 10, 11, 12, 12, 13, 13, 14, 15, 15, 16, 16, 17,
|
|
|
|
17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27,
|
|
|
|
27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 33, 33, 34, 35, 35, 36, 37, 38, 39, 41 },
|
|
|
|
{ 0, 3, 5, 6, 7, 8, 9, 10, 10, 11, 12, 12, 13, 14, 14, 15, 15, 16, 16, 17, 17,
|
|
|
|
18, 18, 19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28,
|
|
|
|
28, 29, 29, 30, 30, 31, 32, 32, 33, 33, 34, 35, 35, 36, 37, 38, 39, 40, 41, 42 },
|
|
|
|
{ 0, 3, 5, 6, 7, 8, 9, 10, 11, 11, 12, 13, 13, 14, 14, 15, 16, 16, 17, 17, 18, 18,
|
|
|
|
19, 19, 20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29,
|
|
|
|
30, 30, 31, 31, 32, 32, 33, 33, 34, 35, 35, 36, 37, 37, 38, 39, 40, 41, 42, 44 },
|
|
|
|
{ 0, 3, 5, 6, 7, 8, 9, 10, 11, 11, 12, 13, 13, 14, 15, 15, 16, 16, 17, 17, 18, 18,
|
|
|
|
19, 20, 20, 21, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29,
|
|
|
|
30, 30, 31, 31, 32, 32, 33, 34, 34, 35, 35, 36, 37, 37, 38, 39, 40, 40, 41, 42, 44, 45 },
|
|
|
|
{ 0, 3, 5, 6, 7, 8, 9, 10, 11, 12, 12, 13, 14, 14, 15, 15, 16, 17, 17, 18, 18, 19, 19,
|
|
|
|
20, 20, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31,
|
|
|
|
31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 37, 37, 38, 39, 39, 40, 41, 42, 43, 44, 45, 47 },
|
|
|
|
{ 0, 4, 5, 7, 8, 9, 9, 10, 11, 12, 13, 13, 14, 14, 15, 16, 16, 17, 17, 18, 18, 19, 19, 20,
|
|
|
|
21, 21, 22, 22, 23, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32,
|
|
|
|
32, 33, 33, 34, 34, 35, 36, 36, 37, 37, 38, 39, 39, 40, 41, 41, 42, 43, 44, 45, 47, 48 },
|
|
|
|
{ 0, 4, 5, 7, 8, 9, 10, 10, 11, 12, 13, 13, 14, 15, 15, 16, 16, 17, 18, 18, 19, 19, 20, 20,
|
|
|
|
21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32,
|
|
|
|
33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 39, 39, 40, 41, 41, 42, 43, 44, 45, 46, 47, 48, 50 },
|
|
|
|
{ 0, 4, 5, 7, 8, 9, 10, 10, 11, 12, 13, 13, 14, 15, 15, 16, 16, 17, 18, 18, 19, 19, 20, 20,
|
|
|
|
21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32,
|
|
|
|
33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 39, 39, 40, 41, 41, 42, 43, 44, 45, 46, 47, 48, 50 },
|
|
|
|
{ 0, 4, 5, 7, 8, 9, 10, 11, 11, 12, 13, 14, 14, 15, 15, 16, 17, 17, 18, 18, 19, 19, 20, 21, 21,
|
|
|
|
22, 22, 23, 23, 24, 24, 25, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33,
|
|
|
|
34, 34, 35, 35, 36, 36, 37, 38, 38, 39, 39, 40, 41, 41, 42, 43, 43, 44, 45, 46, 47, 48, 49, 51 },
|
|
|
|
{ 0, 4, 5, 7, 8, 9, 10, 11, 12, 12, 13, 14, 14, 15, 16, 16, 17, 17, 18, 19, 19, 20, 20, 21, 21, 22,
|
|
|
|
22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35,
|
|
|
|
35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 41, 41, 42, 43, 43, 44, 45, 46, 46, 47, 48, 50, 51, 53 },
|
|
|
|
{ 0, 4, 6, 7, 8, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 16, 17, 18, 18, 19, 19, 20, 20, 21, 22, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35,
|
|
|
|
35, 36, 36, 37, 37, 38, 38, 39, 40, 40, 41, 41, 42, 43, 43, 44, 45, 45, 46, 47, 48, 49, 50, 51, 52, 54 },
|
|
|
|
{ 0, 4, 6, 7, 8, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 16, 17, 18, 18, 19, 19, 20, 20, 21, 22, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35,
|
|
|
|
35, 36, 36, 37, 37, 38, 38, 39, 40, 40, 41, 41, 42, 43, 43, 44, 45, 45, 46, 47, 48, 49, 50, 51, 52, 54 },
|
|
|
|
{ 0, 4, 6, 7, 8, 9, 10, 11, 12, 13, 13, 14, 15, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22, 22, 23,
|
|
|
|
23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36,
|
|
|
|
37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 43, 43, 44, 45, 45, 46, 47, 47, 48, 49, 50, 51, 52, 54, 56 },
|
|
|
|
{ 0, 4, 6, 7, 8, 9, 10, 11, 12, 13, 13, 14, 15, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22, 22, 23,
|
|
|
|
23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36,
|
|
|
|
37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 43, 43, 44, 45, 45, 46, 47, 47, 48, 49, 50, 51, 52, 54, 56 },
|
|
|
|
{ 0, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 16, 17, 18, 18, 19, 19, 20,
|
|
|
|
20, 21, 21, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 28, 29, 29, 30, 30,
|
|
|
|
31, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41,
|
|
|
|
42, 42, 43, 43, 44, 45, 45, 46, 47, 47, 48, 49, 50, 51, 52, 53, 54, 55, 57 },
|
|
|
|
{ 0, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 16, 17, 18, 18, 19, 19, 20,
|
|
|
|
21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31,
|
|
|
|
31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41,
|
|
|
|
42, 42, 43, 43, 44, 45, 45, 46, 47, 47, 48, 49, 49, 50, 51, 52, 53, 54, 55, 57, 58 },
|
|
|
|
{ 0, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 16, 17, 18, 18, 19, 19, 20,
|
|
|
|
21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31,
|
|
|
|
31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41,
|
|
|
|
42, 42, 43, 43, 44, 45, 45, 46, 47, 47, 48, 49, 49, 50, 51, 52, 53, 54, 55, 57, 58 },
|
|
|
|
{ 0, 4, 6, 7, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 16, 17, 18, 18, 19, 19, 20,
|
|
|
|
21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31,
|
|
|
|
31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41,
|
|
|
|
42, 42, 43, 43, 44, 45, 45, 46, 47, 47, 48, 49, 49, 50, 51, 52, 53, 54, 55, 57, 58 },
|
|
|
|
{ 0, 4, 6, 7, 8, 10, 11, 11, 12, 13, 14, 15, 15, 16, 17, 17, 18, 19, 19, 20, 20, 21,
|
|
|
|
21, 22, 22, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 30, 31, 31, 32,
|
|
|
|
32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43,
|
|
|
|
44, 44, 45, 45, 46, 47, 47, 48, 49, 49, 50, 51, 52, 52, 53, 54, 55, 57, 58, 60 },
|
|
|
|
{ 0, 4, 6, 7, 8, 10, 11, 11, 12, 13, 14, 15, 15, 16, 17, 17, 18, 19, 19, 20, 20, 21,
|
|
|
|
21, 22, 22, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 30, 31, 31, 32,
|
|
|
|
32, 33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43,
|
|
|
|
44, 44, 45, 45, 46, 47, 47, 48, 49, 49, 50, 51, 52, 52, 53, 54, 55, 57, 58, 60 },
|
|
|
|
{ 0, 4, 6, 7, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 17, 18, 19, 19, 20, 20, 21,
|
|
|
|
22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32,
|
|
|
|
33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43,
|
|
|
|
44, 44, 45, 45, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61 },
|
|
|
|
{ 0, 4, 6, 7, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 17, 18, 19, 19, 20, 20, 21,
|
|
|
|
22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32,
|
|
|
|
33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43,
|
|
|
|
44, 44, 45, 45, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61 },
|
|
|
|
{ 0, 4, 6, 7, 9, 10, 11, 12, 12, 13, 14, 15, 15, 16, 17, 17, 18, 19, 19, 20, 20, 21,
|
|
|
|
22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32,
|
|
|
|
33, 33, 34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43,
|
|
|
|
44, 44, 45, 45, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 54, 55, 56, 57, 58, 59, 61 },
|
|
|
|
{ 0, 4, 6, 7, 9, 10, 11, 12, 13, 13, 14, 15, 16, 16, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
22, 23, 23, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 32, 33, 33,
|
|
|
|
34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 58, 59, 61, 63 },
|
|
|
|
{ 0, 4, 6, 7, 9, 10, 11, 12, 13, 13, 14, 15, 16, 16, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
22, 23, 23, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 32, 33, 33,
|
|
|
|
34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 58, 59, 61, 63 },
|
|
|
|
{ 0, 4, 6, 7, 9, 10, 11, 12, 13, 13, 14, 15, 16, 16, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
22, 23, 23, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 32, 33, 33,
|
|
|
|
34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 58, 59, 61, 63 },
|
|
|
|
{ 0, 4, 6, 7, 9, 10, 11, 12, 13, 13, 14, 15, 16, 16, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
22, 23, 23, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 32, 33, 33,
|
|
|
|
34, 34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 58, 59, 61, 63 },
|
|
|
|
{ 0, 4, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34,
|
|
|
|
34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 57, 58, 60, 61, 62, 64 },
|
|
|
|
{ 0, 4, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34,
|
|
|
|
34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 57, 58, 60, 61, 62, 64 },
|
|
|
|
{ 0, 4, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34,
|
|
|
|
34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 57, 58, 60, 61, 62, 64 },
|
|
|
|
{ 0, 4, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34,
|
|
|
|
34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 57, 58, 60, 61, 62, 64 },
|
|
|
|
{ 0, 4, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34,
|
|
|
|
34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 57, 58, 60, 61, 62, 64 },
|
|
|
|
{ 0, 4, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34,
|
|
|
|
34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 57, 58, 60, 61, 62, 64 },
|
|
|
|
{ 0, 4, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34,
|
|
|
|
34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 57, 58, 60, 61, 62, 64 },
|
|
|
|
{ 0, 4, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34,
|
|
|
|
34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 57, 58, 60, 61, 62, 64 },
|
|
|
|
{ 0, 4, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 18, 19, 20, 20, 21, 21, 22,
|
|
|
|
23, 23, 24, 24, 25, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 34,
|
|
|
|
34, 35, 35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45,
|
|
|
|
46, 46, 47, 47, 48, 49, 49, 50, 51, 51, 52, 53, 53, 54, 55, 56, 57, 57, 58, 60, 61, 62, 64 },
|
|
|
|
{ 0, 4, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 16, 17, 17, 18, 19, 19, 20, 21, 21, 22, 22, 23,
|
|
|
|
23, 24, 24, 25, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 31, 32, 32, 33, 33, 33, 34, 34, 35,
|
|
|
|
35, 36, 36, 37, 37, 38, 38, 39, 39, 40, 40, 41, 41, 42, 42, 43, 43, 44, 44, 45, 45, 46, 46, 47,
|
|
|
|
48, 48, 49, 49, 50, 51, 51, 52, 52, 53, 54, 55, 55, 56, 57, 58, 59, 60, 61, 62, 64, 66 },
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Vtx D_menu_801B4740[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
{ 0x001E, 0x001E, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x001E, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x0019, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x0019, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x0019, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x0019, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x0014, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x0014, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x0014, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x0014, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x000F, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x000F, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x000F, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x000F, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x000A, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x000A, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x000A, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x000A, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x0005, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x0005, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x0005, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x0005, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x0000, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0x0000, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFFB, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFFB, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFFB, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFFB, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFF6, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFF6, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFF6, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFF6, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFF1, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFF1, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFF1, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFF1, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFEC, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFEC, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFEC, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFEC, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFE7, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFE7, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFE7, 0x0000, 0x0000, 0x0C00, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFE7, 0x0000, 0x0000, 0x0000, 0x0000, 255, 255, 255, 255 },
|
|
|
|
{ 0xFFE2, 0xFFE2, 0x0000, 0x0000, 0x0000, 0x0100, 255, 255, 255, 255 },
|
|
|
|
{ 0x001E, 0xFFE2, 0x0000, 0x0000, 0x0C00, 0x0100, 255, 255, 255, 255 },
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx D_menu_801B4A40[] = {
|
|
|
|
gsSPVertex(D_menu_801B4740, 16, 0),
|
|
|
|
gsDPLoadTextureBlock(D_menu_801B9410, G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 1], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 2], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 3], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[16], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 4], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 5], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 6], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 7], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[32], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 8], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 9], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 10], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801B9410[96 * 8 * 11], G_IM_FMT_IA, G_IM_SIZ_8b, 96, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
|
|
|
gsDPPipeSync(),
|
|
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
|
|
gsSPEndDisplayList(),
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx D_menu_801B4D70[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
gsDPLoadTLUT_pal256(D_6026C90),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(D_menu_801B4740, 16, 0),
|
|
|
|
gsDPLoadTextureBlock(D_menu_801BB810, G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 1], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 2], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 3], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[16], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 4], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 5], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 6], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 7], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[32], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 8], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 9], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 10], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BB810[96 * 8 * 11], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
|
|
|
gsDPPipeSync(),
|
|
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
|
|
gsSPEndDisplayList(),
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx D_menu_801B50D8[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
gsDPLoadTLUT_pal256(D_6029170),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(D_menu_801B4740, 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10, G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 1], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 2], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 3], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[16], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 4], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 5], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 6], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 7], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[32], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 8], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 9], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 10], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801BDC10[96 * 8 * 11], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
|
|
|
gsDPPipeSync(),
|
|
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
|
|
gsSPEndDisplayList(),
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx D_menu_801B5440[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
gsDPLoadTLUT_pal256(D_6022340),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(D_menu_801B4740, 16, 0),
|
|
|
|
gsDPLoadTextureBlock(D_menu_801C0010, G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 1], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 2], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 3], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[16], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 4], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 5], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 6], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 7], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[32], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 8], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 9], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 10], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C0010[96 * 8 * 11], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
|
|
|
gsDPPipeSync(),
|
|
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
|
|
gsSPEndDisplayList(),
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx D_menu_801B57A8[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
gsDPLoadTLUT_pal256(D_60247E0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(D_menu_801B4740, 16, 0),
|
|
|
|
gsDPLoadTextureBlock(D_menu_801C2410, G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 1], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 2], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 3], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[16], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 4], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 5], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 6], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 7], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[32], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 8], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 9], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 10], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C2410[96 * 8 * 11], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
|
|
|
gsDPPipeSync(),
|
|
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
|
|
gsSPEndDisplayList(),
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx D_menu_801B5B10[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
gsDPLoadTLUT_pal256(D_602FF60),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(D_menu_801B4740, 16, 0),
|
|
|
|
gsDPLoadTextureBlock(D_menu_801C4810, G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 1], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 2], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 3], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[16], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 4], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 5], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 6], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 7], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[32], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 8], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 9], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 10], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C4810[96 * 8 * 11], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
|
|
|
gsDPPipeSync(),
|
|
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
|
|
gsSPEndDisplayList(),
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx D_menu_801B5E78[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
gsDPLoadTLUT_pal256(D_602B620),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(D_menu_801B4740, 16, 0),
|
|
|
|
gsDPLoadTextureBlock(D_menu_801C6C10, G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 1], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 2], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 3], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[16], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 4], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 5], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 6], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 7], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[32], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 8], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 9], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 10], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C6C10[96 * 8 * 11], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
|
|
|
gsDPPipeSync(),
|
|
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
|
|
gsSPEndDisplayList(),
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx D_menu_801B61E0[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
gsDPLoadTLUT_pal256(D_602DAD0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(D_menu_801B4740, 16, 0),
|
|
|
|
gsDPLoadTextureBlock(D_menu_801C9010, G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 1], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 2], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 3], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[16], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 4], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 5], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 6], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 7], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[32], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 8], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 9], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 10], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(&D_menu_801C9010[96 * 8 * 11], G_IM_FMT_CI, G_IM_SIZ_8b, 96, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
|
|
|
gsDPPipeSync(),
|
|
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
|
|
gsSPEndDisplayList(),
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx D_menu_801B6548[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
gsDPLoadTLUT_pal256(D_60323D0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(D_menu_801B4740, 16, 0),
|
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410, G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
2024-01-10 20:55:08 +03:00
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
|
|
|
gsDPSetTextureLUT(G_TT_RGBA16),
|
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 1), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 2), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 3), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[16], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 4), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 5), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 6), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 7), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsSPVertex(&D_menu_801B4740[32], 16, 0),
|
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 8), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(1, 2, 3, 0, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 9), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(5, 6, 7, 4, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 10), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 9, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(9, 10, 11, 8, 0),
|
2024-01-14 07:30:21 +03:00
|
|
|
gsDPLoadTextureBlock(D_menu_801CB410 + (96 * 8 * 11), G_IM_FMT_CI, G_IM_SIZ_8b, 96, 8, 0, G_TX_NOMIRROR | G_TX_WRAP,
|
|
|
|
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
|
2024-01-10 20:55:08 +03:00
|
|
|
gsSP1Quadrangle(13, 14, 15, 12, 0),
|
|
|
|
gsDPPipeSync(),
|
|
|
|
gsDPSetTextureLUT(G_TT_NONE),
|
|
|
|
gsSPEndDisplayList(),
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void* D_menu_801B68B0[] = {
|
|
|
|
D_menu_801C6C10, D_menu_801C9010, D_menu_801CB410, D_menu_801BB810, D_menu_801C4810,
|
|
|
|
D_menu_801C0010, D_menu_801BDC10, D_menu_801C2410, D_menu_801B9410,
|
2024-01-10 20:55:08 +03:00
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
u8* D_menu_801B68D4[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
D_6029220, D_602B6D0, D_602FFD0, D_6024890, D_602DB60, D_601FF40, D_6026D70, D_60223E0, D_60190B0,
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Gfx* D_menu_801B68F8[] = {
|
|
|
|
D_6060610, D_601DE80, D_604B750, D_601F6B0, D_601C0D0,
|
|
|
|
D_601C960, D_menu_801B5E78, D_menu_801B61E0, D_menu_801B6548, D_menu_801B4D70,
|
|
|
|
D_menu_801B5B10, D_menu_801B5440, D_menu_801B50D8, D_menu_801B57A8, D_604DB10,
|
2024-01-10 20:55:08 +03:00
|
|
|
};
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
extern u8 D_5000500[];
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
extern u8 D_6000840[];
|
|
|
|
extern u8 D_6001080[];
|
|
|
|
extern u8 D_60018C0[];
|
2023-12-26 23:55:45 +03:00
|
|
|
extern u8 D_600D590[];
|
2024-01-04 18:53:38 +03:00
|
|
|
extern u8 D_6019030[];
|
2023-12-24 19:12:09 +03:00
|
|
|
extern Gfx D_601D1F0[];
|
|
|
|
extern u8 D_601DC10[];
|
|
|
|
extern u16 D_601DC90[];
|
2023-12-26 23:55:45 +03:00
|
|
|
extern Gfx D_601DCF0[];
|
2023-12-24 19:12:09 +03:00
|
|
|
extern u8 D_601DCA0[];
|
|
|
|
extern u16 D_601DCD8[];
|
2024-01-04 18:53:38 +03:00
|
|
|
extern Gfx D_601E9A0[];
|
2024-01-02 01:55:06 +03:00
|
|
|
extern u16 D_6044820[];
|
|
|
|
extern u16 D_6046AA0[];
|
|
|
|
extern u16 D_6046CD0[];
|
2023-12-26 23:55:45 +03:00
|
|
|
extern Gfx D_60479D0[];
|
2023-12-24 19:12:09 +03:00
|
|
|
extern Gfx D_6047E70[];
|
|
|
|
extern u8 D_6047F80[];
|
|
|
|
extern u8 D_6048F80[];
|
|
|
|
extern Gfx D_604C350[];
|
|
|
|
extern Gfx D_604C540[];
|
|
|
|
extern Gfx D_604CDE0[];
|
|
|
|
extern Gfx D_604D680[];
|
|
|
|
extern Gfx D_605A120[];
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019E800(void);
|
|
|
|
void func_menu_8019E99C(void);
|
|
|
|
void func_menu_8019F164(void);
|
|
|
|
void func_menu_8019F42C(void);
|
|
|
|
void func_menu_8019F600(void);
|
|
|
|
void func_menu_8019F910(void);
|
|
|
|
void func_menu_8019F97C(void);
|
|
|
|
void func_menu_8019F83C(void);
|
|
|
|
void func_menu_8019FA1C(void);
|
|
|
|
void func_menu_8019FC04(void);
|
|
|
|
s32 func_menu_8019FD1C(LevelId levelId, s32 arg1);
|
|
|
|
void func_menu_8019FF48(void);
|
|
|
|
s32 func_menu_801A05B4(void);
|
|
|
|
void func_menu_801A0788(void);
|
|
|
|
void func_menu_801A0954(void);
|
|
|
|
void func_menu_801A0D14(void);
|
|
|
|
void func_menu_801A1528(void);
|
|
|
|
void func_menu_801A116C(void);
|
|
|
|
void func_menu_801A19A8(void);
|
|
|
|
void func_menu_801A1C14(void);
|
|
|
|
bool func_menu_801A2304(void);
|
|
|
|
f32 func_menu_801A25C8(PlanetId);
|
|
|
|
void func_menu_801A2674(void);
|
|
|
|
void func_menu_801A281C(void);
|
|
|
|
void func_menu_801A2B8C(void);
|
|
|
|
void func_menu_801A2EB8(void);
|
|
|
|
void func_menu_801A3440(f32);
|
|
|
|
void func_menu_801A3550(Vec3f*, Vec3f*, Vec3f*, f32);
|
|
|
|
void func_menu_801A36A8(void);
|
|
|
|
void func_menu_801A3A00(void);
|
|
|
|
void func_menu_801A4394(void);
|
|
|
|
void func_menu_801A4650(void);
|
|
|
|
void func_menu_801A48C0(f32 speed);
|
|
|
|
void func_menu_801A4A38(f32 arg0);
|
|
|
|
void func_menu_801A4AE8(void);
|
|
|
|
void func_menu_801A4D0C(u32);
|
|
|
|
void func_menu_801A4D7C(void);
|
|
|
|
void func_menu_801A4F8C(void);
|
|
|
|
void func_menu_801A4FC4(void);
|
|
|
|
void func_menu_801A53C8(void);
|
|
|
|
void func_menu_801A5834(void);
|
|
|
|
void func_menu_801A5C90(void);
|
|
|
|
s32 func_menu_801A5770(void);
|
|
|
|
void func_menu_801A5E80(void);
|
|
|
|
void func_menu_801A6368(void);
|
|
|
|
void func_menu_801A61B4(LevelId level);
|
|
|
|
bool func_menu_801A62FC(PlanetId planet);
|
|
|
|
s32 func_menu_801A655C(s32 arg0, s32 arg1);
|
|
|
|
void func_menu_801A6628(void);
|
|
|
|
void func_menu_801A6694(void);
|
|
|
|
void func_menu_801A68E4(void);
|
|
|
|
void func_menu_801A6A24(void);
|
|
|
|
void func_menu_801A6A98(PlanetId);
|
|
|
|
s32 func_menu_801A6DAC(PlanetId planetId);
|
|
|
|
void func_menu_801A6EC0(PlanetId planetId);
|
|
|
|
void func_menu_801A7230(PlanetId planetId);
|
|
|
|
void func_menu_801A74F4(PlanetId);
|
|
|
|
void func_menu_801A7684(PlanetId planetId);
|
|
|
|
void func_menu_801A77B0(PlanetId planetId);
|
|
|
|
void func_menu_801A791C(PlanetId planetId);
|
|
|
|
void func_menu_801A7A84(PlanetId planetId);
|
|
|
|
void func_menu_801A7BEC(f32* zAngle, f32 next, f32 scale);
|
|
|
|
void func_menu_801A7D3C(PlanetId planetId);
|
|
|
|
void func_menu_801A7F1C(PlanetId planetId);
|
|
|
|
void func_menu_801A914C(void);
|
|
|
|
void func_menu_801A9EE4(void);
|
|
|
|
void func_menu_801AD11C(void);
|
|
|
|
void func_menu_801AD718(f32, f32, f32, f32*, f32*, f32*, f32, f32, f32);
|
2023-12-26 23:55:45 +03:00
|
|
|
PlanetId GetPlanetId(LevelId level);
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A809C(PlanetId planetId);
|
|
|
|
void func_menu_801A8738(void);
|
|
|
|
void func_menu_801A89BC(PlanetId, s32);
|
|
|
|
void func_menu_801A8F40(void);
|
|
|
|
void func_menu_801A9224(void);
|
|
|
|
void func_menu_801A9448(void);
|
|
|
|
void func_menu_801A9814(void);
|
|
|
|
void func_menu_801A9910(void);
|
|
|
|
void func_menu_801A9A8C(void);
|
|
|
|
void func_menu_801A9DE8(void);
|
|
|
|
void func_menu_801AA1CC(s32);
|
|
|
|
void func_menu_801AA434(s32, f32, f32, s32);
|
|
|
|
void func_menu_801AA778(s32, f32, f32, PlanetId);
|
|
|
|
void func_menu_801AB17C(f32 x, f32 y, f32 z);
|
|
|
|
void func_menu_801AB284(void);
|
|
|
|
void func_menu_801AB300(void);
|
|
|
|
void func_menu_801AB978(s32);
|
|
|
|
void func_menu_801ABCDC(s32 arg0, s32 alpha);
|
|
|
|
void func_menu_801ABF1C(void);
|
|
|
|
void func_menu_801AC200(s32);
|
|
|
|
void func_menu_801AC530(s32 index);
|
|
|
|
void func_menu_801AC80C(s32);
|
|
|
|
void func_menu_801AC9A0(s32);
|
|
|
|
void func_menu_801ACD90(s32 index, Vec3f* src, Vec3f* dest);
|
|
|
|
void func_menu_801AD048(void);
|
|
|
|
|
|
|
|
void func_menu_8019E800(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
Memory_FreeAll();
|
|
|
|
func_800A5D6C();
|
|
|
|
D_80178410 = 0;
|
|
|
|
gNextGameState = 4;
|
|
|
|
D_80161A34 = 5;
|
|
|
|
D_80177868 = 2;
|
2023-12-24 22:28:35 +03:00
|
|
|
gDrawMode = DRAWMODE_0;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019E85C(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
switch (D_80177868) {
|
|
|
|
case 0:
|
2023-12-24 22:28:35 +03:00
|
|
|
if (D_Timer_8017783C == 0) {
|
2023-12-24 19:12:09 +03:00
|
|
|
D_80177868 = 1;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019E800();
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019E8C8(void) {
|
2023-11-16 05:14:33 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019E8D0(void) {
|
|
|
|
if (D_menu_801CD9B8 > 0) {
|
|
|
|
D_menu_801CD9B8--;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9BC > 0) {
|
|
|
|
D_menu_801CD9BC--;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 > 0) {
|
|
|
|
D_menu_801CD9C0--;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
switch (D_80177B40) {
|
|
|
|
case 0:
|
2023-12-24 22:28:35 +03:00
|
|
|
if (D_Timer_8017783C == 0) {
|
2023-12-24 19:12:09 +03:00
|
|
|
D_80177B40 = 1;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2023-12-24 22:28:35 +03:00
|
|
|
gDrawMode = DRAWMODE_0;
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019E99C();
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-02 01:55:06 +03:00
|
|
|
gDrawMode = DRAW_MAP;
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019FF48();
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019E99C(void) {
|
2024-01-02 01:55:06 +03:00
|
|
|
s32 i;
|
|
|
|
s32 j;
|
|
|
|
|
|
|
|
func_8001DC6C(0, 0x118);
|
|
|
|
|
|
|
|
D_80137E78 = 2;
|
2024-01-17 18:36:58 +03:00
|
|
|
gGameFrameCount = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_80188010();
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD83C = func_menu_801A05B4();
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD980 = 0;
|
|
|
|
D_menu_801CD984 = 0;
|
|
|
|
D_menu_801CD98C = 0;
|
|
|
|
D_menu_801CD990 = 0;
|
|
|
|
D_menu_801CD994 = 0;
|
|
|
|
D_menu_801CD9CC = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEB48[0] = 0;
|
|
|
|
D_menu_801CEB48[1] = 0;
|
|
|
|
D_menu_801CEB48[2] = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 10; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEB58[1][i] = 0;
|
|
|
|
D_menu_801CEB58[2][i] = 0;
|
|
|
|
D_menu_801CEBD0[1][i] = 0xFF;
|
|
|
|
D_menu_801CEBD0[2][i] = 0xFF;
|
|
|
|
D_menu_801CEC48[1][i] = 0.0f;
|
|
|
|
D_menu_801CEC48[2][i] = 0.0f;
|
2024-01-29 00:27:23 +03:00
|
|
|
D_menu_801CECC0[1][i] = 0.5f + RAND_FLOAT(0.3f);
|
|
|
|
D_menu_801CECC0[2][i] = 0.5f + RAND_FLOAT(0.3f);
|
|
|
|
D_menu_801CEE28[1][i] = 1 + RAND_INT(5.0f);
|
|
|
|
D_menu_801CEE28[2][i] = 1 + RAND_INT(5.0f);
|
|
|
|
D_menu_801CED38[1][i] = 50.0f + RAND_INT(30.0f);
|
|
|
|
D_menu_801CED38[2][i] = 110.0f + RAND_INT(30.0f);
|
|
|
|
D_menu_801CEDB0[1][i] = -10.0f + RAND_FLOAT(-60.0f);
|
|
|
|
D_menu_801CEDB0[2][i] = -10.0f + RAND_FLOAT(-60.0f);
|
2024-01-14 07:30:21 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
D_menu_801CD978 = 0;
|
|
|
|
D_menu_801CD97C = 0;
|
|
|
|
D_menu_801CF010 = 0;
|
|
|
|
D_menu_801CF014 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
for (j = 0; j < 15; j++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD900[j] = 0;
|
|
|
|
D_menu_801CEAB8[j] = 0.0f;
|
|
|
|
D_menu_801CEAF8[j] = -90.0f;
|
|
|
|
}
|
|
|
|
|
|
|
|
D_menu_801CDA20 = 0.0f;
|
|
|
|
D_menu_801CDA24 = 1.0f;
|
|
|
|
D_menu_801CDA28 = 0.0f;
|
2024-01-29 00:27:23 +03:00
|
|
|
D_menu_801CDA00 = -150.55215f;
|
|
|
|
D_menu_801CDA04 = -489.68f;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CDA08 = 0.0f;
|
|
|
|
D_menu_801CDA0C = -42.750008f;
|
|
|
|
D_menu_801CDA10 = -9.849999f;
|
|
|
|
D_menu_801CDA14 = 3375.000000f;
|
|
|
|
D_menu_801CDA18 = 0.0f;
|
|
|
|
D_menu_801CDA1C = 0.0f;
|
|
|
|
|
|
|
|
func_menu_801AD718(D_menu_801CDA00, D_menu_801CDA04, D_menu_801CDA08, &D_menu_801CD9F4, &D_menu_801CD9F8,
|
|
|
|
&D_menu_801CD9FC, D_menu_801CDA14, D_menu_801CDA0C + D_menu_801CDA18,
|
|
|
|
D_menu_801CDA10 + D_menu_801CDA1C);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 15; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD8A0[i] = i;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD960 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
D_80178340 = 0xFF;
|
|
|
|
D_80178348 = 0;
|
|
|
|
D_80178350 = 0;
|
|
|
|
D_80178354 = 0;
|
|
|
|
D_80177D20 = 0.0f;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF018 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
gBgColor = 0;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA58 = 0.0f;
|
|
|
|
D_menu_801CEA5C = 0.0f;
|
|
|
|
D_menu_801CEA60 = 0.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A0788();
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801B8280 = 0;
|
|
|
|
D_menu_801B8284 = 0;
|
|
|
|
D_menu_801CD9B8 = 0;
|
|
|
|
D_menu_801CD9BC = 0;
|
|
|
|
D_menu_801CD9C0 = 0;
|
|
|
|
D_menu_801CD964 = 0;
|
|
|
|
D_menu_801CD968 = 0;
|
|
|
|
D_menu_801CD96C = 0;
|
|
|
|
D_menu_801CEA6C = 0.0f;
|
|
|
|
D_menu_801CEA70 = 0.002f;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
func_8001D444(0, 0x3C, 0, 0xFF);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFC4 = 0;
|
|
|
|
D_menu_801CEFC8 = 0;
|
|
|
|
D_menu_801CEFD0 = 0;
|
|
|
|
D_menu_801CD974 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 24; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD840[i] = i;
|
|
|
|
D_menu_801AFD18[i].unk_14 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A6694();
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
switch (D_80161A34) {
|
|
|
|
default:
|
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019F600();
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 7:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019F164();
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019F42C();
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A914C();
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 96 * 96; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801BB810[i] = 106;
|
|
|
|
D_menu_801BDC10[i] = 84;
|
|
|
|
D_menu_801C0010[i] = 75;
|
|
|
|
D_menu_801C2410[i] = 81;
|
|
|
|
D_menu_801C4810[i] = 55;
|
|
|
|
D_menu_801C6C10[i] = 82;
|
|
|
|
D_menu_801C9010[i] = 68;
|
|
|
|
D_menu_801CB410[i] = 52;
|
|
|
|
D_menu_801B9410[i] = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 9; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD818[i] = 0.0f;
|
|
|
|
func_menu_801A07E8(D_menu_801B68B0[i], SEGMENTED_TO_VIRTUAL(D_menu_801B68D4[i]), &D_menu_801CD818[i]);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD810 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
D_80177B40 = 2;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948 = 0;
|
|
|
|
D_menu_801CEEC4 = 0;
|
|
|
|
D_menu_801CEEC8 = 5;
|
|
|
|
D_menu_801CEFF4 = 255.0f;
|
|
|
|
D_menu_801CEFF8 = 255.0f;
|
|
|
|
D_menu_801CEEBC = 0.0f;
|
|
|
|
D_menu_801CEEC0 = 0.0f;
|
|
|
|
D_menu_801CEEA0 = 0;
|
|
|
|
D_menu_801CEEA4 = 0;
|
|
|
|
D_menu_801CEEA8 = 0xFF;
|
|
|
|
D_menu_801CEEAC = 0xFF;
|
|
|
|
D_menu_801CEB34 = -1;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019F164(void) {
|
2024-01-02 01:55:06 +03:00
|
|
|
s32 i;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD974 = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
if (gLifeCount[gPlayerNum] > 99) {
|
|
|
|
gLifeCount[gPlayerNum] = 99;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
D_80177C38[i] = gTeamShields[i];
|
|
|
|
D_801778F0[i] = gSavedTeamShields[i];
|
|
|
|
gSavedTeamShields[i] = gTeamShields[i];
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 1; i < 4; i++) {
|
|
|
|
if (D_80177C38[i] == 0) {
|
|
|
|
D_80177C38[i] = 255;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD93C = D_80177930;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
sCurrentPlanetId = GetPlanetId(gCurrentLevel);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD950 = sCurrentPlanetId;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD980 = func_menu_8019FD1C(gCurrentLevel, 0);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019FD1C(gCurrentLevel, 2);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
if (D_800D3180[gCurrentLevel] == 2) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD98C = 1;
|
2024-01-12 20:11:40 +03:00
|
|
|
D_80177BB0[gCurrentPlanet] = 1;
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019FD1C(gCurrentLevel, 1);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
Save_Write();
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019F97C();
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019F83C();
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019FA1C();
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD93C) {
|
2024-01-02 01:55:06 +03:00
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD958 = planet[sCurrentPlanetId].unk_2C;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD958 = planet[sCurrentPlanetId].unk_30;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD958 = planet[sCurrentPlanetId].unk_34;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
gCurrentPlanet++;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019FC04();
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFC4 = 0;
|
|
|
|
D_menu_801CEFD0 = 0;
|
|
|
|
D_menu_801CEFE0 = 32.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFE8[0] = 255.0f;
|
|
|
|
D_menu_801CEFE8[1] = 255.0f;
|
|
|
|
D_menu_801CEFE8[2] = 255.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFD8 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD93C) {
|
|
|
|
D_menu_801CEFD8 = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
gHitCount = 0;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD94C = 0;
|
|
|
|
D_menu_801CD944 = 5;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019F42C(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 i;
|
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
gTotalHits += gHitCount;
|
2023-12-26 23:55:45 +03:00
|
|
|
gLifeCount[gPlayerNum] = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD974 = 1;
|
2024-01-12 20:11:40 +03:00
|
|
|
sCurrentPlanetId = GetPlanetId(gCurrentLevel);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
D_80177B70[gCurrentPlanet] = gHitCount;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019F910();
|
|
|
|
func_menu_8019FD1C(gCurrentLevel, 0);
|
2023-12-26 23:55:45 +03:00
|
|
|
Save_Write();
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019F83C();
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 7; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD8E0[i] = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (gCurrentPlanet != 0) {
|
|
|
|
for (i = 0; i < gCurrentPlanet; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD8E0[i] = func_menu_801A655C(D_80177B90[i], D_80177B90[i + 1]);
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 24; i++) {
|
|
|
|
D_80177BD8[i] = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 15; i++) {
|
|
|
|
planet[i].alpha = 0;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_8019FC04();
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9AC = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
func_8001DC6C(0, 0x19);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948 = 0;
|
|
|
|
D_menu_801CD94C = 0;
|
|
|
|
D_menu_801CD944 = 7;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019F600(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 i;
|
|
|
|
s32 sp18;
|
|
|
|
s32 temp_t4;
|
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
gTotalHits = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
gHitCount = 0;
|
|
|
|
|
|
|
|
gTeamShields[1] = 255;
|
|
|
|
gTeamShields[2] = 255;
|
|
|
|
gTeamShields[3] = 255;
|
|
|
|
gSavedTeamShields[1] = 255;
|
|
|
|
gSavedTeamShields[2] = 255;
|
|
|
|
gSavedTeamShields[3] = 255;
|
|
|
|
D_80177C38[1] = 255;
|
|
|
|
D_80177C38[2] = 255;
|
|
|
|
D_80177C38[3] = 255;
|
|
|
|
D_80177C58[1] = 255;
|
|
|
|
D_80177C58[2] = 255;
|
|
|
|
D_80177C58[3] = 255;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD950 = -1;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-26 23:55:45 +03:00
|
|
|
for (i = 0; i < 15; i++) {
|
|
|
|
planet[i].alpha = 0;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD970 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
for (i = 0; i < 24; i++) {
|
|
|
|
D_80177BD8[i] = 0;
|
|
|
|
gUnkEntities30[i].unk_24 = 0.0f;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 7; i++) {
|
|
|
|
D_80177BB0[i] = 0;
|
|
|
|
D_80177B70[i] = 0;
|
|
|
|
D_80177B50[i] = 0x00FFFFFF;
|
|
|
|
}
|
|
|
|
D_80177B90[0] = 9;
|
|
|
|
D_80177B90[1] = -1;
|
|
|
|
D_80177B90[2] = -1;
|
|
|
|
D_80177B90[3] = -1;
|
|
|
|
D_80177B90[4] = -1;
|
|
|
|
D_80177B90[5] = -1;
|
|
|
|
D_80177B90[6] = 13;
|
|
|
|
|
|
|
|
for (i = 0; i < 24; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[i].unk_18 = 255;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
gCurrentPlanet = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
gCurrentLevel = 0;
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
sCurrentPlanetId = 9;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA9C = 0.0f;
|
|
|
|
D_menu_801CD9B0 = 0.002f;
|
|
|
|
D_menu_801CD9B4 = 0.01f;
|
|
|
|
D_menu_801CD944 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
sp18 = func_menu_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_2C);
|
|
|
|
temp_t4 = func_menu_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_30);
|
2023-12-26 23:55:45 +03:00
|
|
|
D_80177BD8[sp18] = 1;
|
|
|
|
D_80177BD8[temp_t4] = 1;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019F83C(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 i;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD970 = 0;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 24; i++) {
|
|
|
|
if ((D_80177BD8[i] == 4) || (D_80177BD8[i] == 5) || (D_80177BD8[i] == 1) || (D_80177BD8[i] == 11)) {
|
|
|
|
D_80177BD8[i] = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_80177BD8[i] == 6) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[i].unk_14 = 5;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[i].unk_18 = 0;
|
2023-12-24 19:12:09 +03:00
|
|
|
gUnkEntities30[i].unk_24 = 0.0f;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019F910(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 i;
|
|
|
|
s32 mask = 0x00FF0000;
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
if (gTeamShields[3 - i] <= 0) {
|
2024-01-12 20:11:40 +03:00
|
|
|
D_80177B50[gCurrentPlanet] ^= mask;
|
2023-12-24 19:12:09 +03:00
|
|
|
} else {
|
2024-01-12 20:11:40 +03:00
|
|
|
D_80177B50[gCurrentPlanet] |= mask;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
mask >>= 8;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019F97C(void) {
|
|
|
|
D_menu_801CEA54 = func_menu_801A25C8(sCurrentPlanetId);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-24 17:45:55 +03:00
|
|
|
D_menu_801CD9F4 = D_menu_801CDA00 = planet[sCurrentPlanetId].pos.x;
|
|
|
|
D_menu_801CD9F8 = D_menu_801CDA04 = planet[sCurrentPlanetId].pos.y;
|
|
|
|
D_menu_801CDA08 = planet[sCurrentPlanetId].pos.z;
|
|
|
|
D_menu_801CD9FC = planet[sCurrentPlanetId].pos.z + D_menu_801CEA54;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019FA1C(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
PlanetId planetId;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
for (planetId = 0; planetId < PLANET_MAX; planetId++) {
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planetId == sCurrentPlanetId) {
|
2024-01-04 18:53:38 +03:00
|
|
|
if ((planetId == PLANET_SECTOR_Z) || (planetId == PLANET_SECTOR_X) || (planetId == PLANET_SECTOR_Y)) {
|
|
|
|
planet[planetId].alpha = 144;
|
2023-12-24 19:12:09 +03:00
|
|
|
} else {
|
2024-01-04 18:53:38 +03:00
|
|
|
planet[planetId].alpha = 255;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
} else {
|
2024-01-04 18:53:38 +03:00
|
|
|
planet[planetId].alpha = 0;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019FC04(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 i;
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (gCurrentPlanet != 0) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEB48[1] = 1;
|
|
|
|
D_menu_801CEB48[2] = 1;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 7; i++) {
|
|
|
|
if (D_80177B90[i] == 6) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEB48[1] = 0;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
if (D_80177B90[i] == 5) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEB48[2] = 0;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
bool func_menu_8019FD1C(LevelId levelId, s32 arg1) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 ret;
|
|
|
|
s32 planetSaveSlot;
|
|
|
|
|
|
|
|
switch (levelId) {
|
|
|
|
case LEVEL_METEO:
|
|
|
|
planetSaveSlot = PLANET_METEO;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_AREA_6:
|
|
|
|
planetSaveSlot = PLANET_AREA_6;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_BOLSE:
|
|
|
|
planetSaveSlot = PLANET_BOLSE;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_Z:
|
|
|
|
planetSaveSlot = PLANET_SECTOR_Z;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_X:
|
|
|
|
planetSaveSlot = PLANET_SECTOR_X;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_Y:
|
|
|
|
planetSaveSlot = PLANET_SECTOR_Y;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_KATINA:
|
|
|
|
planetSaveSlot = PLANET_KATINA;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_MACBETH:
|
|
|
|
planetSaveSlot = PLANET_MACBETH;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_ZONESS:
|
|
|
|
planetSaveSlot = PLANET_ZONESS;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_CORNERIA:
|
|
|
|
planetSaveSlot = PLANET_CORNERIA;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_TITANIA:
|
|
|
|
planetSaveSlot = PLANET_TITANIA;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_AQUAS:
|
|
|
|
planetSaveSlot = PLANET_AQUAS;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_FORTUNA:
|
|
|
|
planetSaveSlot = PLANET_FORTUNA;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SOLAR:
|
|
|
|
planetSaveSlot = SAVE_SLOT_SOLAR;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_VENOM_1:
|
|
|
|
planetSaveSlot = SAVE_SLOT_VENOM_1;
|
|
|
|
break;
|
|
|
|
|
2023-12-24 22:28:35 +03:00
|
|
|
case LEVEL_VENOM_2:
|
2023-12-24 19:12:09 +03:00
|
|
|
planetSaveSlot = SAVE_SLOT_VENOM_2;
|
|
|
|
break;
|
|
|
|
|
2023-12-24 22:28:35 +03:00
|
|
|
case LEVEL_VENOM_ANDROSS:
|
2023-12-24 19:12:09 +03:00
|
|
|
if (D_8017827C == 0) {
|
|
|
|
planetSaveSlot = SAVE_SLOT_VENOM_1;
|
|
|
|
} else {
|
|
|
|
planetSaveSlot = SAVE_SLOT_VENOM_2;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
ret = false;
|
|
|
|
|
|
|
|
switch (arg1) {
|
|
|
|
case 0:
|
2023-12-24 22:28:35 +03:00
|
|
|
if (!(gSaveFile.save.data.planet[planetSaveSlot].played & 1)) {
|
|
|
|
gSaveFile.save.data.planet[planetSaveSlot].played = 1;
|
2023-12-24 19:12:09 +03:00
|
|
|
ret = true;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
if (gExpertMode) {
|
2023-12-24 22:28:35 +03:00
|
|
|
if (!(gSaveFile.save.data.planet[planetSaveSlot].expertMedal & 1)) {
|
|
|
|
gSaveFile.save.data.planet[planetSaveSlot].expertMedal = 1;
|
2023-12-24 19:12:09 +03:00
|
|
|
ret = true;
|
|
|
|
}
|
|
|
|
} else {
|
2023-12-24 22:28:35 +03:00
|
|
|
if (!(gSaveFile.save.data.planet[planetSaveSlot].normalMedal & 1)) {
|
|
|
|
gSaveFile.save.data.planet[planetSaveSlot].normalMedal = 1;
|
2023-12-24 19:12:09 +03:00
|
|
|
ret = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
if (gExpertMode) {
|
2023-12-24 22:28:35 +03:00
|
|
|
if (!(gSaveFile.save.data.planet[planetSaveSlot].expertClear & 1)) {
|
|
|
|
gSaveFile.save.data.planet[planetSaveSlot].expertClear = 1;
|
2023-12-24 19:12:09 +03:00
|
|
|
ret = true;
|
|
|
|
}
|
|
|
|
} else {
|
2023-12-24 22:28:35 +03:00
|
|
|
if (!(gSaveFile.save.data.planet[planetSaveSlot].normalClear & 1)) {
|
|
|
|
gSaveFile.save.data.planet[planetSaveSlot].normalClear = 1;
|
2023-12-24 19:12:09 +03:00
|
|
|
ret = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_8019FF48(void) {
|
|
|
|
func_menu_801A6694();
|
|
|
|
func_menu_801A68E4();
|
|
|
|
func_menu_801A6A24();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD944) {
|
2023-12-24 19:12:09 +03:00
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A0954();
|
2023-12-24 19:12:09 +03:00
|
|
|
D_8017842C += 0.09f;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A1528();
|
|
|
|
D_menu_801CDA1C += 0.03f;
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AD11C();
|
|
|
|
D_menu_801CDA1C += 0.03f;
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A1C14();
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A5E80();
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A2B8C();
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 6:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A4AE8();
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 7:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A36A8();
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD944 == 0) || (D_menu_801CD944 == 1) || (D_menu_801CD944 == 7) || (D_menu_801CD944 == 3)) {
|
|
|
|
func_menu_801AD718(D_menu_801CDA00, D_menu_801CDA04, D_menu_801CDA08, &D_menu_801CD9F4, &D_menu_801CD9F8,
|
|
|
|
&D_menu_801CD9FC, D_menu_801CDA14, D_menu_801CDA0C + D_menu_801CDA18,
|
|
|
|
D_menu_801CDA10 + D_menu_801CDA1C);
|
|
|
|
func_800B6F50(D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
|
|
|
|
D_menu_801CDA08);
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2024-01-17 18:36:58 +03:00
|
|
|
gGameFrameCount++;
|
2024-01-12 20:11:40 +03:00
|
|
|
#if MODS_LEVEL_SELECT == true
|
|
|
|
Map_LevelSelect();
|
|
|
|
#endif
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A01A8(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 i;
|
|
|
|
s32* ptr;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Push(&gGfxMatrix);
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_LookAt(gGfxMatrix, D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
|
|
|
|
D_menu_801CDA08, D_menu_801CDA20, D_menu_801CDA24, D_menu_801CDA28, 1);
|
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801CEA58, D_menu_801CEA5C, D_menu_801CEA60, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD974 && D_menu_801CD944 != 0) {
|
2023-12-24 19:12:09 +03:00
|
|
|
for (i = 0; i < 24; i++) {
|
|
|
|
if (D_80177BD8[i] == 0) {
|
|
|
|
continue;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[i].unk_18 == 0) {
|
2023-12-24 19:12:09 +03:00
|
|
|
continue;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AC9A0(i);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[i].unk_14) {
|
|
|
|
func_menu_801AC200(i);
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
func_80060D94(i);
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A8F40();
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A9224();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A9448();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
for (ptr = D_menu_801CD8A0, i = 0; i < 15; i++, ptr++) {
|
|
|
|
func_menu_801A6A98(*ptr);
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A8738();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD96C) {
|
|
|
|
func_menu_801ABF1C();
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AB300();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEFC4) {
|
|
|
|
func_menu_801A5834();
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD964) {
|
|
|
|
func_menu_801A9910();
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A9814();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD968) {
|
|
|
|
func_menu_801A9A8C();
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A9DE8();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A5C90();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD944 == 7) && (D_menu_801CD948 == 1)) {
|
|
|
|
func_menu_801A4650();
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD944 == 0) {
|
|
|
|
func_menu_801A0D14();
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD944 == 1) {
|
|
|
|
func_menu_801A19A8();
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEEC8 == 0) {
|
|
|
|
func_menu_801A07E8((u8*) D_menu_801B68B0[8], (u8*) SEGMENTED_TO_VIRTUAL(D_menu_801B68D4[8]),
|
|
|
|
&(D_menu_801CD818[8]));
|
|
|
|
D_menu_801CEEC8 = 5;
|
2023-12-24 19:12:09 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEC8--;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A07E8((u8*) D_menu_801B68B0[D_menu_801CEEC4 * 2],
|
|
|
|
(u8*) SEGMENTED_TO_VIRTUAL(D_menu_801B68D4[D_menu_801CEEC4 * 2]),
|
|
|
|
&(D_menu_801CD818[D_menu_801CEEC4 * 2]));
|
|
|
|
func_menu_801A07E8((u8*) D_menu_801B68B0[(D_menu_801CEEC4 * 2) + 1],
|
|
|
|
(u8*) SEGMENTED_TO_VIRTUAL(D_menu_801B68D4[(D_menu_801CEEC4 * 2) + 1]),
|
|
|
|
&(D_menu_801CD818[(D_menu_801CEEC4 * 2) + 1]));
|
|
|
|
D_menu_801CEEC4++;
|
|
|
|
if (D_menu_801CEEC4 > 3) {
|
|
|
|
D_menu_801CEEC4 = 0;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
Texture_Mottle((u16*) D_6047F80, (u16*) D_6048F80, 5);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
s32 func_menu_801A05B4(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 i;
|
|
|
|
s32 j;
|
|
|
|
s32 sp30[10];
|
|
|
|
s32 ret;
|
|
|
|
s32 var_a3;
|
|
|
|
s32 temp_a0;
|
|
|
|
|
|
|
|
for (i = 0; i < 10; i++) {
|
|
|
|
sp30[i] = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 10; i++) {
|
|
|
|
temp_a0 = gSaveFile.save.data.unk_36[i];
|
|
|
|
for (j = 0; j < temp_a0; j++) {
|
|
|
|
var_a3 = gSaveFile.save.data.unk_5E[i][j].unk_0;
|
|
|
|
if (gSaveFile.save.data.unk_5E[i][j].unk_C != 0) {
|
|
|
|
var_a3 += 256;
|
|
|
|
}
|
|
|
|
sp30[i] += var_a3;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
ret = sp30[0];
|
|
|
|
|
|
|
|
for (i = 1; i < 10; i++) {
|
|
|
|
if (ret < sp30[i]) {
|
|
|
|
ret = sp30[i];
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A0788(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
D_80178410 = 800;
|
|
|
|
|
|
|
|
Memory_FreeAll();
|
|
|
|
func_800A5D6C();
|
|
|
|
|
|
|
|
D_80178420 = 320.0f;
|
|
|
|
D_80178424 = 240.0f;
|
|
|
|
D_8017842C = 0.0f;
|
|
|
|
D_80178430 = 0.0f;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A07E8(u8* arg0, u8* arg1, f32* arg2) {
|
|
|
|
s32* var_v0 = D_menu_801B0004;
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 temp;
|
|
|
|
s32 i;
|
|
|
|
s32 j;
|
|
|
|
s32 k;
|
|
|
|
|
|
|
|
for (i = 1; i < 48; i++, var_v0++) {
|
|
|
|
for (k = 0, j = *var_v0; j < (95 - *var_v0); j++, k++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = D_menu_801B00C0[i - 1][k] + (s32) *arg2;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
if (temp > 95) {
|
|
|
|
temp -= 95;
|
|
|
|
}
|
|
|
|
if (temp < 0) {
|
|
|
|
temp += 95;
|
|
|
|
}
|
|
|
|
|
|
|
|
*(arg0 + ((i * 96) + j)) = *(arg1 + ((i * 96) + temp));
|
|
|
|
*(arg0 + ((95 - i) * 96) + j) = *(arg1 + ((95 - i) * 96) + temp);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
*arg2 -= 1.0f;
|
|
|
|
|
|
|
|
if (*arg2 <= 0.0f) {
|
|
|
|
*arg2 = 95.0f;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (*arg2 > 95.0f) {
|
|
|
|
*arg2 = 0.0f;
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A0954(void) {
|
2024-01-02 01:55:06 +03:00
|
|
|
PlanetId planetId;
|
2024-01-14 07:30:21 +03:00
|
|
|
static f32 D_menu_801B6934[] = {
|
2024-01-02 01:55:06 +03:00
|
|
|
99.0f, 24, -90.0f, -150.0f, -208.0f, -276.0f,
|
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD948) {
|
2024-01-02 01:55:06 +03:00
|
|
|
case 100:
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9F0 = 0;
|
|
|
|
D_menu_801CD9DC = 30.0f;
|
|
|
|
D_menu_801CD9E0 = 230.0f;
|
|
|
|
D_menu_801CD9E8 = 0;
|
|
|
|
D_menu_801CD9E4 = 0;
|
|
|
|
D_menu_801CD9EC = 0.29f;
|
2024-01-02 01:55:06 +03:00
|
|
|
D_80178410 = 800;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C0 = 5;
|
|
|
|
D_menu_801CD948++;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 != 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_80178340 != 0) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((s32) D_menu_801CD9E0 == 205) {
|
2024-01-02 01:55:06 +03:00
|
|
|
func_8001AD00(1000);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9E0 > -355.0f) {
|
|
|
|
D_menu_801CD9E0 -= D_menu_801CD9EC;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD9E0 < 200.0f) && (D_menu_801CD9E8 != 255)) {
|
|
|
|
D_menu_801CD9E8 += 8;
|
|
|
|
if (D_menu_801CD9E8 > 255) {
|
|
|
|
D_menu_801CD9E8 = 255;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9E0 < D_menu_801B6934[D_menu_801CD9F0]) {
|
|
|
|
D_menu_801CD9E4 += 8;
|
|
|
|
if (D_menu_801CD9E4 > 255) {
|
|
|
|
D_menu_801CD9E4 = 255;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9E0 <= -355.0f) {
|
|
|
|
D_menu_801CD948++;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9E8 -= 16;
|
|
|
|
if (D_menu_801CD9E8 < 0) {
|
|
|
|
D_menu_801CD9E8 = 0;
|
|
|
|
D_menu_801CD948++;
|
|
|
|
D_menu_801CD9C0 = 20;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 != 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948 = 0;
|
|
|
|
D_menu_801CD944 = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerPress[gMainController].button & START_BUTTON) {
|
|
|
|
func_8001D444(0, 0x3C, 0, 0xFF);
|
|
|
|
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x4900001FU, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
for (planetId = 0; planetId < PLANET_MAX; planetId++) {
|
2024-01-02 01:55:06 +03:00
|
|
|
if ((planetId == PLANET_SECTOR_Z) || (planetId == PLANET_SECTOR_X) || (planetId == PLANET_SECTOR_Y)) {
|
|
|
|
planet[planetId].alpha = 144;
|
|
|
|
} else {
|
|
|
|
planet[planetId].alpha = 255;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD900[planetId] = 255;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD970 = 255;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
func_8001AE58();
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD974 = 1;
|
|
|
|
D_menu_801CD97C = 1;
|
|
|
|
D_menu_801CD948 = 0;
|
|
|
|
D_menu_801CD944 = 3;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A0D14(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 i;
|
2024-01-14 07:30:21 +03:00
|
|
|
static f32 D_menu_801B694C = 71.0f;
|
|
|
|
static f32 D_menu_801B6950 = 205.0f;
|
|
|
|
static u16* D_menu_801B6954[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
D_6041A80, D_6035780, D_6033080, D_603A580, D_603F380, D_6037E80, D_603CC80,
|
2024-01-04 18:53:38 +03:00
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A116C();
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x51);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 180, 180, 180, 255);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Message_DisplayScrollingText(&gMasterDisp, gMsg_ID_1, D_menu_801CD9DC, D_menu_801CD9E0, 218, 70,
|
2024-01-04 18:53:38 +03:00
|
|
|
Message_GetCharCount(gMsg_ID_1));
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
TextureRect_8bIA(&gMasterDisp, D_6019030, 8, 16, 0.0f, D_menu_801B694C, 40.0f, 1.66f);
|
|
|
|
TextureRect_8bIA_MirY(&gMasterDisp, D_6019030, 8, 16, 0.0f, D_menu_801B6950, 40.0f, 1.68f);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
func_8003DE68(0x47, 0x76);
|
|
|
|
func_8003DE68(0xCD, 0xEF);
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_menu_801CD9E8);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 13; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_menu_801B6954[D_menu_801CD9F0] + (96 * 4 * i), 96, 4, 109.0f,
|
2024-01-04 18:53:38 +03:00
|
|
|
24.0f + (4.0f * i), 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD9E4 != 0) && (D_menu_801CD9F0 + 1 < 7)) {
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_menu_801CD9E4);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 13; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_menu_801B6954[D_menu_801CD9F0 + 1] + (i * 96 * 4), 96, 4, 109.0f,
|
2024-01-04 18:53:38 +03:00
|
|
|
24.0f + (i * 4.0f), 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9E4 == 255) {
|
|
|
|
D_menu_801CD9E4 = 0;
|
|
|
|
D_menu_801CD9F0++;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A116C(void) {
|
|
|
|
static f32 D_menu_801B6970 = 35.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
WingInfo wings;
|
|
|
|
Vec3f dest;
|
|
|
|
Vec3f src;
|
|
|
|
s32 colR = 30, colG = 9, colB = 5;
|
|
|
|
s32 pad[5];
|
|
|
|
|
|
|
|
src.x = 0.0f;
|
|
|
|
src.y = 0.0f;
|
|
|
|
src.z = 100.0f;
|
|
|
|
|
|
|
|
Matrix_RotateY(gCalcMatrix, M_DTOR * 22.0f, 0);
|
|
|
|
Matrix_RotateX(gCalcMatrix, M_DTOR * -70.0f, 1);
|
|
|
|
Matrix_MultVec3f(gCalcMatrix, &src, &dest);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD948 >= 2) {
|
2024-01-04 18:53:38 +03:00
|
|
|
colR -= 10;
|
|
|
|
if (colR < 0) {
|
|
|
|
colR = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
colG -= 3;
|
|
|
|
if (colG < 0) {
|
|
|
|
colG = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
colB -= 2;
|
|
|
|
if (colB < 0) {
|
|
|
|
colB = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x2E);
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_menu_801CD9E8);
|
2024-01-04 18:53:38 +03:00
|
|
|
} else {
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x17);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD948 < 2) || (D_menu_801CD9E8 != 0)) {
|
2024-01-04 18:53:38 +03:00
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
Matrix_LookAt(gGfxMatrix, 0.0f, 0.0f, 430.0f, 0.0f, 180.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
Lights_SetOneLight(&gMasterDisp, dest.x, dest.y, dest.z, colR, colG, colB, 0, 0, 0);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
|
|
|
Matrix_Translate(gGfxMatrix, -60.0f, 293.0f, -360.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 3.0f, 3.0f, 3.0f, 1);
|
|
|
|
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * -15.0f, 1);
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * D_menu_801B6970, 1);
|
2024-01-04 18:53:38 +03:00
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * -90.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
wings.rightState = wings.leftState = 2;
|
|
|
|
// clang-format off
|
2024-01-14 04:33:38 +03:00
|
|
|
wings.unk_18 = wings.unk_1C = wings.unk_20 = wings.unk_24 = wings.unk_04 =
|
2024-01-04 18:53:38 +03:00
|
|
|
wings.unk_08 = wings.unk_0C = wings.unk_10 = wings.unk_28 = 0.0f;
|
|
|
|
// clang-format on
|
|
|
|
|
|
|
|
wings.unk_14 = 0.0f;
|
|
|
|
wings.unk_2C = 1;
|
|
|
|
wings.unk_30 = 0.0f;
|
|
|
|
wings.unk_34 = 0.0f;
|
|
|
|
wings.unk_38 = 0.0f;
|
|
|
|
|
|
|
|
func_80053658(&wings);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801B6970 += 0.6f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
f32 D_menu_801B6974[8] = { -248.0f, -76.0f, 84.0f, 248.0f, -242.0f, -79.0f, 82.0f, 245.0f };
|
|
|
|
f32 D_menu_801B6994[8] = { 80.0f, 80.0f, 80.0f, 80.0f, -30.0f, -30.0f, -30.0f, -30.0f };
|
|
|
|
f32 D_menu_801B69B4[8] = { -455.0f, -455.0f, -455.0f, -455.0f, -455.0f, -455.0f, -455.0f, -455.0f };
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
f32 D_menu_801B69D4[8] = { -248.0f, -76.0f, 84.0f, 248.0f, -242.0f, -79.0f, 82.0f, 245.0f };
|
|
|
|
f32 D_menu_801B69F4[8] = { 80.0f, 80.0f, 80.0f, 80.0f, -30.0f, -30.0f, -30.0f, -30.0f };
|
|
|
|
f32 D_menu_801B6A14[8] = { 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f, 1000.0f };
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
f32* D_menu_801B6A34[2] = { D_menu_801B69D4, D_menu_801B6974 };
|
|
|
|
f32* D_menu_801B6A3C[2] = { D_menu_801B69F4, D_menu_801B6994 };
|
|
|
|
f32* D_menu_801B6A44[2] = { D_menu_801B6A14, D_menu_801B69B4 };
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A1528(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
PlanetId planetId;
|
|
|
|
f32 temp;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD948) {
|
2024-01-04 18:53:38 +03:00
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = Math_SmoothStepToF(&D_menu_801CEA9C, 255.0f, D_menu_801CD9B0, 10.0f, 1.0f);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9B0 *= 1.06f;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
if (temp == 0.0f) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAA0 = 0.0f;
|
|
|
|
D_menu_801CEAA4 = 0.0f;
|
|
|
|
D_menu_801CD9B0 = 0.002f;
|
|
|
|
D_menu_801CD9B8 = 10;
|
|
|
|
D_menu_801CD9BC = 45;
|
|
|
|
D_menu_801CD948++;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9B8 != 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Math_SmoothStepToF(&D_menu_801CEA9C, 0.0f, D_menu_801CD9B4, 50.0f, 0.1f);
|
|
|
|
D_menu_801CD9B4 *= 1.06f;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9BC != 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Math_SmoothStepToF(&D_menu_801CEAA0, 144.0f, D_menu_801CD9B0, 50.0f, 0.1f);
|
|
|
|
temp = Math_SmoothStepToF(&D_menu_801CEAA4, 255.0f, D_menu_801CD9B0, 50.0f, 0.1f);
|
|
|
|
D_menu_801CD9B0 *= 1.09f;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
for (planetId = 0; planetId < PLANET_MAX; planetId++) {
|
|
|
|
if ((planetId == PLANET_SECTOR_Z) || (planetId == PLANET_SECTOR_X) || (planetId == PLANET_SECTOR_Y)) {
|
2024-01-14 07:30:21 +03:00
|
|
|
planet[planetId].alpha = D_menu_801CEAA0;
|
2024-01-04 18:53:38 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
planet[planetId].alpha = D_menu_801CEAA4;
|
|
|
|
D_menu_801CD970 = D_menu_801CEAA4;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD900[planetId] = D_menu_801CEAA4;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEAA0 > 32) {
|
|
|
|
D_menu_801CD974 = 1;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (temp == 0.0f) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x4900001FU, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948 = 0;
|
|
|
|
D_menu_801CD97C = 1;
|
|
|
|
D_menu_801CD944 = 3;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
if (gControllerPress[gMainController].button & START_BUTTON) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x4900001FU, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
for (planetId = 0; planetId < PLANET_MAX; planetId++) {
|
|
|
|
if ((planetId == PLANET_SECTOR_Z) || (planetId == PLANET_SECTOR_X) || (planetId == PLANET_SECTOR_Y)) {
|
|
|
|
planet[planetId].alpha = 144;
|
|
|
|
} else {
|
|
|
|
planet[planetId].alpha = 255;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD900[planetId] = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD970 = 255;
|
|
|
|
D_menu_801CD944 = 3;
|
|
|
|
D_menu_801CD97C = 1;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A19A8(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 i;
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_menu_801CEA9C);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 4; i++) {
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_600D590 + (i * 168 * 4), 168, 4, 72.0f, 104.0f + (4.0f * i), 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_600D590 + (168 * 16), 168, 3, 72.0f, 104.0f + 16.0f, 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A1AE8(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
f32 x;
|
|
|
|
f32 y;
|
|
|
|
f32 z;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA64 = 0.04f;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA54 = func_menu_801A25C8(sCurrentPlanetId);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-24 17:45:55 +03:00
|
|
|
D_menu_801CDA40.x = planet[sCurrentPlanetId].pos.x;
|
|
|
|
D_menu_801CDA40.y = planet[sCurrentPlanetId].pos.y;
|
|
|
|
D_menu_801CDA40.z = planet[sCurrentPlanetId].pos.z;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-24 17:45:55 +03:00
|
|
|
D_menu_801CDA50.x = planet[sCurrentPlanetId].pos.x;
|
|
|
|
D_menu_801CDA50.y = planet[sCurrentPlanetId].pos.y;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CDA50.z = D_menu_801CDA40.z + D_menu_801CEA54;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CDA2C = D_menu_801CDA00;
|
|
|
|
D_menu_801CDA30 = D_menu_801CDA04;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CDA34 = D_menu_801CD9F4;
|
|
|
|
D_menu_801CDA38 = D_menu_801CD9F8;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
x = D_menu_801CDA50.x - D_menu_801CD9F4;
|
|
|
|
y = D_menu_801CDA50.y - D_menu_801CD9F8;
|
|
|
|
z = D_menu_801CDA50.z - D_menu_801CD9FC;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA68 = sqrtf(SQ(x) + SQ(y) + SQ(z));
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A1C14(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 i;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD948) {
|
2023-12-26 23:55:45 +03:00
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A1AE8();
|
|
|
|
|
|
|
|
D_menu_801CD94C = 0;
|
|
|
|
D_menu_801CD9C4 = 0;
|
|
|
|
D_menu_801CEA88 = 0.0f;
|
|
|
|
D_menu_801CEA8C = 0.0f;
|
|
|
|
D_menu_801CEA90 = -400.0f;
|
|
|
|
|
|
|
|
D_menu_801CEA78 = 0.05f;
|
|
|
|
D_menu_801CEA7C = 0.05f;
|
|
|
|
D_menu_801CEA80 = 0.05f;
|
|
|
|
D_menu_801CEA84 = 0.05f;
|
|
|
|
D_menu_801CEA94 = 0.0f;
|
|
|
|
D_menu_801CEA98 = 0;
|
|
|
|
D_menu_801CD95C = 10;
|
|
|
|
D_menu_801CD97C = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == PLANET_CORNERIA) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD95C = 5;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9D8 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
for (i = 0; i < 24; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[i].unk_18 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80178410 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80178348 = 255;
|
|
|
|
D_80178350 = 255;
|
|
|
|
D_80178354 = 255;
|
|
|
|
D_80178340 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEB3C = 0.0f;
|
|
|
|
D_menu_801CEB38 = 255;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948++;
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD95C == 0) {
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == PLANET_CORNERIA) {
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80178340 = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948 = 10;
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x0940A00BU, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-04 18:53:38 +03:00
|
|
|
} else {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x19003012U, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948++;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
} else {
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == PLANET_CORNERIA) {
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80178340 ^= 0xFF;
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD95C == 2) {
|
|
|
|
D_menu_801CEB34 = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD95C--;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
case 10:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEB34 == 4) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x19003012U, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948 = 2;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A2674();
|
|
|
|
if ((D_menu_801CD9FC == D_menu_801CDA50.z) && (D_menu_801CD9D8 == 0)) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x19004013U, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9D8 = 1;
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == PLANET_CORNERIA) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEB48[0] = 1;
|
2024-01-04 18:53:38 +03:00
|
|
|
for (i = 0; i < 10; i++) {
|
2024-01-29 00:27:23 +03:00
|
|
|
D_menu_801CEB58[0][i] = RAND_INT(3.0f);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEBD0[0][i] = 255;
|
|
|
|
D_menu_801CEC48[0][i] = 0.0f;
|
2024-01-29 00:27:23 +03:00
|
|
|
D_menu_801CECC0[0][i] = 0.5f + RAND_FLOAT(0.3f);
|
|
|
|
D_menu_801CEE28[0][i] = 1 + RAND_INT(4.0f);
|
|
|
|
D_menu_801CED38[0][i] = 110.0f + RAND_INT(30.0f);
|
|
|
|
D_menu_801CEDB0[0][i] = -10.0f + RAND_FLOAT(-60.0f);
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CDA34 == D_menu_801CDA50.x) && (D_menu_801CDA38 == D_menu_801CDA50.y) &&
|
|
|
|
(D_menu_801CD9FC == D_menu_801CDA50.z) && (D_menu_801CDA08 == D_menu_801CDA40.z)) {
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD964 = 1;
|
|
|
|
D_menu_801CD96C = 1;
|
2024-01-21 17:00:53 +03:00
|
|
|
// clang-format off
|
|
|
|
for (i = 0; i < 15; i++) {D_menu_801CD900[i] = 0;}
|
|
|
|
// clang-format on
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD970 = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (func_menu_801A2304()) {
|
|
|
|
D_menu_801CD948 = 3;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 20:
|
|
|
|
if (gControllerPress[gMainController].button & START_BUTTON) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948 = 21;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerHold[gMainController].button & R_TRIG) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9FC += 10.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerHold[gMainController].button & Z_TRIG) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9FC - 10.0f > D_menu_801CDA08) {
|
|
|
|
D_menu_801CD9FC -= 10.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 21:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD964 = 1;
|
|
|
|
D_menu_801CD96C = 1;
|
2024-01-21 17:00:53 +03:00
|
|
|
// clang-format off
|
|
|
|
for (i = 0; i < 15; i++) {D_menu_801CD900[i] = 0;}
|
|
|
|
// clang-format on
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD970 = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (func_menu_801A2304()) {
|
|
|
|
D_menu_801CD948 = 3;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948 = 0;
|
|
|
|
D_menu_801CD944 = 4;
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C4++;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
bool func_menu_801A2304(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 ret = false;
|
|
|
|
f32 sp28;
|
|
|
|
f32 sp24;
|
|
|
|
f32 sp20;
|
|
|
|
f32 temp_fv0;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD94C) {
|
2024-01-04 18:53:38 +03:00
|
|
|
case 0:
|
|
|
|
func_8001ACDC(3);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA78 += 2.9f;
|
|
|
|
D_menu_801CEA80 += 2.9f;
|
|
|
|
if (D_menu_801CEA78 > 5.5f) {
|
|
|
|
D_menu_801CEA78 = 5.5f;
|
|
|
|
D_menu_801CEA80 = 4.6f;
|
|
|
|
D_menu_801CD94C += 1;
|
|
|
|
D_menu_801CD9B8 = 0xD;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA78 -= 2.5f;
|
|
|
|
D_menu_801CEA98 += 0xA;
|
|
|
|
D_menu_801CEA80 -= 2.5f;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEA78 < 5.0f) {
|
|
|
|
D_menu_801CEA78 = 5.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEA80 < 3.9f) {
|
|
|
|
D_menu_801CEA80 = 3.9f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA7C += 2.5f;
|
|
|
|
D_menu_801CEA84 += 2.5f;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEA7C > 5.0f) {
|
|
|
|
D_menu_801CEA7C = 5.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEA84 > 3.9f) {
|
|
|
|
D_menu_801CEA84 = 3.9f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9B8 == 0) {
|
|
|
|
D_menu_801CEA98 = 0xFF;
|
|
|
|
D_menu_801CD94C = 0x64;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 100:
|
2024-01-14 07:30:21 +03:00
|
|
|
sp28 = Math_SmoothStepToF(&D_menu_801CEA88, -206.0f, 0.4f, 100.0f, 1.0f);
|
|
|
|
sp24 = Math_SmoothStepToF(&D_menu_801CEA8C, 51.0f, 0.4f, 100.0f, 1.0f);
|
|
|
|
sp20 = Math_SmoothStepToF(&D_menu_801CEA90, -627.0f, 0.4f, 100.0f, 1.0f);
|
|
|
|
temp_fv0 = Math_SmoothStepToF(&D_menu_801CEA94, 42.8f, 0.4f, 100.0f, 1.0f);
|
2024-01-04 18:53:38 +03:00
|
|
|
if ((sp28 == 0.0f) && (sp24 == 0.0f) && (sp20 == 0.0f) && (temp_fv0 == 0.0f)) {
|
|
|
|
ret = true;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
f32 func_menu_801A25C8(PlanetId planetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
f32 sp4;
|
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
switch (planetId) {
|
|
|
|
case PLANET_AREA_6:
|
2023-12-24 19:12:09 +03:00
|
|
|
sp4 = 900.0f;
|
|
|
|
break;
|
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
case PLANET_BOLSE:
|
2023-12-24 19:12:09 +03:00
|
|
|
sp4 = 800.0f;
|
|
|
|
break;
|
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
case PLANET_METEO:
|
2023-12-24 19:12:09 +03:00
|
|
|
sp4 = 650.0f;
|
|
|
|
break;
|
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
case PLANET_KATINA:
|
|
|
|
case PLANET_MACBETH:
|
|
|
|
case PLANET_ZONESS:
|
|
|
|
case PLANET_TITANIA:
|
|
|
|
case PLANET_AQUAS:
|
|
|
|
case PLANET_FORTUNA:
|
2023-12-24 19:12:09 +03:00
|
|
|
sp4 = 550.0f;
|
|
|
|
break;
|
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
case PLANET_CORNERIA:
|
2023-12-24 19:12:09 +03:00
|
|
|
sp4 = 1100.0f;
|
|
|
|
break;
|
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
case PLANET_VENOM:
|
2023-12-24 19:12:09 +03:00
|
|
|
sp4 = 2100.0f;
|
|
|
|
break;
|
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
case PLANET_SOLAR:
|
2023-12-24 19:12:09 +03:00
|
|
|
sp4 = 850.0f;
|
|
|
|
break;
|
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
case PLANET_SECTOR_Z:
|
|
|
|
case PLANET_SECTOR_X:
|
|
|
|
case PLANET_SECTOR_Y:
|
2023-12-24 19:12:09 +03:00
|
|
|
sp4 = 650.0f;
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
return sp4;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A2674(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 i;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A48C0(D_menu_801CEA64);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A4A38(D_menu_801CEA64);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA64 *= 1.03f;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
for (i = 0; i < 15; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD900[i] -= 16;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD900[i] < 0) {
|
|
|
|
D_menu_801CD900[i] = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (i == sCurrentPlanetId) {
|
2023-12-26 23:55:45 +03:00
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
planet[i].alpha -= 16;
|
|
|
|
|
|
|
|
if (planet[i].alpha < 0) {
|
|
|
|
planet[i].alpha = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 24; i++) {
|
|
|
|
if (D_80177BD8[i] == 0) {
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[i].unk_18 -= 16;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[i].unk_18 < 0) {
|
|
|
|
D_menu_801AFD18[i].unk_18 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == 2) {
|
2024-01-14 07:30:21 +03:00
|
|
|
Math_SmoothStepToF(&D_menu_801AFFF8, 20.0f, 0.05f, 100.0f, 0.1f);
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == 1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
Math_SmoothStepToF(&D_menu_801B0000, 15.0f, 0.05f, 100.0f, 0.1f);
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD970 -= 16;
|
|
|
|
if (D_menu_801CD970 < 0) {
|
|
|
|
D_menu_801CD970 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
func_800182F4(0x102D00FF);
|
|
|
|
func_800182F4(0x112D00FF);
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A281C(void) {
|
2024-01-02 01:55:06 +03:00
|
|
|
D_80178348 = 0;
|
|
|
|
D_80178350 = 0;
|
|
|
|
D_80178354 = 0;
|
|
|
|
D_80178340 = 255;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD988 = 5;
|
|
|
|
D_menu_801CEED8 = 0;
|
|
|
|
D_menu_801CEEDC = 0.0f;
|
|
|
|
D_menu_801CEEE0 = 0.04f;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEE8[0].x = D_menu_801CEEE8[1].x = D_menu_801CD9F4;
|
|
|
|
D_menu_801CEEE8[0].y = D_menu_801CEEE8[1].y = D_menu_801CD9F8;
|
|
|
|
D_menu_801CEEE8[0].z = D_menu_801CEEE8[1].z = D_menu_801CD9FC;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEF58[0].x = D_menu_801CEF58[1].x = D_menu_801CDA00;
|
|
|
|
D_menu_801CEF58[0].y = D_menu_801CEF58[1].y = D_menu_801CDA04;
|
|
|
|
D_menu_801CEF58[0].z = D_menu_801CEF58[1].z = D_menu_801CDA08;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEF58[5].x = D_menu_801CEF58[4].x = D_menu_801CEF58[3].x = D_menu_801CEF58[2].x =
|
2024-01-24 17:45:55 +03:00
|
|
|
planet[D_menu_801CD958].pos.x;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEF58[5].y = D_menu_801CEF58[4].y = D_menu_801CEF58[3].y = D_menu_801CEF58[2].y =
|
2024-01-24 17:45:55 +03:00
|
|
|
planet[D_menu_801CD958].pos.y;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEF58[5].z = D_menu_801CEF58[4].z = D_menu_801CEF58[3].z = D_menu_801CEF58[2].z =
|
2024-01-24 17:45:55 +03:00
|
|
|
planet[D_menu_801CD958].pos.z;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CDA0C = -46.5f;
|
|
|
|
D_menu_801CDA10 = 0.0f;
|
|
|
|
D_menu_801CDA14 = 500.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AD718(D_menu_801CEF58[2].x, D_menu_801CEF58[2].y, D_menu_801CEF58[2].z, &D_menu_801CEEE8[2].x,
|
|
|
|
&D_menu_801CEEE8[2].y, &D_menu_801CEEE8[2].z, D_menu_801CDA14, D_menu_801CDA0C, D_menu_801CDA10);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEE8[5].x = D_menu_801CEEE8[4].x = D_menu_801CEEE8[3].x = D_menu_801CEEE8[2].x;
|
|
|
|
D_menu_801CEEE8[5].y = D_menu_801CEEE8[4].y = D_menu_801CEEE8[3].y = D_menu_801CEEE8[2].y;
|
|
|
|
D_menu_801CEEE8[5].z = D_menu_801CEEE8[4].z = D_menu_801CEEE8[3].z = D_menu_801CEEE8[2].z;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-29 00:27:23 +03:00
|
|
|
D_menu_801CEF58[7].x = D_menu_801CEF58[6].x = -150.55215f;
|
|
|
|
D_menu_801CEF58[7].y = D_menu_801CEF58[6].y = -489.68f;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEF58[7].z = D_menu_801CEF58[6].z = 0.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CDA0C = -42.750008f;
|
|
|
|
D_menu_801CDA10 = -9.849999f;
|
|
|
|
D_menu_801CDA14 = 3375.000000f;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AD718(D_menu_801CEF58[6].x, D_menu_801CEF58[6].y, D_menu_801CEF58[6].z, &D_menu_801CEEE8[6].x,
|
|
|
|
&D_menu_801CEEE8[6].y, &D_menu_801CEEE8[6].z, D_menu_801CDA14, D_menu_801CDA0C, D_menu_801CDA10);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEE8[7].x = D_menu_801CEEE8[6].x;
|
|
|
|
D_menu_801CEEE8[7].y = D_menu_801CEEE8[6].y;
|
|
|
|
D_menu_801CEEE8[7].z = D_menu_801CEEE8[6].z;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEECC = func_menu_801A655C(sCurrentPlanetId, D_menu_801CD958);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD93C == 2) {
|
|
|
|
D_80177BD8[D_menu_801CEECC] = 5;
|
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_14 = 5;
|
2024-01-02 01:55:06 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_80177BD8[D_menu_801CEECC] = 2;
|
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_14 = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A2B8C(void) {
|
2024-01-02 01:55:06 +03:00
|
|
|
s32 i;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD94C) {
|
2024-01-02 01:55:06 +03:00
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A281C();
|
|
|
|
D_menu_801CD94C = 100;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 100:
|
|
|
|
if (D_80178340 != 0) {
|
|
|
|
D_80178340 -= 64;
|
|
|
|
if (D_80178340 < 0) {
|
|
|
|
D_80178340 = 0;
|
|
|
|
}
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C0 = 30;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD98C == 1) || (D_menu_801CD980 == 1)) {
|
2024-01-02 01:55:06 +03:00
|
|
|
D_80178348 = 255;
|
|
|
|
D_80178350 = 255;
|
|
|
|
D_80178354 = 255;
|
|
|
|
D_80178340 = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD984 = 0;
|
|
|
|
D_menu_801CD94C = 10;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C4 = 0;
|
|
|
|
D_menu_801CD94C = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 10:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 != 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD984 == 255) && (D_80178340 == 0)) {
|
|
|
|
D_menu_801CD980 = 0;
|
|
|
|
D_menu_801CD9C0 = 30;
|
|
|
|
D_menu_801CD94C = 20;
|
|
|
|
} else if (D_menu_801CD988 != 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
D_80178340 ^= 255;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD988--;
|
2024-01-02 01:55:06 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD988 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
if (D_80178340 != 0) {
|
|
|
|
D_80178340 -= 21;
|
|
|
|
if (D_80178340 < 0) {
|
|
|
|
D_80178340 = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD984 += 8;
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD984 > 255) {
|
2024-01-02 01:55:06 +03:00
|
|
|
D_80178340 = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD984 = 255;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 20:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 != 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD98C == 1) || (D_menu_801CD980 == 1)) {
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C4 = 0;
|
|
|
|
D_menu_801CD9C0 = 30;
|
|
|
|
D_menu_801CD94C = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 != 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A2EB8();
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 != 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 15; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD900[i] = 255;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C0 = 0;
|
|
|
|
D_menu_801CD94C++;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 != 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFC8 = 1;
|
|
|
|
D_menu_801CD97C = 1;
|
|
|
|
D_menu_801CD94C = 0;
|
|
|
|
D_menu_801CD944 = 3;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_800B6F50(D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04, D_menu_801CDA08);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C4++;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A2EB8(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 i;
|
|
|
|
s32 temp1;
|
|
|
|
s32 temp2;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C4 == 30) {
|
|
|
|
if (D_menu_801CD93C == 2) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x0900802AU, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-04 18:53:38 +03:00
|
|
|
} else {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x09000032U, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A3440(D_menu_801CEEE0);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C4 == 80) {
|
|
|
|
sCurrentPlanetId = D_menu_801CD958;
|
2024-01-12 20:11:40 +03:00
|
|
|
D_80177B90[gCurrentPlanet] = sCurrentPlanetId;
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A6368();
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C4 < 80) {
|
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_18 += 16;
|
|
|
|
if (D_menu_801AFD18[D_menu_801CEECC].unk_18 > 255) {
|
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_18 = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
planet[D_menu_801CD958].alpha += 16;
|
|
|
|
if ((D_menu_801CD958 == PLANET_SECTOR_Z) || (D_menu_801CD958 == PLANET_SECTOR_X) ||
|
|
|
|
(D_menu_801CD958 == PLANET_SECTOR_Y)) {
|
|
|
|
if (planet[D_menu_801CD958].alpha > 144) {
|
|
|
|
planet[D_menu_801CD958].alpha = 144;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
} else if (planet[D_menu_801CD958].alpha > 255) {
|
|
|
|
planet[D_menu_801CD958].alpha = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD970 += 16;
|
|
|
|
if (D_menu_801CD970 > 255) {
|
|
|
|
D_menu_801CD970 = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 24; i++) {
|
|
|
|
if (D_80177BD8[i] == 0) {
|
|
|
|
continue;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[i].unk_18 += 16;
|
|
|
|
if (D_menu_801AFD18[i].unk_18 > 255) {
|
|
|
|
D_menu_801AFD18[i].unk_18 = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#define PLANET_ID i
|
|
|
|
|
|
|
|
for (PLANET_ID = 0; PLANET_ID < PLANET_MAX; PLANET_ID++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((PLANET_ID == sCurrentPlanetId) || (PLANET_ID == D_menu_801CD958)) {
|
2024-01-04 18:53:38 +03:00
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
|
|
|
planet[PLANET_ID].alpha += 16;
|
|
|
|
|
|
|
|
if ((PLANET_ID == PLANET_SECTOR_Z) || (PLANET_ID == PLANET_SECTOR_X) || (PLANET_ID == PLANET_SECTOR_Y)) {
|
|
|
|
if (planet[PLANET_ID].alpha > 144) {
|
|
|
|
planet[PLANET_ID].alpha = 144;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
if (planet[PLANET_ID].alpha > 255) {
|
|
|
|
planet[PLANET_ID].alpha = 255;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
#undef PLANET_ID
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CEED8 == 4) && (D_menu_801CEEDC == 0.0f)) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x19000026U, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CEED8 == 5) && (D_menu_801CEEDC == 0.0f)) {
|
|
|
|
if (D_menu_801CD93C != 2) {
|
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_14 = 2;
|
|
|
|
D_menu_801CEEA0 = 0;
|
|
|
|
D_menu_801CEEA4 = 100;
|
|
|
|
D_menu_801CEEA8 = 255;
|
|
|
|
D_menu_801CEEAC = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEED8 == -1) {
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEED4 = -1;
|
|
|
|
if (planet[D_menu_801CD958].unk_2C != -1) {
|
|
|
|
temp1 = func_menu_801A655C(D_menu_801CD958, planet[D_menu_801CD958].unk_2C);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp1] = 1;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp1].unk_18 = 255;
|
|
|
|
D_menu_801CEED4 = temp1;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEED0 = -1;
|
|
|
|
if (planet[D_menu_801CD958].unk_30 != -1) {
|
|
|
|
temp2 = func_menu_801A655C(D_menu_801CD958, planet[D_menu_801CD958].unk_30);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp2] = 1;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp2].unk_18 = 255;
|
|
|
|
D_menu_801CEED0 = temp2;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C0 = 50;
|
|
|
|
D_menu_801CD94C++;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A3440(f32 arg0) {
|
2023-12-24 19:12:09 +03:00
|
|
|
Vec3f vec[2];
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEED8 != -1) {
|
|
|
|
func_menu_801A3550(vec, &D_menu_801CEEE8[D_menu_801CEED8], &D_menu_801CEF58[D_menu_801CEED8], D_menu_801CEEDC);
|
|
|
|
D_menu_801CD9F4 = vec[0].x;
|
|
|
|
D_menu_801CD9F8 = vec[0].y;
|
|
|
|
D_menu_801CD9FC = vec[0].z;
|
|
|
|
D_menu_801CDA00 = vec[1].x;
|
|
|
|
D_menu_801CDA04 = vec[1].y;
|
|
|
|
D_menu_801CDA08 = vec[1].z;
|
|
|
|
D_menu_801CEEDC += arg0;
|
|
|
|
|
|
|
|
if (D_menu_801CEEDC > 1.0f) {
|
|
|
|
D_menu_801CEED8++;
|
|
|
|
D_menu_801CEEDC = 0.0f;
|
|
|
|
if (D_menu_801CEED8 >= 6) {
|
|
|
|
D_menu_801CEED8 = -1;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A3550(Vec3f* arg0, Vec3f* arg1, Vec3f* arg2, f32 arg3) {
|
2023-12-26 23:55:45 +03:00
|
|
|
f32 temp_fa1;
|
|
|
|
f32 temp_fs0;
|
|
|
|
f32 temp_ft5;
|
|
|
|
|
|
|
|
temp_fa1 = 0.5f * ((1.0f - arg3) * (1.0f - arg3));
|
|
|
|
temp_fs0 = (-arg3 + 1.0f) * arg3 + 0.5f;
|
|
|
|
temp_ft5 = SQ(arg3) * 0.5f;
|
|
|
|
|
|
|
|
arg0->x = (temp_fa1 * arg1->x) + (temp_fs0 * (arg1 + 1)->x) + (temp_ft5 * (arg1 + 2)->x);
|
|
|
|
arg0->y = (temp_fa1 * arg1->y) + (temp_fs0 * (arg1 + 1)->y) + (temp_ft5 * (arg1 + 2)->y);
|
|
|
|
arg0->z = (temp_fa1 * arg1->z) + (temp_fs0 * (arg1 + 1)->z) + (temp_ft5 * (arg1 + 2)->z);
|
|
|
|
|
|
|
|
(arg0 + 1)->x = (temp_fa1 * arg2->x) + (temp_fs0 * (arg2 + 1)->x) + (temp_ft5 * (arg2 + 2)->x);
|
|
|
|
(arg0 + 1)->y = (temp_fa1 * arg2->y) + (temp_fs0 * (arg2 + 1)->y) + (temp_ft5 * (arg2 + 2)->y);
|
|
|
|
(arg0 + 1)->z = (temp_fa1 * arg2->z) + (temp_fs0 * (arg2 + 1)->z) + (temp_ft5 * (arg2 + 2)->z);
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A36A8(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 i;
|
|
|
|
f32 temp;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD948) {
|
2024-01-04 18:53:38 +03:00
|
|
|
case 0:
|
|
|
|
D_80178348 = 0;
|
|
|
|
D_80178350 = 0;
|
|
|
|
D_80178354 = 0;
|
|
|
|
D_80178340 = 0xFF;
|
|
|
|
|
|
|
|
for (i = 0; i < 8; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF020[i] = D_menu_801B69D4[i];
|
|
|
|
D_menu_801CF040[i] = D_menu_801B69F4[i];
|
|
|
|
D_menu_801CF060[i] = D_menu_801B6A14[i];
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF0C8 = D_menu_801B6A34[1];
|
|
|
|
D_menu_801CF0CC = D_menu_801B6A3C[1];
|
|
|
|
D_menu_801CF0D0 = D_menu_801B6A44[1];
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF120 = 0;
|
|
|
|
D_menu_801CEA9C = 255.0f;
|
|
|
|
D_menu_801CF080 = 1.0f;
|
|
|
|
D_menu_801CD948 = 10;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
func_8001D444(0, 0x28, 0, 0xFF);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 10:
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = Math_SmoothStepToF(&D_menu_801CEA9C, 0.0f, 1.0f, 100.0f, 1.0f);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_80178340 = D_menu_801CEA9C;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
if (temp == 0.0f) {
|
|
|
|
D_80178340 = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C0 = 0;
|
|
|
|
D_menu_801CD948 = 20;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 20:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 != 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD94C = 0;
|
|
|
|
D_menu_801CD9C0 = 0;
|
|
|
|
D_menu_801CD948 = 1;
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF120) {
|
|
|
|
D_menu_801CDA1C += 0.03f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A3A00();
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A4394();
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
D_80178340 += 32;
|
|
|
|
if (D_80178340 > 255) {
|
|
|
|
D_80178340 = 255;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948++;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
2024-01-14 04:09:13 +03:00
|
|
|
gGameState = GSTATE_MENU;
|
2024-01-04 18:53:38 +03:00
|
|
|
D_Timer_8017783C = 2;
|
2024-01-14 04:33:38 +03:00
|
|
|
gOptionMenuStatus = OPTION_WAIT;
|
2024-01-04 18:53:38 +03:00
|
|
|
gDrawMode = 0;
|
|
|
|
D_80178410 = 0;
|
|
|
|
break;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
if (gControllerPress[gMainController].button & (A_BUTTON | START_BUTTON)) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x49000003U, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD948 = 3;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A3A00(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 i;
|
|
|
|
bool boolTemp;
|
|
|
|
f32 temp1[8];
|
|
|
|
f32 temp2[8];
|
|
|
|
f32 temp3[8];
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD94C) {
|
2024-01-04 18:53:38 +03:00
|
|
|
case 0:
|
|
|
|
for (i = 0; i < 8; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (!D_menu_801CF120) {
|
|
|
|
D_menu_801CF0D8[i] = i * 4;
|
2024-01-04 18:53:38 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF0D8[i] = i * 3;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF088[i] = 0.0f;
|
|
|
|
D_menu_801CF0A8[i] = 0.0f;
|
|
|
|
D_menu_801CF0F8[i] = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD94C++;
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
for (i = 0; i < 8; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF0D8[i] != 0) {
|
|
|
|
D_menu_801CF0D8[i]--;
|
2024-01-04 18:53:38 +03:00
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
temp1[i] = Math_SmoothStepToF(&D_menu_801CF020[i], *(D_menu_801CF0C8 + i), 0.05f, 100.0f, 10.0f);
|
|
|
|
temp2[i] = Math_SmoothStepToF(&D_menu_801CF040[i], *(D_menu_801CF0CC + i), 0.05f, 100.0f, 10.0f);
|
|
|
|
temp3[i] = Math_SmoothStepToF(&D_menu_801CF060[i], *(D_menu_801CF0D0 + i), 0.1f, 100.0f, 0.1f);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
if (temp1[i] == 0.0f && temp2[i] == 0.0f && temp3[i] == 0.0f) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF088[i] = 0.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
if (temp3[i] == 0.0f) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF0F8[i] = 1;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF088[i] += 10.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
boolTemp = true;
|
|
|
|
for (i = 0; i < 8; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF0F8[i] == 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
boolTemp = false;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (boolTemp == true) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF118 = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
for (i = 0; i < 8; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF088[i] = 0.0f;
|
|
|
|
D_menu_801CF0D8[i] = i * 10;
|
|
|
|
D_menu_801CF0F8[i] = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C0 = 60;
|
|
|
|
D_menu_801CD9BC = 85;
|
|
|
|
D_menu_801CD94C = 11;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 11:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9BC) {
|
2024-01-04 18:53:38 +03:00
|
|
|
for (i = 0; i < 8; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
Math_SmoothStepToF(&D_menu_801CF088[i], 360.0f, 0.3f, 100.0f, 1.0f);
|
|
|
|
Math_SmoothStepToF(&D_menu_801CF0A8[i], 360.0f, 0.3f, 100.0f, 1.0f);
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD94C = 10;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 10:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (!D_menu_801CD9B8) {
|
|
|
|
if (!D_menu_801CF120) {
|
|
|
|
D_menu_801CEAA0 = 0.0f;
|
|
|
|
D_menu_801CD9B8 = 25;
|
|
|
|
D_menu_801CD94C = 3;
|
2024-01-04 18:53:38 +03:00
|
|
|
} else {
|
|
|
|
for (i = 0; i < 8; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF088[i] = 0.0f;
|
|
|
|
D_menu_801CF0A8[i] = 0.0f;
|
|
|
|
D_menu_801CF0F8[i] = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFCC = 0;
|
|
|
|
D_menu_801CF0D8[0] = 4;
|
|
|
|
D_menu_801CD94C = 2;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF0D8[0]) {
|
|
|
|
D_menu_801CF0D8[0]--;
|
2024-01-04 18:53:38 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFCC++;
|
|
|
|
if (D_menu_801CEFCC > 8) {
|
|
|
|
D_menu_801CEFCC = 8;
|
2024-01-04 18:53:38 +03:00
|
|
|
boolTemp = true;
|
|
|
|
|
|
|
|
for (i = 0; i < 8; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF0F8[i] == 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
boolTemp = false;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (boolTemp) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFCC = 0;
|
|
|
|
D_menu_801CF11C ^= 1;
|
|
|
|
D_menu_801CF0C8 = D_menu_801B6A34[D_menu_801CF11C];
|
|
|
|
D_menu_801CF0CC = D_menu_801B6A3C[D_menu_801CF11C];
|
|
|
|
D_menu_801CF0D0 = D_menu_801B6A44[D_menu_801CF11C];
|
|
|
|
|
|
|
|
D_menu_801CD9C0 = 15;
|
|
|
|
if (D_menu_801CF11C) {
|
|
|
|
D_menu_801CD9C0 = 240;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD94C = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF0D8[0] = 4;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
for (i = 0; i < D_menu_801CEFCC; i++) {
|
|
|
|
if (D_menu_801CF0F8[i] == 1) {
|
2024-01-04 18:53:38 +03:00
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF0A8[i] > 360.0f) {
|
|
|
|
D_menu_801CF0A8[i] = 0.0f;
|
|
|
|
D_menu_801CF0F8[i] = 1;
|
2024-01-04 18:53:38 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF0A8[i] += 10.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9B8 != 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 8; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF088[i] += 30.0f;
|
|
|
|
D_menu_801CF060[i] += -300.0f;
|
|
|
|
if (D_menu_801CF060[i] <= -120000.0f) {
|
|
|
|
D_menu_801CF060[i] = -12000.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF060[0] <= -11000.0f) {
|
|
|
|
D_menu_801CEAA0 += 32.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEAA0 > 255.0f) {
|
|
|
|
D_menu_801CEAA0 = 255.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
#define PLANET_ID i
|
|
|
|
for (PLANET_ID = 0; PLANET_ID < PLANET_MAX; PLANET_ID++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
planet[PLANET_ID].alpha = D_menu_801CEAA0;
|
|
|
|
D_menu_801CD970 = D_menu_801CEAA0;
|
2024-01-04 18:53:38 +03:00
|
|
|
if ((PLANET_ID == PLANET_SECTOR_Z) || (PLANET_ID == PLANET_SECTOR_X) ||
|
|
|
|
(PLANET_ID == PLANET_SECTOR_Y)) {
|
|
|
|
if (planet[PLANET_ID].alpha > 144) {
|
|
|
|
planet[PLANET_ID].alpha = 144;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
#undef PLANET_ID
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEAA0 == 255.0f) {
|
|
|
|
D_menu_801CF080 = 0.0f;
|
|
|
|
D_menu_801CD948 = 2;
|
|
|
|
D_menu_801CD94C = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A4394(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 i;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD94C) {
|
2023-12-26 23:55:45 +03:00
|
|
|
case 0:
|
2024-01-12 20:11:40 +03:00
|
|
|
if (gCurrentPlanet == 0) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C0 = 45;
|
|
|
|
D_menu_801CD94C = 3;
|
2023-12-26 23:55:45 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD94C++;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (gCurrentPlanet == D_menu_801CD9AC) {
|
|
|
|
D_menu_801CD94C = 3;
|
|
|
|
D_menu_801CD9C0 = 45;
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801AFD18[D_menu_801CD8E0[D_menu_801CD9AC]].unk_00 == 3) ||
|
|
|
|
(D_menu_801AFD18[D_menu_801CD8E0[D_menu_801CD9AC]].unk_00 == 4)) {
|
|
|
|
D_80177BD8[D_menu_801CD8E0[D_menu_801CD9AC]] = 5;
|
|
|
|
D_menu_801AFD18[D_menu_801CD8E0[D_menu_801CD9AC]].unk_14 = 5;
|
2023-12-26 23:55:45 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_80177BD8[D_menu_801CD8E0[D_menu_801CD9AC]] = 2;
|
|
|
|
D_menu_801AFD18[D_menu_801CD8E0[D_menu_801CD9AC]].unk_14 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[D_menu_801CD8E0[D_menu_801CD9AC]].unk_18 = 255;
|
|
|
|
D_menu_801CEEAC = 255;
|
|
|
|
D_menu_801CEEA8 = 255;
|
|
|
|
D_menu_801CD94C++;
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_80177BD8[D_menu_801CD8E0[D_menu_801CD9AC]] == 3) ||
|
|
|
|
(D_80177BD8[D_menu_801CD8E0[D_menu_801CD9AC]] == 6)) {
|
|
|
|
D_menu_801CD9AC++;
|
|
|
|
D_menu_801CD94C = 1;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 != 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 8; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF020[i] = D_menu_801B69D4[i];
|
|
|
|
D_menu_801CF040[i] = D_menu_801B69F4[i];
|
|
|
|
D_menu_801CF060[i] = D_menu_801B6A14[i];
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD978 = 1;
|
|
|
|
D_menu_801CF120 = 1;
|
|
|
|
D_menu_801CF11C = 1;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF0C8 = D_menu_801B6A34[1];
|
|
|
|
D_menu_801CF0CC = D_menu_801B6A3C[1];
|
|
|
|
D_menu_801CF0D0 = D_menu_801B6A44[1];
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF080 = 1.0f;
|
|
|
|
D_menu_801CD9C0 = 450;
|
|
|
|
D_menu_801CD94C = 0;
|
|
|
|
D_menu_801CD948 = 1;
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A4650(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 i;
|
2024-01-14 07:30:21 +03:00
|
|
|
static Gfx* D_menu_801B6A4C[] = {
|
2024-01-10 20:55:08 +03:00
|
|
|
D_9006AE0, D_90086F0, D_9005380, D_90075A0, D_9000570, D_9002EA0, D_90075A0, D_9004230,
|
2023-12-26 23:55:45 +03:00
|
|
|
};
|
|
|
|
|
|
|
|
Lights_SetOneLight(&gMasterDisp, 0, 0, 127, 28, 58, 105, 65, 70, 48);
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x17);
|
|
|
|
|
|
|
|
gSPTexture(gMasterDisp++, 2500, 200, 0, G_TX_RENDERTILE, G_ON);
|
|
|
|
gSPSetGeometryMode(gMasterDisp++, G_TEXTURE_GEN);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
|
|
|
Matrix_LookAt(gGfxMatrix, 0.0f, 0.0f, 500.0f, 0.0f, 0.0f, -500.0f, 0.0f, 1.0f, 0.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
for (i = 0; i < 8; i++) {
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801CF020[i], D_menu_801CF040[i], D_menu_801CF060[i], 1);
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801CF0A8[i], 1);
|
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * D_menu_801CF088[i], 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, D_menu_801CF080, D_menu_801CF080, D_menu_801CF080, 1);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-26 23:55:45 +03:00
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B6A4C[i]);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A48C0(f32 speed) {
|
2023-12-26 23:55:45 +03:00
|
|
|
f32 x;
|
|
|
|
f32 y;
|
|
|
|
f32 z;
|
|
|
|
f32 temp;
|
|
|
|
f32 angle;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Math_SmoothStepToF(&D_menu_801CDA34, D_menu_801CDA50.x, speed, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_menu_801CDA38, D_menu_801CDA50.y, speed, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_menu_801CD9FC, D_menu_801CDA50.z, speed, 100.0f, 0.1f);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
x = D_menu_801CDA50.x - D_menu_801CDA34;
|
|
|
|
y = D_menu_801CDA50.y - D_menu_801CDA38;
|
|
|
|
z = D_menu_801CDA50.z - D_menu_801CD9FC;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
temp = sqrtf(SQ(x) + SQ(y) + SQ(z));
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
angle = M_DTOR * ((1 - (temp / D_menu_801CEA68)) * 180.0f);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9F4 = D_menu_801CDA34 * (1 + __sinf(angle) * 1.1f);
|
|
|
|
D_menu_801CD9F8 = D_menu_801CDA38 * (1 + __sinf(angle) * 1.3f);
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A4A38(f32 arg0) {
|
|
|
|
Math_SmoothStepToF(&D_menu_801CDA2C, D_menu_801CDA40.x, arg0, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_menu_801CDA30, D_menu_801CDA40.y, arg0, 100.0f, 0.1f);
|
|
|
|
Math_SmoothStepToF(&D_menu_801CDA08, D_menu_801CDA40.z, arg0, 100.0f, 0.1f);
|
|
|
|
D_menu_801CDA00 = D_menu_801CDA2C;
|
|
|
|
D_menu_801CDA04 = D_menu_801CDA30;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A4AE8(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 var_a0;
|
|
|
|
s32 i;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD94C) {
|
2023-12-26 23:55:45 +03:00
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A4D7C();
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF000[D_menu_801CEFDC] == 0) {
|
|
|
|
if (D_menu_801CEFD0 != 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
if (gLifeCount[gPlayerNum] != 0) {
|
|
|
|
func_8001D520();
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9CC = 1;
|
|
|
|
D_menu_801CD9D0 = 0;
|
|
|
|
D_menu_801CD9B8 = 120;
|
2023-12-26 23:55:45 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9D4 = 1;
|
|
|
|
D_menu_801CD9B8 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
} else {
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9B8 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFC4 = 0;
|
|
|
|
D_menu_801CD94C = 2;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD9CC != 0) && (D_menu_801CD9B8 == 110)) {
|
2023-12-26 23:55:45 +03:00
|
|
|
gLifeCount[gPlayerNum]--;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9B8 == 0) {
|
|
|
|
D_menu_801CD9CC = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
var_a0 = D_menu_801CEFDC;
|
|
|
|
if (D_menu_801CD93C != 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
var_a0 += 2;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A4D0C(var_a0);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEFDC == 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
D_80177C58[i] = gTeamShields[i];
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFC8 = 0;
|
|
|
|
D_menu_801CD948 = 0;
|
|
|
|
D_menu_801CD944 = 2;
|
2023-12-26 23:55:45 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD944 = 3;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD94C = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A4D0C(u32 arg0) {
|
2023-12-24 19:12:09 +03:00
|
|
|
switch (arg0) {
|
|
|
|
case 1:
|
|
|
|
case 4:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9D4 != 0) {
|
|
|
|
func_menu_801A4F8C();
|
2023-12-24 19:12:09 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A4FC4();
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A53C8();
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
case 0:
|
|
|
|
case 2:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A4D7C(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
f32 temp;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (func_menu_801A5770() != 0) {
|
|
|
|
D_menu_801CEFE8[D_menu_801CEFDC] = 255.0f;
|
|
|
|
if (D_menu_801CD93C != 0) {
|
|
|
|
if (D_menu_801CEFD4 < 0) {
|
|
|
|
D_menu_801CEFDC++;
|
|
|
|
if (D_menu_801CEFDC >= 3) {
|
|
|
|
D_menu_801CEFDC = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFDC--;
|
|
|
|
if (D_menu_801CEFDC < 0) {
|
|
|
|
D_menu_801CEFDC = 2;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFDC ^= 1;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = Math_SmoothStepToF(&D_menu_801CEFE8[D_menu_801CEFDC], D_menu_801CEFE0, 0.5f, 100.0f, 1.0f);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
if (temp == 0.0f) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEFE0 == 32.0f) {
|
|
|
|
D_menu_801CEFE0 = 255.0f;
|
2023-12-26 23:55:45 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFE0 = 32.0f;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerPress[gMainController].button & (B_BUTTON | START_BUTTON)) {
|
|
|
|
func_8001D6DC(0);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFC4 = 0;
|
|
|
|
D_menu_801CD944 = 3;
|
2023-12-26 23:55:45 +03:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerPress[gMainController].button & A_BUTTON) {
|
|
|
|
func_8001D6DC(0);
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x49000003U, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF000[D_menu_801CEFDC] = 10;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (((D_menu_801CD93C != 0) && (D_menu_801CEFDC == 2)) || ((D_menu_801CD93C == 0) && (D_menu_801CEFDC == 1))) {
|
|
|
|
D_menu_801CEFD0 = 1;
|
|
|
|
D_menu_801CF00C = 10;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD94C = 1;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A4F8C(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
D_80178410 = 0;
|
2024-01-14 04:09:13 +03:00
|
|
|
gGameState = GSTATE_GAME_OVER;
|
2023-12-24 19:12:09 +03:00
|
|
|
D_80177868 = 0;
|
2023-12-24 22:28:35 +03:00
|
|
|
D_Timer_8017783C = 2;
|
|
|
|
gDrawMode = DRAWMODE_0;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A4FC4(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 i;
|
|
|
|
s32 temp;
|
|
|
|
s32 temp2;
|
|
|
|
|
|
|
|
gPlayerNum = 0;
|
|
|
|
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
gSavedTeamShields[i] = D_80177C58[i];
|
|
|
|
gTeamShields[i] = D_80177C58[i];
|
|
|
|
D_80177C38[i] = D_80177C58[i];
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 1; i < 4; i++) {
|
|
|
|
if (D_80177C38[i] == 0) {
|
|
|
|
D_80177C38[i] = 255;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
gLaserStrength[gPlayerNum] = 0;
|
|
|
|
gBombCount[gPlayerNum] = 3;
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planet[sCurrentPlanetId].unk_2C != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
temp2 = func_menu_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_2C);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp2] = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp2].unk_18 = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planet[sCurrentPlanetId].unk_30 != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = func_menu_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_30);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp] = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp].unk_18 = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planet[sCurrentPlanetId].unk_34 != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = func_menu_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_34);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp] = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp].unk_18 = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_14 = 0;
|
|
|
|
D_menu_801CEEA0 = 0;
|
|
|
|
D_menu_801CEEA4 = 0;
|
|
|
|
D_menu_801CEEA8 = 255;
|
|
|
|
D_menu_801CEEAC = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
gTotalHits -= D_80177B70[gCurrentPlanet - 1];
|
|
|
|
D_80177B90[gCurrentPlanet] = -1;
|
|
|
|
D_80177B70[gCurrentPlanet - 1] = 0;
|
|
|
|
D_80177BB0[gCurrentPlanet - 1] = 0;
|
|
|
|
D_80177B50[gCurrentPlanet - 1] = 0x00FFFFFF;
|
2024-01-04 18:53:38 +03:00
|
|
|
gHitCount = 0;
|
2024-01-12 20:11:40 +03:00
|
|
|
gCurrentPlanet--;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD83C = func_menu_801A05B4();
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
sCurrentPlanetId = D_menu_801CD950;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planet[sCurrentPlanetId].unk_2C != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
temp2 = func_menu_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_2C);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp2] = 1;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp2].unk_18 = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planet[sCurrentPlanetId].unk_30 != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = func_menu_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_30);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp] = 1;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp].unk_18 = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planet[sCurrentPlanetId].unk_34 != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = func_menu_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_34);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp] = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp].unk_18 = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A6368();
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A53C8(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 temp;
|
|
|
|
s32 temp2;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFD8 ^= 1;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planet[sCurrentPlanetId].unk_2C != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
temp2 = func_menu_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_2C);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp2] = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp2].unk_18 = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planet[sCurrentPlanetId].unk_30 != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = func_menu_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_30);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp] = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp].unk_18 = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_80177BD8[D_menu_801CEECC] = 0;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_18 = 0;
|
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_14 = 0;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
sCurrentPlanetId = D_menu_801CD950;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (!D_menu_801CEFD8) {
|
|
|
|
D_menu_801CD958 = planet[sCurrentPlanetId].unk_2C;
|
|
|
|
} else if (D_menu_801CD93C != 2) {
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planet[sCurrentPlanetId].unk_30 != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD958 = planet[sCurrentPlanetId].unk_30;
|
2024-01-04 18:53:38 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD958 = planet[sCurrentPlanetId].unk_2C;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2024-01-12 20:11:40 +03:00
|
|
|
} else if (planet[sCurrentPlanetId].unk_34 != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD958 = planet[sCurrentPlanetId].unk_34;
|
2024-01-04 18:53:38 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD958 = planet[sCurrentPlanetId].unk_2C;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEECC = func_menu_801A655C(sCurrentPlanetId, D_menu_801CD958);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_18 = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_80177BD8[D_menu_801CEECC] = 3;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_14 = 2;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801AFD18[D_menu_801CEECC].unk_00 == 3) || (D_menu_801AFD18[D_menu_801CEECC].unk_00 == 4)) {
|
|
|
|
D_80177BD8[D_menu_801CEECC] = 5;
|
|
|
|
D_menu_801AFD18[D_menu_801CEECC].unk_14 = 5;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEA0 = 0;
|
|
|
|
D_menu_801CEEA4 = 100;
|
|
|
|
D_menu_801CEEA8 = 255;
|
|
|
|
D_menu_801CEEAC = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
sCurrentPlanetId = D_menu_801CD958;
|
2024-01-12 20:11:40 +03:00
|
|
|
D_80177B90[gCurrentPlanet] = sCurrentPlanetId;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A6368();
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (planet[D_menu_801CD958].unk_2C != -1) {
|
|
|
|
temp2 = func_menu_801A655C(D_menu_801CD958, planet[D_menu_801CD958].unk_2C);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp2] = 1;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp2].unk_18 = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (planet[D_menu_801CD958].unk_30 != -1) {
|
|
|
|
temp = func_menu_801A655C(D_menu_801CD958, planet[D_menu_801CD958].unk_30);
|
2024-01-04 18:53:38 +03:00
|
|
|
D_80177BD8[temp] = 1;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFD18[temp].unk_18 = 255;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
bool func_menu_801A5770(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
bool ret = false;
|
2023-12-24 22:28:35 +03:00
|
|
|
s8 y = gControllerPress[gMainController].stick_y;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
if ((y > -40) && (y < 40)) {
|
|
|
|
y = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (y != 0) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEFD4 == 0) {
|
2023-12-24 19:12:09 +03:00
|
|
|
ret = true;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFD4 = y;
|
2023-12-24 19:12:09 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFD4 = 0;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (ret) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x49000002, D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A5834(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 i;
|
|
|
|
f32 x;
|
|
|
|
f32 y;
|
|
|
|
f32 z;
|
|
|
|
u8* texture;
|
|
|
|
s32 colorIndex;
|
|
|
|
s32 var_t0;
|
|
|
|
s32 mask;
|
|
|
|
s32 r[3];
|
|
|
|
s32 g[3];
|
|
|
|
s32 b[3];
|
2024-01-14 07:30:21 +03:00
|
|
|
static f32 D_menu_801B6A6C[] = { 3.05f, 4.15f };
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
x = 101.0f;
|
|
|
|
y = 92.0f;
|
|
|
|
z = 0.0f;
|
|
|
|
|
|
|
|
colorIndex = 0;
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
r[i] = 64;
|
|
|
|
g[i] = 64;
|
|
|
|
b[i] = 64;
|
2024-01-14 07:30:21 +03:00
|
|
|
if (i == D_menu_801CEFDC) {
|
2024-01-04 18:53:38 +03:00
|
|
|
r[i] = 255;
|
2024-01-14 07:30:21 +03:00
|
|
|
g[i] = D_menu_801CEFE8[i];
|
|
|
|
b[i] = D_menu_801CEFE8[i];
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
var_t0 = 1;
|
2024-01-14 07:30:21 +03:00
|
|
|
if (!D_menu_801CD93C) {
|
2024-01-04 18:53:38 +03:00
|
|
|
var_t0 = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gLifeCount[gPlayerNum]) {
|
|
|
|
texture = D_6001080;
|
|
|
|
} else {
|
|
|
|
texture = (u8*) D_6000000;
|
|
|
|
}
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 60, 60, 255, 170);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
TextureRect_8bIA(&gMasterDisp, D_601B4B0, 24, 17, x, y, 4.6f, D_menu_801B6A6C[var_t0]);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
mask = 0xFFFFFFFF;
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF000[colorIndex] != 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
mask = 0x00000001;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF000[colorIndex]--;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-04 18:53:38 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, r[colorIndex], g[colorIndex], b[colorIndex], 255);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_6000840, 96, 22, x + 11.0f, y + 3.0f, 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
z = 24.0f;
|
|
|
|
colorIndex++;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD93C != 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
mask = 0xFFFFFFFF;
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF000[colorIndex] != 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
mask = 0x00000001;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF000[colorIndex]--;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-04 18:53:38 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, r[colorIndex], g[colorIndex], b[colorIndex], 255);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_60018C0, 96, 10, x + 10.0f, y + z + 8.0f, 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
z += 18.0f;
|
|
|
|
colorIndex++;
|
|
|
|
}
|
|
|
|
|
|
|
|
mask = 0xFFFFFFFF;
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF000[colorIndex] != 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
mask = 0x00000001;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF000[colorIndex]--;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-04 18:53:38 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, r[colorIndex], g[colorIndex], b[colorIndex], 255);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, texture, 96, 22, x + 9.0f, y + z + 5.0f, 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A5C90(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 pad[3];
|
|
|
|
f32 scale;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9CC != 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
if (gLifeCount[gPlayerNum] < 10) {
|
|
|
|
scale = 0.13f;
|
|
|
|
} else {
|
|
|
|
scale = 0.18f;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CD9CC) {
|
2023-12-26 23:55:45 +03:00
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C0 = 2;
|
|
|
|
D_menu_801CD9CC = 2;
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2023-12-26 23:55:45 +03:00
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9C0 != 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
}
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD9D0 + 1) > 3) {
|
|
|
|
D_menu_801CD9D0 = 0;
|
|
|
|
D_menu_801CD9CC = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9D0++;
|
|
|
|
D_menu_801CD9CC = 1;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2023-12-26 23:55:45 +03:00
|
|
|
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);
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x35);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
|
|
|
Matrix_Translate(gGfxMatrix, 45.0f, 32.0f, 0.01f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, scale, scale, scale, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801AF824[D_menu_801CD9D0]);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A5E80(void) {
|
|
|
|
switch (D_menu_801B8280) {
|
2024-01-02 01:55:06 +03:00
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801B8284 = 0;
|
|
|
|
D_menu_801CD9A0 = 1;
|
|
|
|
func_menu_801A6368();
|
|
|
|
D_menu_801CD9A8 = func_menu_801A62FC(sCurrentPlanetId);
|
|
|
|
func_menu_801AB284();
|
|
|
|
D_menu_801B8280++;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((gControllerPress[gMainController].button & START_BUTTON) && !(D_menu_801CD9A8)) {
|
2024-01-02 01:55:06 +03:00
|
|
|
func_8001A838(0x4100001EU);
|
|
|
|
func_8001AE58();
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF018 = 0;
|
|
|
|
D_menu_801B8280 = 2;
|
|
|
|
D_menu_801CD9B8 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((gControllerPress[gMainController].button & A_BUTTON) && (D_menu_801CD9A0 == 0) && !(D_menu_801CD9A8)) {
|
2024-01-02 01:55:06 +03:00
|
|
|
func_8001AE58();
|
|
|
|
D_Timer_801782AC = 0;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((gControllerPress[gMainController].button & A_BUTTON) && (D_menu_801CD9A0 == 1) && !(D_menu_801CD9A8)) {
|
|
|
|
D_menu_801CD9A0 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF018 == 7) {
|
|
|
|
D_menu_801CD9B8 = 5;
|
|
|
|
D_menu_801B8280++;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9B8 != 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801B8284 < 120) {
|
|
|
|
D_menu_801B8284 += 15;
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == PLANET_CORNERIA) {
|
2024-01-14 07:30:21 +03:00
|
|
|
*D_menu_801CEB48 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9B8 = 5;
|
|
|
|
D_menu_801CF018 = 0;
|
|
|
|
D_menu_801B8280++;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9B8 == 0) {
|
|
|
|
D_menu_801CD9B8 = 5;
|
|
|
|
D_menu_801CD968 = 1;
|
|
|
|
D_menu_801B8280++;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9B8 == 0) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x49002016U, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9B8 = 75;
|
|
|
|
D_menu_801B8280++;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9B8 == 0) {
|
|
|
|
func_menu_801A61B4(gCurrentLevel);
|
|
|
|
D_menu_801B8280 = 0;
|
|
|
|
D_menu_801CD968 = 0;
|
|
|
|
func_menu_801A6628();
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A61B4(LevelId level) {
|
2023-12-26 23:55:45 +03:00
|
|
|
switch (level) {
|
|
|
|
case LEVEL_CORNERIA:
|
|
|
|
func_8001DC6C(0, 0);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_METEO:
|
|
|
|
func_8001DC6C(0, 1);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_TITANIA:
|
|
|
|
func_8001DC6C(0, 2);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_AQUAS:
|
|
|
|
func_8001DC6C(0, 12);
|
|
|
|
break;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
case LEVEL_BOLSE:
|
|
|
|
func_8001DC6C(0, 10);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_KATINA:
|
|
|
|
func_8001DC6C(0, 11);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_AREA_6:
|
|
|
|
func_8001DC6C(0, 5);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_Z:
|
|
|
|
func_8001DC6C(0, 13);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_FORTUNA:
|
|
|
|
func_8001DC6C(0, 8);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_X:
|
|
|
|
func_8001DC6C(0, 3);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_MACBETH:
|
|
|
|
func_8001DC6C(0, 14);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_ZONESS:
|
|
|
|
func_8001DC6C(0, 4);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_Y:
|
|
|
|
func_8001DC6C(0, 7);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SOLAR:
|
|
|
|
func_8001DC6C(0, 521);
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
bool func_menu_801A62FC(PlanetId planet) {
|
2023-12-24 19:12:09 +03:00
|
|
|
u32 planetSaveSlot;
|
|
|
|
s32 ret = true;
|
|
|
|
|
|
|
|
switch (planet) {
|
|
|
|
case PLANET_METEO:
|
|
|
|
case PLANET_AREA_6:
|
|
|
|
case PLANET_BOLSE:
|
|
|
|
case PLANET_SECTOR_Z:
|
|
|
|
case PLANET_SECTOR_X:
|
|
|
|
case PLANET_SECTOR_Y:
|
|
|
|
case PLANET_KATINA:
|
|
|
|
case PLANET_MACBETH:
|
|
|
|
case PLANET_ZONESS:
|
|
|
|
case PLANET_CORNERIA:
|
|
|
|
case PLANET_TITANIA:
|
|
|
|
case PLANET_AQUAS:
|
|
|
|
case PLANET_FORTUNA:
|
|
|
|
planetSaveSlot = planet;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case PLANET_SOLAR:
|
|
|
|
planetSaveSlot = SAVE_SLOT_SOLAR;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2023-12-24 22:28:35 +03:00
|
|
|
if (gSaveFile.save.data.planet[planetSaveSlot].played & 1) {
|
2023-12-24 19:12:09 +03:00
|
|
|
ret = false;
|
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A6368(void) {
|
2024-01-12 20:11:40 +03:00
|
|
|
switch (sCurrentPlanetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
case PLANET_CORNERIA:
|
|
|
|
gCurrentLevel = LEVEL_CORNERIA;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case PLANET_METEO:
|
|
|
|
gCurrentLevel = LEVEL_METEO;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case PLANET_TITANIA:
|
|
|
|
gCurrentLevel = LEVEL_TITANIA;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case PLANET_AQUAS:
|
|
|
|
gCurrentLevel = LEVEL_AQUAS;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case PLANET_BOLSE:
|
|
|
|
gCurrentLevel = LEVEL_BOLSE;
|
|
|
|
break;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
case PLANET_KATINA:
|
|
|
|
gCurrentLevel = LEVEL_KATINA;
|
|
|
|
break;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
case PLANET_AREA_6:
|
|
|
|
gCurrentLevel = LEVEL_AREA_6;
|
|
|
|
break;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
case PLANET_SECTOR_Z:
|
|
|
|
gCurrentLevel = LEVEL_SECTOR_Z;
|
|
|
|
break;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
case PLANET_FORTUNA:
|
|
|
|
gCurrentLevel = LEVEL_FORTUNA;
|
|
|
|
break;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
case PLANET_SECTOR_X:
|
|
|
|
gCurrentLevel = LEVEL_SECTOR_X;
|
|
|
|
break;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
case PLANET_MACBETH:
|
|
|
|
gCurrentLevel = LEVEL_MACBETH;
|
|
|
|
break;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
case PLANET_ZONESS:
|
|
|
|
gCurrentLevel = LEVEL_ZONESS;
|
|
|
|
break;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
case PLANET_SECTOR_Y:
|
|
|
|
gCurrentLevel = LEVEL_SECTOR_Y;
|
|
|
|
break;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
case PLANET_VENOM:
|
|
|
|
gCurrentLevel = LEVEL_VENOM_1;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case PLANET_SOLAR:
|
|
|
|
gCurrentLevel = LEVEL_SOLAR;
|
|
|
|
|
|
|
|
default:
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2023-12-26 23:55:45 +03:00
|
|
|
PlanetId GetPlanetId(LevelId level) {
|
2023-12-24 19:12:09 +03:00
|
|
|
PlanetId planet;
|
|
|
|
|
|
|
|
switch (level) {
|
|
|
|
case LEVEL_CORNERIA:
|
|
|
|
planet = PLANET_CORNERIA;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_METEO:
|
|
|
|
planet = PLANET_METEO;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_TITANIA:
|
|
|
|
planet = PLANET_TITANIA;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_AQUAS:
|
|
|
|
planet = PLANET_AQUAS;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_BOLSE:
|
|
|
|
planet = PLANET_BOLSE;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_KATINA:
|
|
|
|
planet = PLANET_KATINA;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_AREA_6:
|
|
|
|
planet = PLANET_AREA_6;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_Z:
|
|
|
|
planet = PLANET_SECTOR_Z;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_FORTUNA:
|
|
|
|
planet = PLANET_FORTUNA;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_X:
|
|
|
|
planet = PLANET_SECTOR_X;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_MACBETH:
|
|
|
|
planet = PLANET_MACBETH;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_ZONESS:
|
|
|
|
planet = PLANET_ZONESS;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_Y:
|
|
|
|
planet = PLANET_SECTOR_Y;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_VENOM_1:
|
2023-12-24 22:28:35 +03:00
|
|
|
case LEVEL_VENOM_ANDROSS:
|
2023-12-24 19:12:09 +03:00
|
|
|
case LEVEL_VENOM_2:
|
|
|
|
planet = PLANET_VENOM;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SOLAR:
|
|
|
|
planet = PLANET_SOLAR;
|
|
|
|
}
|
|
|
|
|
|
|
|
return planet;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
s32 func_menu_801A655C(s32 arg0, s32 arg1) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 i;
|
|
|
|
|
|
|
|
for (i = 0; i < 24; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801AFD18[i].unk_04 == arg0) && (D_menu_801AFD18[i].unk_08 == arg1)) {
|
2023-12-24 19:12:09 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
return i;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A659C(void) {
|
2023-12-24 22:28:35 +03:00
|
|
|
func_8001A838(0x1100004C);
|
|
|
|
func_8001A838(0x1100204C);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId != 9) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x49000003, D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFC8 = 0;
|
|
|
|
D_menu_801CD944 = 2;
|
|
|
|
D_menu_801CD948 = 0;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A6628(void) {
|
2024-01-14 04:09:13 +03:00
|
|
|
gGameState = GSTATE_PLAY;
|
2023-12-24 22:28:35 +03:00
|
|
|
D_Timer_8017783C = 2;
|
2023-12-24 19:12:09 +03:00
|
|
|
D_80177854 = 0;
|
2023-12-24 22:28:35 +03:00
|
|
|
gDrawMode = DRAWMODE_0;
|
2023-12-24 19:12:09 +03:00
|
|
|
gHitCount = 0;
|
|
|
|
|
|
|
|
func_800A5844();
|
|
|
|
|
|
|
|
D_80177CA0 = 0;
|
|
|
|
D_80177CB0 = 0.0f;
|
|
|
|
D_8017782C = 1;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A6694(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
PlanetId planetId;
|
2023-12-24 19:12:09 +03:00
|
|
|
Vec3f dest;
|
|
|
|
Vec3f src;
|
|
|
|
|
|
|
|
src.x = 0.0f;
|
|
|
|
src.y = 0.0f;
|
|
|
|
src.z = 0.0f;
|
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
for (planetId = 0; planetId < PLANET_MAX; planetId++) {
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * planet[planetId].unk_1C, 1);
|
|
|
|
Matrix_Translate(gGfxMatrix, planet[planetId].unk_04, planet[planetId].unk_08, 0.0f, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * -planet[planetId].unk_1C, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AD048();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(&D_menu_801CDA60[planetId], gGfxMatrix);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_MultVec3f(gGfxMatrix, &src, &dest);
|
|
|
|
|
2024-01-24 17:45:55 +03:00
|
|
|
planet[planetId].pos.x = dest.x;
|
|
|
|
planet[planetId].pos.y = dest.y;
|
|
|
|
planet[planetId].pos.z = dest.z;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_LookAt(gGfxMatrix, D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
|
|
|
|
D_menu_801CDA08, D_menu_801CDA20, D_menu_801CDA24, D_menu_801CDA28, 1);
|
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801CEA58, D_menu_801CEA5C, D_menu_801CEA60, 1);
|
|
|
|
Matrix_Mult(gGfxMatrix, &D_menu_801CDA60[planetId], 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_MultVec3f(gGfxMatrix, &src, &D_menu_801CE960[planetId]);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A68E4(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 i;
|
|
|
|
s32 j;
|
|
|
|
s32 var_a0;
|
|
|
|
|
|
|
|
for (i = 0; i < 14; i++) {
|
|
|
|
for (j = i; j < 15; j++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CE960[D_menu_801CD8A0[i]].z > D_menu_801CE960[D_menu_801CD8A0[j]].z) {
|
|
|
|
var_a0 = D_menu_801CD8A0[i];
|
|
|
|
D_menu_801CD8A0[i] = D_menu_801CD8A0[j];
|
|
|
|
D_menu_801CD8A0[j] = var_a0;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A6A24(void) {
|
|
|
|
switch (D_menu_801CD960) {
|
2023-12-24 19:12:09 +03:00
|
|
|
case 0:
|
|
|
|
if (D_80178340 != 0) {
|
|
|
|
D_80178340 -= 5;
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD960 = 255;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
case 1:
|
|
|
|
if (D_80178340 != 255) {
|
|
|
|
D_80178340 += 15;
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD960 = 255;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A6A98(PlanetId planetId) {
|
2024-01-02 01:55:06 +03:00
|
|
|
s32 mask;
|
|
|
|
s32 temp;
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if ((planet[planetId].alpha == 0) && (planetId != sCurrentPlanetId)) {
|
2024-01-02 01:55:06 +03:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((planetId == sCurrentPlanetId) && (D_menu_801CD944 == 2) && (D_menu_801CD95C != 0)) {
|
2024-01-02 01:55:06 +03:00
|
|
|
mask = 0x00000001;
|
|
|
|
} else {
|
|
|
|
mask = 0xFFFFFFFF;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = func_menu_801A6DAC(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A6EC0(planetId);
|
|
|
|
func_menu_801A7D3C(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-02 01:55:06 +03:00
|
|
|
if (planetId == PLANET_TITANIA) {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A791C(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((temp == 1) && (D_menu_801CE960[planetId].z > D_menu_801CEA18[planetId]) && (planetId != PLANET_AREA_6) &&
|
|
|
|
(planetId != PLANET_BOLSE)) {
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A7F1C(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A7230(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
if (planetId == PLANET_SOLAR) {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A74F4(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (planet[planetId].unk_28 == 4) {
|
|
|
|
if (planetId != PLANET_VENOM) {
|
|
|
|
|
|
|
|
if ((planetId != PLANET_AQUAS) && (planetId != PLANET_TITANIA)) {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A7684(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A77B0(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
if (planetId == PLANET_VENOM) {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A7BEC(&D_menu_801CEEBC, 0.1f, 3.1f);
|
|
|
|
func_menu_801A7BEC(&D_menu_801CEEC0, -0.1f, 2.9f);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (planetId == PLANET_TITANIA) {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A7A84(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((planetId == PLANET_CORNERIA) && D_menu_801CEB48[0]) {
|
|
|
|
func_menu_801A89BC(PLANET_CORNERIA, 0);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((planetId == PLANET_KATINA) && D_menu_801CEB48[1]) {
|
|
|
|
func_menu_801A89BC(PLANET_KATINA, 1);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((planetId == PLANET_SECTOR_Y) && D_menu_801CEB48[2]) {
|
|
|
|
func_menu_801A89BC(PLANET_SECTOR_Y, 2);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((temp == 1) && (D_menu_801CE960[planetId].z <= D_menu_801CEA18[planetId]) && (planetId != PLANET_AREA_6) &&
|
|
|
|
(planetId != PLANET_BOLSE)) {
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A7F1C(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if ((temp == 1) && ((planetId == PLANET_AREA_6) || (planetId == PLANET_BOLSE))) {
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A7F1C(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (temp == 2) {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A809C(planetId);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2024-01-02 01:55:06 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
s32 func_menu_801A6DAC(PlanetId planetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 ret;
|
|
|
|
s32 planetSaveSlot;
|
|
|
|
s32 var_v0;
|
|
|
|
s32 var_a0;
|
|
|
|
|
|
|
|
if (planetId == PLANET_VENOM) {
|
|
|
|
if (gExpertMode) {
|
2023-12-24 22:28:35 +03:00
|
|
|
var_v0 = gSaveFile.save.data.planet[SAVE_SLOT_VENOM_2].expertMedal & 1;
|
|
|
|
var_a0 = gSaveFile.save.data.planet[SAVE_SLOT_VENOM_1].expertClear & 1 |
|
|
|
|
gSaveFile.save.data.planet[SAVE_SLOT_VENOM_2].expertClear & 1;
|
2023-12-24 19:12:09 +03:00
|
|
|
} else {
|
2023-12-24 22:28:35 +03:00
|
|
|
var_v0 = gSaveFile.save.data.planet[SAVE_SLOT_VENOM_2].normalMedal & 1;
|
|
|
|
var_a0 = gSaveFile.save.data.planet[SAVE_SLOT_VENOM_1].normalClear & 1 |
|
|
|
|
gSaveFile.save.data.planet[SAVE_SLOT_VENOM_2].normalClear & 1;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
} else {
|
|
|
|
planetSaveSlot = planetId;
|
|
|
|
|
|
|
|
if (planetId == PLANET_SOLAR) {
|
|
|
|
planetSaveSlot = SAVE_SLOT_SOLAR;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gExpertMode) {
|
2023-12-24 22:28:35 +03:00
|
|
|
var_v0 = gSaveFile.save.data.planet[planetSaveSlot].expertMedal & 1;
|
|
|
|
var_a0 = gSaveFile.save.data.planet[planetSaveSlot].expertClear & 1;
|
2023-12-24 19:12:09 +03:00
|
|
|
} else {
|
2023-12-24 22:28:35 +03:00
|
|
|
var_v0 = gSaveFile.save.data.planet[planetSaveSlot].normalMedal & 1;
|
|
|
|
var_a0 = gSaveFile.save.data.planet[planetSaveSlot].normalClear & 1;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
ret = 0;
|
|
|
|
|
|
|
|
if (var_v0) {
|
|
|
|
ret = 2;
|
|
|
|
} else if (var_a0) {
|
|
|
|
ret = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
return ret;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A6EC0(PlanetId planetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
f32 dirX;
|
|
|
|
f32 dirY;
|
|
|
|
f32 dirZ;
|
|
|
|
Vec3f dst;
|
|
|
|
Vec3f src;
|
|
|
|
f32 x1;
|
|
|
|
f32 y1;
|
|
|
|
f32 x2;
|
|
|
|
f32 y2;
|
|
|
|
f32 z2;
|
|
|
|
|
|
|
|
src.x = 0.0f;
|
|
|
|
src.y = 0.0f;
|
|
|
|
src.z = 0.0f;
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Mult(gGfxMatrix, &D_menu_801CDA60[planetId], 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
if (planet[planetId].unk_28 == 2) {
|
|
|
|
if (planetId == 2) {
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * D_menu_801AFFF8, 1);
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801AFFF4, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * D_menu_801B0000, 1);
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801AFFFC, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * (planet[planetId].zAngle), 1);
|
|
|
|
|
|
|
|
Matrix_Scale(gGfxMatrix, planet[planetId].scale, planet[planetId].scale, planet[planetId].scale, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
if (planet[planetId].unk_28 == 2) {
|
2024-01-14 07:30:21 +03:00
|
|
|
x2 = D_menu_801CE960[14].x - D_menu_801CE960[planetId].x;
|
|
|
|
y2 = D_menu_801CE960[14].y - D_menu_801CE960[planetId].y;
|
|
|
|
z2 = D_menu_801CE960[14].z - D_menu_801CE960[planetId].z;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
x1 = Math_Atan2F(y2, sqrtf(SQ(x2) + SQ(z2)));
|
|
|
|
y1 = -Math_Atan2F(x2, z2);
|
|
|
|
|
|
|
|
src.x = 0.0f;
|
|
|
|
src.y = 0.0f;
|
|
|
|
src.z = 100.0f;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateY(gCalcMatrix, M_DTOR * (-D_menu_801CDA10 - y1), 0);
|
|
|
|
Matrix_RotateX(gCalcMatrix, M_DTOR * (-D_menu_801CDA0C - x1), 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_MultVec3f(gCalcMatrix, &src, &dst);
|
|
|
|
|
|
|
|
dirX = dst.x;
|
|
|
|
dirY = dst.y;
|
|
|
|
dirZ = dst.z;
|
|
|
|
Lights_SetOneLight(&gMasterDisp, dirX, dirY, dirZ, 80, 80, 60, 10, 10, 8);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(&D_menu_801CDE20[planetId], gGfxMatrix);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801AFFF4 += 0.1f;
|
|
|
|
D_menu_801AFFFC -= 0.09f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A7230(PlanetId planetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
switch (planet[planetId].unk_28) {
|
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD944 == 3 || planetId == sCurrentPlanetId || planetId == D_menu_801CD958) &&
|
|
|
|
D_menu_801CD944 != 1 && D_menu_801CD944 != 7) {
|
2023-12-24 19:12:09 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x35);
|
|
|
|
} else {
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x29);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, planet[planetId].alpha);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD944 == 3 || planetId == sCurrentPlanetId || planetId == D_menu_801CD958) &&
|
|
|
|
D_menu_801CD944 != 1 && D_menu_801CD944 != 7) {
|
2023-12-24 19:12:09 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x17);
|
|
|
|
} else {
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x2E);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, planet[planetId].alpha);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
case 4:
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x40);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, planet[planetId].alpha);
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 240, 0, 0, planet[planetId].alpha);
|
|
|
|
gDPSetEnvColor(gMasterDisp++, 31, 0, 0, 0);
|
|
|
|
|
|
|
|
planet[planetId].zAngle += 0.1f;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CDE20[planetId]);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[planet[planetId].id]);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A74F4(PlanetId planetId) {
|
|
|
|
static f32 D_menu_801B6A74 = 0.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 alpha = planet[13].alpha;
|
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
if (planet[planetId].alpha > 128) {
|
2023-12-24 19:12:09 +03:00
|
|
|
alpha = 128;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, alpha);
|
|
|
|
gDPSetEnvColor(gMasterDisp++, 0x1f, 0, 0, 0);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CDE20[planetId]);
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * D_menu_801B6A74, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Scale(gGfxMatrix, 0.8f, 0.8f, 0.8f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[planet[planetId].id]);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801B6A74 -= 0.2f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A7684(PlanetId planetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 r;
|
|
|
|
s32 g;
|
|
|
|
s32 b;
|
|
|
|
|
|
|
|
r = g = b = 255;
|
|
|
|
|
|
|
|
if (planetId == 7) {
|
|
|
|
r = g = b = 64;
|
|
|
|
}
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x40);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, r, g, b, planet[planetId].alpha);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CDE20[planetId]);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B4A40);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A77B0(PlanetId planetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x40);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, planet[planetId].alpha);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CDE20[planetId]);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
if ((planetId == 10) || (planetId == 7) || (planetId == 8)) {
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * 180.0f, 1);
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * planet[planetId].zAngle, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 1.6f, 1.6f, 1.6f, 1);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_605C230);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A791C(PlanetId planetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 175, 175, planet[planetId].alpha);
|
|
|
|
gDPSetEnvColor(gMasterDisp++, 73, 31, 15, 0);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CDE20[planetId]);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * -planet[planetId].zAngle, 1);
|
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * 20.0f, 1);
|
|
|
|
|
|
|
|
Matrix_Scale(gGfxMatrix, 3.0f, 3.0f, 3.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_604C540);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A7A84(PlanetId planetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
2023-12-26 23:55:45 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 175, 175, planet[planetId].alpha);
|
2024-01-04 18:53:38 +03:00
|
|
|
gDPSetEnvColor(gMasterDisp++, 73, 31, 15, 0);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CDE20[planetId]);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * -planet[planetId].zAngle, 1);
|
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * 20.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 3.0f, 3.0f, 3.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_604CDE0);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A7BEC(f32* zAngle, f32 next, f32 scale) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 alpha = planet[13].alpha;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
if (planet[13].alpha > 128) {
|
|
|
|
alpha = 128;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 63, 95, 30, alpha);
|
|
|
|
gDPSetEnvColor(gMasterDisp++, 0, 0, 0, 0);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CDE20[13]);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * (*zAngle), 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, scale, scale, scale, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_6047E70);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
|
|
|
*zAngle += next;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A7D3C(PlanetId planetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
Vec3f src;
|
|
|
|
Vec3f dest;
|
|
|
|
f32 scale;
|
|
|
|
|
|
|
|
src.x = 0.0f;
|
|
|
|
src.y = 0.0f;
|
|
|
|
src.z = 0.0f;
|
|
|
|
|
2024-01-29 00:27:23 +03:00
|
|
|
scale = 7.0f + RAND_FLOAT(8.0f);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Mult(gGfxMatrix, &D_menu_801CDA60[planetId], 1);
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801CEAF8[planetId], 1);
|
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801AFFB8[planetId], 0.0f, 0.0f, 1);
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * -D_menu_801CEAF8[planetId], 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(&D_menu_801CE5A0[planetId], gGfxMatrix);
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * D_menu_801CEAB8[planetId], 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Scale(gGfxMatrix, scale, scale, scale, 1);
|
|
|
|
Matrix_MultVec3f(gGfxMatrix, &src, &dest);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA18[planetId] = dest.z;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(&D_menu_801CE1E0[planetId], gGfxMatrix);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A7F1C(PlanetId planetId) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 alpha;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD980 != 1) {
|
|
|
|
alpha = D_menu_801CD900[planetId];
|
2023-12-24 19:12:09 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
alpha = D_menu_801CD984;
|
|
|
|
D_menu_801CD900[planetId] = 255;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (alpha != 0) {
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, alpha);
|
|
|
|
gDPSetEnvColor(gMasterDisp++, 80, 80, 0, 0);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CE1E0[planetId]);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_604D680);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAB8[planetId] += 45.0f;
|
|
|
|
if (D_menu_801CD980 == 0) {
|
|
|
|
D_menu_801CEAF8[planetId] += 5.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A809C(PlanetId planetId) {
|
|
|
|
static f32 D_menu_801B6A78 = 0.0f;
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 i;
|
|
|
|
s32 alpha;
|
|
|
|
f32 scale;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD98C != 1) {
|
|
|
|
alpha = D_menu_801CD900[planetId];
|
2023-12-26 23:55:45 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
alpha = D_menu_801CD984;
|
|
|
|
D_menu_801CD900[planetId] = 255;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (alpha == 0) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD98C == 1) {
|
|
|
|
switch (D_menu_801CD990) {
|
2023-12-26 23:55:45 +03:00
|
|
|
case 0:
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, alpha);
|
|
|
|
gDPSetEnvColor(gMasterDisp++, 80, 80, 0, 0);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CE1E0[planetId]);
|
2023-12-26 23:55:45 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, 0.0f, -30.0f, 0.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_604D680);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAB8[planetId] += 45.0f;
|
2023-12-26 23:55:45 +03:00
|
|
|
if (alpha == 255) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C8 = 15;
|
|
|
|
D_menu_801CD998 = 0;
|
|
|
|
D_menu_801CD994 = 255;
|
|
|
|
D_menu_801CD99C = 0.0f;
|
|
|
|
D_menu_801CD990++;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-29 00:27:23 +03:00
|
|
|
scale = 5.0f + RAND_FLOAT(4.0f);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Math_SmoothStepToF(&D_menu_801CD99C, 150.0f, 0.09f, 100.0f, 0.1f);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_menu_801CD994);
|
2023-12-26 23:55:45 +03:00
|
|
|
gDPSetEnvColor(gMasterDisp++, 80, 80, 0, 0);
|
|
|
|
|
|
|
|
for (i = 0; i < 8; i++) {
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CE5A0[planetId]);
|
2023-12-26 23:55:45 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, 0.0f, -30.0f, 0.0f, 1);
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * (i * -45.0f), 1);
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, 0.0f, D_menu_801CD99C, 0.0f, 1);
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * (D_menu_801B6A78), 1);
|
2023-12-26 23:55:45 +03:00
|
|
|
Matrix_Scale(gGfxMatrix, scale, scale, scale, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_604D680);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801B6A78 += 45.0f;
|
|
|
|
D_menu_801CD994 -= 16;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD994 <= 0) {
|
|
|
|
D_menu_801CD994 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x40);
|
|
|
|
|
|
|
|
gDPSetTextureFilter(gMasterDisp++, G_TF_POINT);
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_menu_801CD998);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CE5A0[planetId]);
|
2023-12-26 23:55:45 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, 0.0f, -30.0f, 0.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 3.0f, 3.0f, 3.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_601D1F0);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAF8[planetId] = -90.0f;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD998 += 8;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD998 == 8) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x49008030U, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD998 >= 255) {
|
|
|
|
D_menu_801CD998 = 255;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD998 == 255) {
|
|
|
|
if (!D_menu_801CD9C8) {
|
|
|
|
D_menu_801CD98C = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9C8--;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x40);
|
|
|
|
|
|
|
|
gDPSetTextureFilter(gMasterDisp++, G_TF_POINT);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, alpha);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CE5A0[planetId]);
|
2023-12-26 23:55:45 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, 0.0f, -30.0f, 0.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 3.0f, 3.0f, 3.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_601D1F0);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAF8[planetId] = -90.0f;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A8738(void) {
|
|
|
|
if (D_menu_801CEB34 >= 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-26 23:55:45 +03:00
|
|
|
gDPSetEnvColor(gMasterDisp++, 255, 0, 0, 0);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CEB34) {
|
2023-12-26 23:55:45 +03:00
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEB3C += 0.15f;
|
|
|
|
if (D_menu_801CEB3C >= 0.7f) {
|
|
|
|
D_menu_801CEB3C = 0.8f;
|
|
|
|
D_menu_801CEB34 = 2;
|
|
|
|
D_menu_801CEB40 = 2.0f;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEB40--;
|
|
|
|
if (D_menu_801CEB40 <= 0.0f) {
|
|
|
|
D_menu_801CEB34 = 3;
|
|
|
|
D_menu_801CEB3C = 0.7f;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEB38 -= 8;
|
|
|
|
D_menu_801CEB3C -= 0.001f;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEB38 < 0) {
|
|
|
|
D_menu_801CEB38 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEB38 == 0) {
|
|
|
|
D_menu_801CEB34 = 4;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 200, 200, D_menu_801CEB38);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-21 17:00:53 +03:00
|
|
|
Matrix_Copy(gGfxMatrix, &D_menu_801CDE20[9]);
|
2023-12-26 23:55:45 +03:00
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * -50.0f, 1);
|
|
|
|
Matrix_Translate(gGfxMatrix, 0.0f, 25.0f, 0.0f, 1);
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Scale(gGfxMatrix, D_menu_801CEB3C, D_menu_801CEB3C, D_menu_801CEB3C, 1);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_60479D0);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A89BC(PlanetId planetId, s32 arg1) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 i;
|
|
|
|
s32 temp2;
|
|
|
|
f32 temp;
|
|
|
|
|
|
|
|
if (planet[planetId].alpha == 0) {
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEB48[arg1] == 0) {
|
2024-01-04 18:53:38 +03:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
temp2 = 10;
|
|
|
|
if (planetId != PLANET_CORNERIA) {
|
|
|
|
temp2 = 5;
|
|
|
|
}
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
|
|
|
gDPSetEnvColor(gMasterDisp++, 255, 0, 0, 0);
|
|
|
|
|
|
|
|
for (i = 0; i < temp2; i++) {
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CEB58[arg1][i]) {
|
2024-01-04 18:53:38 +03:00
|
|
|
case 0:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEC48[arg1][i] += 0.1f;
|
|
|
|
if (D_menu_801CEC48[arg1][i] >= D_menu_801CECC0[arg1][i]) {
|
|
|
|
D_menu_801CEC48[arg1][i] = D_menu_801CECC0[arg1][i];
|
|
|
|
D_menu_801CEB58[arg1][i] = 1;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEE28[arg1][i]--;
|
|
|
|
if (D_menu_801CEE28[arg1][i] <= 0) {
|
|
|
|
D_menu_801CEB58[arg1][i] = 2;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEBD0[arg1][i] -= 48;
|
|
|
|
if (D_menu_801CEBD0[arg1][i] < 0) {
|
|
|
|
D_menu_801CEBD0[arg1][i] = 0;
|
|
|
|
D_menu_801CEB58[arg1][i] = 3;
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
2024-01-29 00:27:23 +03:00
|
|
|
D_menu_801CEB58[arg1][i] = RAND_INT(3.0f);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEBD0[arg1][i] = 255;
|
|
|
|
D_menu_801CEC48[arg1][i] = 0.0f;
|
2024-01-29 00:27:23 +03:00
|
|
|
D_menu_801CECC0[arg1][i] = 0.5f + RAND_FLOAT(0.3f);
|
|
|
|
D_menu_801CEE28[arg1][i] = 1 + RAND_INT(4.0f);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
temp = 110.0f;
|
|
|
|
if (arg1 == 1) {
|
|
|
|
temp = 50.0f;
|
|
|
|
}
|
|
|
|
|
2024-01-29 00:27:23 +03:00
|
|
|
D_menu_801CED38[arg1][i] = temp + RAND_INT(30.0f);
|
|
|
|
D_menu_801CEDB0[arg1][i] = -10.0f + RAND_FLOAT(-60.0f);
|
2024-01-04 18:53:38 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CECC0[arg1][i] == 0.0f) || (D_menu_801CEBD0[arg1][i] == 0)) {
|
2024-01-04 18:53:38 +03:00
|
|
|
continue;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 200, 200, D_menu_801CEBD0[arg1][i]);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Mult(gGfxMatrix, &D_menu_801CDA60[planetId], 1);
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * D_menu_801CEDB0[arg1][i], 1);
|
|
|
|
Matrix_Translate(gGfxMatrix, 0.0f, D_menu_801CED38[arg1][i], 0.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, D_menu_801CEC48[arg1][i], D_menu_801CEC48[arg1][i], D_menu_801CEC48[arg1][i], 1);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_60479D0);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A8F40(void) {
|
|
|
|
static f32 D_menu_801B6A7C = 0.0f;
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 temp;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD97C != 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
Lights_SetOneLight(&gMasterDisp, 0, 0, 127, 80, 80, 60, 50, 50, 50);
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x17);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = Math_SmoothStepToF(&D_menu_801CEAA8, D_menu_801CEAB0, 0.1f, 100.0f, 1.0f);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
if (temp == 0.0f) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEAB0 == D_menu_801CEAAC) {
|
|
|
|
D_menu_801CEAA8 = D_menu_801CEAAC + 50.0f;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Mult(gGfxMatrix, &D_menu_801CDA60[sCurrentPlanetId], 1);
|
|
|
|
Matrix_Translate(gGfxMatrix, 0.0f, D_menu_801CEAA8, 0.0f, 1);
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801B6A7C, 1);
|
2023-12-26 23:55:45 +03:00
|
|
|
Matrix_Scale(gGfxMatrix, 3.0f, 3.0f, 3.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_601DCF0);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801B6A7C += 6.0f;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A914C(void) {
|
|
|
|
D_menu_801CEAA8 = 140.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == 9) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAA8 = 230.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == 1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAA8 = 210.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == 0xE) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAA8 = 250.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == 4) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAA8 = 150.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == 5) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAA8 = 150.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == 3) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAA8 = 150.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if (sCurrentPlanetId == 0xD) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAA8 = 300.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAAC = D_menu_801CEAA8;
|
|
|
|
D_menu_801CEAB0 = D_menu_801CEAA8;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A9224(void) {
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 i;
|
|
|
|
s32 mask;
|
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if ((planet[PLANET_METEO].alpha != 0) || (sCurrentPlanetId == 0)) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((sCurrentPlanetId == 0) && (D_menu_801CD944 == 2) && (D_menu_801CD95C != 0)) {
|
2023-12-26 23:55:45 +03:00
|
|
|
mask = 0x00000001;
|
|
|
|
} else {
|
|
|
|
mask = 0xFFFFFFFF;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD944 == 3) || ((sCurrentPlanetId == 0) && (D_menu_801CD944 != 7))) {
|
2023-12-26 23:55:45 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x35);
|
|
|
|
} else {
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x40);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, planet[PLANET_METEO].alpha);
|
|
|
|
}
|
|
|
|
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2023-12-26 23:55:45 +03:00
|
|
|
for (i = 0; i < 42; i++) {
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801AFA38[i].angle, 1);
|
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801AFA38[i].x, D_menu_801AFA38[i].y, 0.0f, 1);
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * -D_menu_801AFA38[i].angle, 1);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AD048();
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Scale(gGfxMatrix, D_menu_801AFA38[i].scale, D_menu_801AFA38[i].scale, D_menu_801AFA38[i].scale,
|
|
|
|
1);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[0]);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A9448(void) {
|
2024-01-04 18:53:38 +03:00
|
|
|
Vec3f src;
|
|
|
|
Vec3f dest;
|
|
|
|
f32 x1;
|
|
|
|
f32 y1;
|
|
|
|
f32 x;
|
|
|
|
f32 y;
|
|
|
|
f32 z;
|
|
|
|
s32 i;
|
|
|
|
s32 mask;
|
2024-01-14 07:30:21 +03:00
|
|
|
static f32 D_menu_801B6A80 = -22.0f;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-12 20:11:40 +03:00
|
|
|
if ((planet[PLANET_AREA_6].alpha == 0) && (sCurrentPlanetId != PLANET_AREA_6)) {
|
2024-01-04 18:53:38 +03:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((sCurrentPlanetId == PLANET_AREA_6) && (D_menu_801CD944 == 2) && (D_menu_801CD95C != 0)) {
|
2024-01-04 18:53:38 +03:00
|
|
|
mask = 0x00000001;
|
|
|
|
} else {
|
|
|
|
mask = 0xFFFFFFFF;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CD944 == 3) || (sCurrentPlanetId == PLANET_AREA_6)) {
|
2024-01-04 18:53:38 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x17);
|
|
|
|
} else {
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x2E);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, planet[PLANET_AREA_6].alpha);
|
|
|
|
}
|
|
|
|
|
|
|
|
dest.x = 0.0f;
|
|
|
|
dest.y = 0.0f;
|
|
|
|
dest.z = 0.0f;
|
|
|
|
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-04 18:53:38 +03:00
|
|
|
for (i = 0; i < 4; i++) {
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801AFCD8[i].angle, 1);
|
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801AFCD8[i].x, D_menu_801AFCD8[i].y, 0.0f, 1);
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * -(D_menu_801AFCD8[i].angle), 1);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AD048();
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801B6A80, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, D_menu_801AFCD8[i].scale, D_menu_801AFCD8[i].scale, D_menu_801AFCD8[i].scale, 1);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
Matrix_MultVec3f(gGfxMatrix, &dest, &src);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
x = D_menu_801CE960[PLANET_SOLAR].x - src.x;
|
|
|
|
y = D_menu_801CE960[PLANET_SOLAR].y - src.y;
|
|
|
|
z = D_menu_801CE960[PLANET_SOLAR].z - src.z;
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
x1 = Math_Atan2F(y, sqrtf(SQ(x) + SQ(z)));
|
|
|
|
y1 = -Math_Atan2F(x, z);
|
|
|
|
|
|
|
|
dest.x = 0.0f;
|
|
|
|
dest.y = 0.0f;
|
|
|
|
dest.z = 100.0f;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateY(gCalcMatrix, M_DTOR * (-D_menu_801CDA10 - y1), 0);
|
|
|
|
Matrix_RotateX(gCalcMatrix, M_DTOR * (-D_menu_801CDA0C - x1), 1);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
Matrix_MultVec3f(gCalcMatrix, &dest, &src);
|
|
|
|
Lights_SetOneLight(&gMasterDisp, src.x, src.y, src.z, 80, 80, 60, 0, 0, 0);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_601E9A0);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A9814(void) {
|
|
|
|
if (D_menu_801B8280 != 0) {
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Push(&gGfxMatrix);
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_LookAt(gGfxMatrix, D_menu_801CD9F4, D_menu_801CD9F8, D_menu_801CD9FC, D_menu_801CDA00, D_menu_801CDA04,
|
|
|
|
D_menu_801CDA08, D_menu_801CDA20, D_menu_801CDA24, D_menu_801CDA28, 1);
|
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801CEA58, D_menu_801CEA5C, D_menu_801CEA60, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
2024-01-14 07:30:21 +03:00
|
|
|
func_80084688(2, D_menu_801B8284);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A9910(void) {
|
|
|
|
static s32 D_menu_801B6A84[] = { 1, 13, 12, 11, 6, 2, 4, 10, 8, 0, 9, 5, 3, 7, 7 };
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 i;
|
2024-01-14 07:30:21 +03:00
|
|
|
s32 var_s0 = D_menu_801B6A84[sCurrentPlanetId];
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, (s32) D_menu_801CEA6C);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
for (i = 0; i < D_menu_801AF834[var_s0].height; i++) {
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_menu_801AF834[var_s0].addr + (D_menu_801AF834[var_s0].width * i),
|
2024-01-24 17:45:55 +03:00
|
|
|
D_menu_801AF834[var_s0].width, 1, D_menu_801AF834[var_s0].xPos, 20.0f + (1.0f * i), 1.0f,
|
2023-12-26 23:55:45 +03:00
|
|
|
1.0f);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Math_SmoothStepToF(&D_menu_801CEA6C, 255.0f, D_menu_801CEA70, 10.0f, 1.0f);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA70 *= 1.08;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A9A8C(void) {
|
2024-01-02 01:55:06 +03:00
|
|
|
s32 i;
|
|
|
|
s32 sp58;
|
|
|
|
u8* sp54;
|
2024-01-14 07:30:21 +03:00
|
|
|
static f32 D_menu_801B6AC0[2] = { 91.0f, 207.0f };
|
|
|
|
static f32 D_menu_801B6AC8[2] = { 61.0f, 61.0f };
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
switch (gCurrentLevel) {
|
|
|
|
case LEVEL_CORNERIA:
|
|
|
|
sp54 = D_500A050;
|
|
|
|
sp58 = 0;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_METEO:
|
|
|
|
sp54 = D_500A140;
|
|
|
|
sp58 = 1;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_Y:
|
|
|
|
sp54 = D_500A140;
|
|
|
|
sp58 = 2;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_FORTUNA:
|
|
|
|
sp54 = D_500A230;
|
|
|
|
sp58 = 3;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_KATINA:
|
|
|
|
sp54 = D_500A230;
|
|
|
|
sp58 = 4;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_AQUAS:
|
|
|
|
sp54 = D_500A230;
|
|
|
|
sp58 = 5;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_X:
|
|
|
|
sp54 = D_500A320;
|
|
|
|
sp58 = 6;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SOLAR:
|
|
|
|
sp54 = D_500A320;
|
|
|
|
sp58 = 7;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_ZONESS:
|
|
|
|
sp54 = D_500A320;
|
|
|
|
sp58 = 8;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_TITANIA:
|
|
|
|
sp54 = D_500A410;
|
|
|
|
sp58 = 9;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_MACBETH:
|
|
|
|
sp54 = D_500A410;
|
|
|
|
sp58 = 10;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_SECTOR_Z:
|
|
|
|
sp54 = D_500A410;
|
|
|
|
sp58 = 11;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_BOLSE:
|
|
|
|
sp54 = D_500A500;
|
|
|
|
sp58 = 12;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case LEVEL_AREA_6:
|
|
|
|
sp54 = D_500A500;
|
|
|
|
sp58 = 13;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
TextureRect_8bIA(&gMasterDisp, &D_5000500, 112, 19, D_menu_801B6AC0[0], D_menu_801B6AC8[0], 1.0f, 1.0f);
|
|
|
|
TextureRect_8bIA(&gMasterDisp, sp54, 16, 15, D_menu_801B6AC0[1], D_menu_801B6AC8[1], 1.0f, 1.0f);
|
2024-01-02 01:55:06 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
for (i = 0; i < D_menu_801AF834[sp58].height; i++) {
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_menu_801AF834[sp58].addr + (D_menu_801AF834[sp58].width * i),
|
2024-01-24 17:45:55 +03:00
|
|
|
D_menu_801AF834[sp58].width, 1, D_menu_801AF834[sp58].xPos, 94.0f + (1.0f * i), 1.0f, 1.0f);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
for (i = 0; i < D_menu_801AF914[sp58].height; i++) {
|
|
|
|
TextureRect_8bIA(&gMasterDisp, D_menu_801AF914[sp58].addr + (D_menu_801AF914[sp58].width * i),
|
2024-01-24 17:45:55 +03:00
|
|
|
D_menu_801AF914[sp58].width, 1, D_menu_801AF914[sp58].xPos, 140.0f + (1.0f * i), 1.0f, 1.0f);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A9DE8(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 mask;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (!((D_menu_801CD978 != 0) || (D_menu_801CD944 == 3) || (D_menu_801CD944 == 6) ||
|
|
|
|
((D_menu_801CD944 == 7) && (D_menu_801CD948 == 2)))) {
|
2023-12-24 19:12:09 +03:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
mask = 0xFFFFFFFF;
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF00C != 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
mask = 0x00000001;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF00C--;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AD7EC(254, 16, gLifeCount[gPlayerNum]);
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if ((D_80161A34 == 7) || (D_80161A34 == 5)) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD83C < gTotalHits) {
|
|
|
|
D_menu_801CD83C = gTotalHits;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A9EE4();
|
|
|
|
func_menu_801A9FD4(0);
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A9EE4(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
|
|
|
|
|
|
|
Graphics_DisplaySmallText(24, 14, 1.0f, 1.0f, "TOTAL HITS");
|
2024-01-04 18:53:38 +03:00
|
|
|
Graphics_DisplaySmallNumber(71 - (func_8008BCBC(gTotalHits) * 8), 24, gTotalHits);
|
2023-12-24 19:12:09 +03:00
|
|
|
Graphics_DisplaySmallText(143, 14, 1.0f, 1.0f, "TOP");
|
2024-01-14 07:30:21 +03:00
|
|
|
Graphics_DisplaySmallNumber(167 - (func_8008BCBC(D_menu_801CD83C) * 8), 24, D_menu_801CD83C);
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801A9FD4(s32 arg0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
s32 i;
|
|
|
|
s32 var_s3;
|
|
|
|
f32 var_fs0, var_fs1;
|
|
|
|
s32 pad[2];
|
|
|
|
f32 temp = 16.0f;
|
|
|
|
|
|
|
|
if (arg0) {
|
2024-01-12 20:11:40 +03:00
|
|
|
var_s3 = gCurrentPlanet;
|
2023-12-26 23:55:45 +03:00
|
|
|
} else {
|
|
|
|
if ((D_80161A34 == 7) || (D_80161A34 == 8)) {
|
2024-01-12 20:11:40 +03:00
|
|
|
var_s3 = gCurrentPlanet;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
if (D_80161A34 == 5) {
|
2024-01-14 07:30:21 +03:00
|
|
|
var_s3 = D_menu_801CD9AC;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AA1CC(var_s3);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
if ((D_80161A34 == 7) || (D_80161A34 == 8)) {
|
|
|
|
var_s3 = 7;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_80161A34 == 5) {
|
|
|
|
var_s3++;
|
|
|
|
}
|
|
|
|
|
|
|
|
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 = 0.0f, var_fs1 = -41.5f, i = 0; i < var_s3; i++, var_fs0 += 24.0f + temp, var_fs1 += 13.8f) {
|
|
|
|
if (D_80177B90[i] != -1) {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AA434(i, 28.0f + var_fs0, 182.0f, D_80177B90[i]);
|
|
|
|
func_menu_801AA778(i, var_fs1, -25.4f, D_80177B90[i]);
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AA1CC(s32 arg0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
s32 i;
|
|
|
|
f32 x;
|
|
|
|
s32 r;
|
|
|
|
s32 g;
|
|
|
|
s32 b;
|
|
|
|
s32 temp;
|
|
|
|
f32 y = 182.0f;
|
|
|
|
f32 x2 = 16.0f;
|
|
|
|
s32* ptr = &D_80177B90[0];
|
|
|
|
|
|
|
|
for (x = 0.0f, i = 0; i < 7; i++, x += 24.0f + x2, ptr++) {
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
|
|
|
|
if (i < 6) {
|
|
|
|
r = g = b = 255;
|
|
|
|
if (i < arg0) {
|
2024-01-14 07:30:21 +03:00
|
|
|
temp = func_menu_801A655C(*ptr, *(ptr + 1));
|
|
|
|
switch (D_menu_801AFD18[temp].unk_00) {
|
2024-01-02 01:55:06 +03:00
|
|
|
case 0:
|
|
|
|
r = 16;
|
|
|
|
g = 64;
|
|
|
|
b = 255;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
case 3:
|
|
|
|
r = 255;
|
|
|
|
g = 175;
|
|
|
|
b = 0;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
case 4:
|
|
|
|
g = b = 0;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, r, g, b, 255);
|
|
|
|
} else {
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
}
|
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_60447A0, 8, 8, 28.0f + x + 24.0f, y + 11.0f, 2.0f, 0.2f);
|
|
|
|
}
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_6047550, 24, 24, 28.0f + x, y, 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AA434(s32 arg0, f32 x, f32 y, s32 idx) {
|
2024-01-02 01:55:06 +03:00
|
|
|
s32 i;
|
|
|
|
f32 x2;
|
|
|
|
s32 pad;
|
|
|
|
s32 mask;
|
|
|
|
s32 temp;
|
2024-01-14 07:30:21 +03:00
|
|
|
static char* D_menu_801B6AD0[] = { "P", "S", "F" };
|
|
|
|
static s32 D_menu_801B6ADC[] = { 255, 0, 30 };
|
|
|
|
static s32 D_menu_801B6AE8[] = { 30, 179, 30 };
|
|
|
|
static s32 D_menu_801B6AF4[] = { 0, 67, 255 };
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
Graphics_DisplaySmallText(x + 12.0f - Graphics_GetSmallTextWidth(sPlanetNames[idx]) * 0.5f, y - 8.0f, 1.0f, 1.0f,
|
|
|
|
sPlanetNames[idx]);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-02 01:55:06 +03:00
|
|
|
Graphics_DisplaySmallNumber(x + 15.0f - ((func_8008BCBC(D_80177B70[arg0]) - 1) * 8), y + 24.0f + 1.0f,
|
|
|
|
D_80177B70[arg0]);
|
|
|
|
|
|
|
|
if (D_80161A34 == 7) {
|
2024-01-12 20:11:40 +03:00
|
|
|
temp = gCurrentPlanet;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
if ((D_80161A34 == 5) || (D_80161A34 == 8)) {
|
2024-01-12 20:11:40 +03:00
|
|
|
temp = gCurrentPlanet + 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (arg0 < temp) {
|
|
|
|
mask = 0x00FF0000;
|
|
|
|
x2 = 0.0f;
|
|
|
|
for (i = 0; i < 3; i++, x2 += 9.0f) {
|
|
|
|
if ((D_80177B50[arg0] & mask)) {
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, D_menu_801B6ADC[i], D_menu_801B6AE8[i], D_menu_801B6AF4[i], 255);
|
2024-01-02 01:55:06 +03:00
|
|
|
Graphics_DisplaySmallText((s32) x + x2 - 1.0f, (s32) y + 24.0f + 8.0f + 2.0f, 1.0f, 1.0f,
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801B6AD0[i]);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
mask >>= 8;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AA778(s32 arg0, f32 x, f32 y, PlanetId planetId) {
|
2024-01-04 18:53:38 +03:00
|
|
|
s32 mask = 0xFFFFFFFF;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-04 18:53:38 +03:00
|
|
|
if (gGameState == GSTATE_MAP) {
|
2024-01-12 20:11:40 +03:00
|
|
|
if (planetId == sCurrentPlanetId) {
|
2024-01-04 18:53:38 +03:00
|
|
|
mask = 0x00000010;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
switch (planetId) {
|
|
|
|
case PLANET_SOLAR:
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-04 18:53:38 +03:00
|
|
|
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 * (planet[planetId].zAngle), 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.11f, 0.11f, 0.11f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[planet[planetId].id]);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
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);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[planet[planetId].id]);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case PLANET_METEO:
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-04 18:53:38 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x3E);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
|
|
|
Matrix_Translate(gGfxMatrix, x - 0.4f, y + 0.9f, 0.0f, 1);
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * planet[planetId].zAngle, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.1f, 0.1f, 0.1f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[planet[planetId].id]);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
Matrix_Translate(gGfxMatrix, 18.0f, -20.0f, 0.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[planet[planetId].id]);
|
2024-01-04 18:53:38 +03:00
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case PLANET_SECTOR_X:
|
|
|
|
case PLANET_SECTOR_Y:
|
|
|
|
case PLANET_SECTOR_Z:
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-04 18:53:38 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x3E);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 144);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
|
|
|
Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1);
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * planet[planetId].zAngle, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.09f, 0.09f, 0.09f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[planet[planetId].id]);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case PLANET_BOLSE:
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-04 18:53:38 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x17);
|
|
|
|
|
|
|
|
Lights_SetOneLight(&gMasterDisp, 0, 0, 100, 50, 50, 40, 100, 100, 100);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
|
|
|
Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1);
|
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * 20.0f, 1);
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801AFFF4, 1);
|
2024-01-04 18:53:38 +03:00
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * planet[planetId].zAngle, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.004f, 0.004f, 0.004f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[planet[planetId].id]);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case PLANET_AREA_6:
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-04 18:53:38 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x17);
|
|
|
|
|
|
|
|
Lights_SetOneLight(&gMasterDisp, 0, 0, 100, 50, 50, 40, 100, 100, 100);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
|
|
|
Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1);
|
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * 20.0f, 1);
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801AFFFC, 1);
|
2024-01-04 18:53:38 +03:00
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * planet[planetId].zAngle, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.003f, 0.003f, 0.003f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[planet[planetId].id]);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & mask) {
|
2024-01-04 18:53:38 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x3E);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
|
|
|
Matrix_Translate(gGfxMatrix, x, y, 0.0f, 1);
|
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * planet[planetId].zAngle, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.1f, 0.1f, 0.1f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B68F8[planet[planetId].id]);
|
2024-01-04 18:53:38 +03:00
|
|
|
|
|
|
|
if (planet[planetId].unk_28 == 4) {
|
|
|
|
if (planetId != PLANET_VENOM && planetId != PLANET_AQUAS) {
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
if (planetId == PLANET_MACBETH) {
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 64, 64, 64, 255);
|
|
|
|
} else {
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801B4A40);
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
Matrix_Scale(gGfxMatrix, 1.6f, 1.6f, 1.6f, 1);
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
gSPDisplayList(gMasterDisp++, D_605C230);
|
|
|
|
}
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_80177BB0[arg0] != 0) {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AB17C(x, y, 0.0f);
|
2024-01-04 18:53:38 +03:00
|
|
|
}
|
|
|
|
}
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AB17C(f32 x, f32 y, f32 z) {
|
2024-01-04 18:53:38 +03:00
|
|
|
static f32 scale = 0.23f;
|
2024-01-24 17:45:55 +03:00
|
|
|
static f32 xPos = 4.4f;
|
|
|
|
static f32 yPos = 1.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x35);
|
|
|
|
gDPSetTextureFilter(gMasterDisp++, G_TF_POINT);
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-24 17:45:55 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, x - xPos, y + yPos, z, 1);
|
2024-01-04 18:53:38 +03:00
|
|
|
Matrix_Scale(gGfxMatrix, scale, scale, scale, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_601D1F0);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AB284(void) {
|
|
|
|
D_menu_801CD940 = 0;
|
|
|
|
D_80178308 = D_menu_801AF428[sCurrentPlanetId][D_menu_801CD940];
|
|
|
|
D_80177D68 = D_menu_801AF420[D_menu_801CD940];
|
|
|
|
D_menu_801CF018 = 100;
|
2023-12-24 19:12:09 +03:00
|
|
|
D_80178728 = 78;
|
|
|
|
D_8017872C = 166;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AB300(void) {
|
2024-01-02 01:55:06 +03:00
|
|
|
if (D_Timer_801782AC > 0) {
|
|
|
|
D_Timer_801782AC--;
|
|
|
|
}
|
|
|
|
if (D_Timer_801782B4 > 0) {
|
|
|
|
D_Timer_801782B4--;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CF018) {
|
2024-01-02 01:55:06 +03:00
|
|
|
case 0:
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 100:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA74 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
D_801782A4 = 0 + D_80177D68;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF018 = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
D_80177D50 = 0.0f;
|
|
|
|
D_801782D8 = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF124 = 0.0f;
|
|
|
|
D_menu_801CEAB4 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 200:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF018 = 210;
|
2024-01-02 01:55:06 +03:00
|
|
|
D_Timer_801782AC = 30;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 210:
|
|
|
|
if (D_Timer_801782AC) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD940 = 1;
|
|
|
|
D_80178308 = D_menu_801AF428[sCurrentPlanetId][D_menu_801CD940];
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
func_8001ACDC(Message_IdFromPtr(D_80178308));
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_80177D68 = D_menu_801AF420[D_menu_801CD940];
|
2024-01-02 01:55:06 +03:00
|
|
|
D_Timer_801782AC = Message_GetCharCount(D_80178308) * 2;
|
|
|
|
D_801782A4 = D_80177D68;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF018 = 4;
|
|
|
|
D_menu_801CD9A0 = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA74 += 8;
|
|
|
|
if (D_menu_801CEA74 > 255) {
|
|
|
|
D_menu_801CEA74 = 255;
|
2024-01-02 01:55:06 +03:00
|
|
|
D_80177D50 = 1.3f;
|
|
|
|
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x4100001EU, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-02 01:55:06 +03:00
|
|
|
func_8001ACDC(Message_IdFromPtr(D_80178308));
|
|
|
|
|
|
|
|
D_Timer_801782AC = Message_GetCharCount(D_80178308) * 2;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9A4 = 0;
|
|
|
|
D_menu_801CF018 = 4;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 4:
|
|
|
|
if (!D_Timer_801782AC && !func_8001AE78()) {
|
|
|
|
D_801782A4 = D_80177D68;
|
|
|
|
func_8001AE58();
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD940 == 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
D_801782D8 = 0;
|
|
|
|
D_Timer_801782AC = 30;
|
|
|
|
} else {
|
|
|
|
D_Timer_801782AC = 20;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF018 = 41;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
D_801782A4 = D_80177D68;
|
|
|
|
|
|
|
|
if (D_Timer_801782B4 > 0) {
|
|
|
|
D_801782A4 = 1 + D_80177D68;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (D_801782D8 >= Message_GetCharCount(D_80178308)) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9A4 = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9A0 == 1) {
|
|
|
|
D_menu_801CF124 += 0.7f;
|
|
|
|
D_801782D8 = D_menu_801CF124;
|
2024-01-02 01:55:06 +03:00
|
|
|
} else {
|
|
|
|
D_801782D8 += 2;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEAB4) {
|
2024-01-02 01:55:06 +03:00
|
|
|
if (func_8001AED4() == 1) {
|
|
|
|
D_Timer_801782B4 = 2;
|
|
|
|
} else {
|
|
|
|
D_Timer_801782B4 = 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEAB4 ^= 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 41:
|
|
|
|
if (D_Timer_801782AC) {
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD940 == 1) {
|
|
|
|
D_menu_801CF018 = 5;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD940 = 1;
|
|
|
|
D_80178308 = D_menu_801AF428[sCurrentPlanetId][D_menu_801CD940];
|
2024-01-02 01:55:06 +03:00
|
|
|
func_8001ACDC(Message_IdFromPtr(D_80178308));
|
2024-01-14 07:30:21 +03:00
|
|
|
D_80177D68 = D_menu_801AF420[D_menu_801CD940];
|
2024-01-02 01:55:06 +03:00
|
|
|
D_801782A4 = D_80177D68;
|
|
|
|
D_801782D8 = 0;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF124 = 0.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
D_Timer_801782AC = Message_GetCharCount(D_80178308) * 2;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9A0 = 1;
|
|
|
|
D_menu_801CD9A4 = 0;
|
|
|
|
D_menu_801CF018 = 4;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
|
|
|
D_Timer_801782AC = 5;
|
|
|
|
D_801782A4 = D_80177D68;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF018++;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 6:
|
|
|
|
if (D_Timer_801782AC == 0) {
|
|
|
|
func_8001A838(0x4100001EU);
|
|
|
|
func_8001ACDC(0);
|
|
|
|
D_80177D50 = 0.0f;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF018++;
|
|
|
|
D_menu_801CF018 = 7;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 7:
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 8:
|
|
|
|
D_801782A4 = D_80177D68;
|
|
|
|
D_80177D50 = 1.3f;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEA74 = 255;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CF018 > 0) && (D_menu_801CF018 != 100)) {
|
|
|
|
func_menu_801AB978(D_801782A4);
|
|
|
|
func_menu_801AB978(D_menu_801AF420[!D_menu_801CD940]);
|
2024-01-02 01:55:06 +03:00
|
|
|
func_800BB388();
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AB978(s32 arg0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
s32 i;
|
|
|
|
f32 xPos;
|
|
|
|
f32 yPos;
|
|
|
|
s32 sp90[3];
|
2024-01-14 07:30:21 +03:00
|
|
|
static f32 D_menu_801B6B0C[3] = { 205.0f, 237.0f, 269.0f };
|
|
|
|
static u16* D_menu_801B6B18[3] = { D_6032A60, D_6044180, D_6032440 };
|
2024-01-02 01:55:06 +03:00
|
|
|
|
|
|
|
switch (arg0) {
|
|
|
|
case 10:
|
|
|
|
case 11:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD810 = arg0 - 10;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 20:
|
|
|
|
case 21:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEA74 != 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_menu_801CEA74);
|
2024-01-02 01:55:06 +03:00
|
|
|
xPos = 205.0f;
|
|
|
|
yPos = 77.0f;
|
|
|
|
|
|
|
|
for (i = 0; i < 12; i++) {
|
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_6044820 + (i * 92 * 4), 92, 4, xPos, yPos + (i * 4.0f), 1.0f,
|
|
|
|
1.0f);
|
|
|
|
}
|
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_6044820 + (92 * 12 * 4), 92, 3, xPos, yPos + 48.0f, 1.0f, 1.0f);
|
|
|
|
|
|
|
|
if (arg0 == 21) {
|
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_6046CD0, 32, 34, xPos + 47.0, yPos, 1.0f, 1.0f);
|
|
|
|
}
|
|
|
|
|
|
|
|
for (i = 0; i < 3; i++) {
|
|
|
|
switch (gSavedTeamShields[3 - i]) {
|
|
|
|
case -1:
|
|
|
|
case -2:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEA74 > 0x20) {
|
2024-01-02 01:55:06 +03:00
|
|
|
sp90[i] = 32;
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
sp90[i] = D_menu_801CEA74;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 0:
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
2024-01-17 18:36:58 +03:00
|
|
|
if (gGameFrameCount & 0x10) {
|
2024-01-14 07:30:21 +03:00
|
|
|
Graphics_DisplaySmallText(D_menu_801B6B0C[i], 131 + 28, 1.0f, 1.0f, "OK !");
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
sp90[i] = D_menu_801CEA74;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
default:
|
2024-01-14 07:30:21 +03:00
|
|
|
sp90[i] = D_menu_801CEA74;
|
2024-01-02 01:55:06 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x4C);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, sp90[i]);
|
2024-01-14 07:30:21 +03:00
|
|
|
TextureRect_16bRGBA(&gMasterDisp, D_menu_801B6B18[i], 28, 28, D_menu_801B6B0C[i], 131.0f, 1.0f,
|
2024-01-02 01:55:06 +03:00
|
|
|
1.0f);
|
|
|
|
|
|
|
|
if ((gSavedTeamShields[3 - i] < 0) && (gSavedTeamShields[3 - i] != -2)) {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801ABCDC(i, D_menu_801CEA74);
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801ABCDC(s32 arg0, s32 alpha) {
|
|
|
|
static s32 D_menu_801B6B24[] = { 81.0f, 125.0f, 170.0f };
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
|
|
|
Matrix_LookAt(gGfxMatrix, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -400.0f, 0.0f, 1.0f, 0.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x29);
|
|
|
|
|
|
|
|
gDPSetTextureFilter(gMasterDisp++, G_TF_POINT);
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, alpha);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801B6B24[arg0], -35.0f, -400.0f, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * -40.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.3f, 0.3f, 1.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_500B600);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801B6B24[arg0], -35.0f, -400.0f, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * 40.0f, 1);
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.3f, 0.3f, 1.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_500B600);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801ABF1C(void) {
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
{
|
|
|
|
Matrix_LookAt(gGfxMatrix, 0.0f, 0.0f, 0.0f, 0.0f, 0.0f, -400.0f, 0.0f, 1.0f, 0.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x15);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
{
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801CEA88, D_menu_801CEA8C, D_menu_801CEA90, 1);
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801CEA94, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AD048();
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Scale(gGfxMatrix, D_menu_801CEA78, D_menu_801CEA7C, 1.0f, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gSPDisplayList(gMasterDisp++, D_menu_801AFA30[D_menu_801CD810]);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_605A120);
|
|
|
|
}
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 32, 32, 255, D_menu_801CEA98);
|
2023-12-24 19:12:09 +03:00
|
|
|
gDPSetEnvColor(gMasterDisp++, 207, 207, 255, 0);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
{
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801CEA88, D_menu_801CEA8C - 1.5f, D_menu_801CEA90, 1);
|
|
|
|
Matrix_RotateY(gGfxMatrix, M_DTOR * D_menu_801CEA94, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AD048();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Scale(gGfxMatrix, D_menu_801CEA80, D_menu_801CEA84, 3.3f, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPClearGeometryMode(gMasterDisp++, G_CULL_BACK);
|
|
|
|
gSPDisplayList(gMasterDisp++, D_604C350);
|
|
|
|
gSPSetGeometryMode(gMasterDisp++, G_CULL_BACK);
|
|
|
|
}
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AC200(s32 index) {
|
2023-12-26 23:55:45 +03:00
|
|
|
f32 x;
|
|
|
|
f32 y;
|
|
|
|
f32 z;
|
|
|
|
f32 r;
|
|
|
|
f32 r2;
|
|
|
|
Vec3f vec;
|
|
|
|
|
|
|
|
x = gUnkEntities30[index].unk_10.x - gUnkEntities30[index].unk_04.x;
|
|
|
|
y = gUnkEntities30[index].unk_10.y - gUnkEntities30[index].unk_04.y;
|
|
|
|
z = gUnkEntities30[index].unk_10.z - gUnkEntities30[index].unk_04.z;
|
|
|
|
|
|
|
|
r = sqrtf(SQ(x) + SQ(y) + SQ(z));
|
|
|
|
|
|
|
|
if (r == 0.0f) {
|
|
|
|
r = 1.0f;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_14 == 2) {
|
|
|
|
vec.x = (x / r) * (r / (D_menu_801AFD18[index].unk_0C - 1));
|
|
|
|
vec.y = (y / r) * (r / (D_menu_801AFD18[index].unk_0C - 1));
|
|
|
|
vec.z = (z / r) * (r / (D_menu_801AFD18[index].unk_0C - 1));
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEB0.x = gUnkEntities30[index].unk_04.x + (vec.x * D_menu_801CEEA0);
|
|
|
|
D_menu_801CEEB0.y = gUnkEntities30[index].unk_04.y + (vec.y * D_menu_801CEEA0);
|
|
|
|
D_menu_801CEEB0.z = gUnkEntities30[index].unk_04.z + (vec.z * D_menu_801CEEA0);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801CEEA4) {
|
2023-12-26 23:55:45 +03:00
|
|
|
case 0:
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 100:
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9BC = 5;
|
|
|
|
D_menu_801CEEA4 = 10;
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 10:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9BC) {
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CD9BC = 5;
|
|
|
|
D_menu_801CEEA4 = 20;
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
|
|
|
|
case 20:
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD9BC) {
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEA0++;
|
|
|
|
if (D_menu_801CEEA0 > D_menu_801AFD18[index].unk_0C - 1) {
|
|
|
|
D_menu_801CEEA0 = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEA4 = 100;
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEEA4 != 10) {
|
2023-12-26 23:55:45 +03:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
} else {
|
|
|
|
vec.x = (x / r) * gUnkEntities30[index].unk_24;
|
|
|
|
vec.y = (y / r) * gUnkEntities30[index].unk_24;
|
|
|
|
vec.z = (z / r) * gUnkEntities30[index].unk_24;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEB0.x = gUnkEntities30[index].unk_04.x + vec.x;
|
|
|
|
D_menu_801CEEB0.y = gUnkEntities30[index].unk_04.y + vec.y;
|
|
|
|
D_menu_801CEEB0.z = gUnkEntities30[index].unk_04.z + vec.z;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
x = D_menu_801CEEB0.x - gUnkEntities30[index].unk_04.x;
|
|
|
|
y = D_menu_801CEEB0.y - gUnkEntities30[index].unk_04.y;
|
|
|
|
z = D_menu_801CEEB0.z - gUnkEntities30[index].unk_04.z;
|
2023-12-26 23:55:45 +03:00
|
|
|
r2 = sqrtf(SQ(x) + SQ(y) + SQ(z));
|
|
|
|
|
|
|
|
if (((r / 9.0f) * 8.0f) < r2) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEAC -= 16;
|
|
|
|
if (D_menu_801CEEAC < 0) {
|
|
|
|
D_menu_801CEEAC = 0;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_14 == 5) {
|
|
|
|
func_menu_801AC80C(D_menu_801AFD18[index].unk_00);
|
2023-12-26 23:55:45 +03:00
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AC530(index);
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AC530(s32 index) {
|
2023-12-26 23:55:45 +03:00
|
|
|
f32 dirX;
|
|
|
|
f32 dirY;
|
|
|
|
f32 dirZ;
|
|
|
|
Vec3f dest;
|
|
|
|
Vec3f src;
|
|
|
|
f32 x1;
|
|
|
|
f32 y1;
|
|
|
|
f32 x;
|
|
|
|
f32 y;
|
|
|
|
f32 z;
|
|
|
|
|
|
|
|
src.x = 0.0f;
|
|
|
|
src.y = 0.0f;
|
|
|
|
src.z = 0.0f;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CEEA8 == 255) {
|
2023-12-26 23:55:45 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x17);
|
|
|
|
} else {
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x2E);
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, D_menu_801CEEA8);
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801CEEB0.x, D_menu_801CEEB0.y, D_menu_801CEEB0.z, 1);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
Matrix_RotateY(gGfxMatrix, gUnkEntities30[index].unk_20, 1);
|
|
|
|
Matrix_RotateX(gGfxMatrix, M_DTOR * -90.0f, 1);
|
|
|
|
Matrix_RotateX(gGfxMatrix, gUnkEntities30[index].unk_1C, 1);
|
|
|
|
|
|
|
|
Matrix_Scale(gGfxMatrix, 0.8f, 0.8f, 0.8f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
Matrix_MultVec3f(gGfxMatrix, &src, &dest);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
x = D_menu_801CE960[14].x - dest.x;
|
|
|
|
y = D_menu_801CE960[14].y - dest.y;
|
|
|
|
z = D_menu_801CE960[14].z - dest.z;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-26 23:55:45 +03:00
|
|
|
x1 = Math_Atan2F(y, sqrtf(SQ(x) + SQ(z)));
|
|
|
|
y1 = -Math_Atan2F(x, z);
|
|
|
|
|
|
|
|
src.x = 0.0f;
|
|
|
|
src.y = 0.0f;
|
|
|
|
src.z = 10.0f;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateY(gCalcMatrix, M_DTOR * (-D_menu_801CDA10 - y1), 0);
|
|
|
|
Matrix_RotateX(gCalcMatrix, M_DTOR * (-D_menu_801CDA0C - x1), 1);
|
2023-12-26 23:55:45 +03:00
|
|
|
Matrix_MultVec3f(gCalcMatrix, &src, &dest);
|
|
|
|
|
|
|
|
dirX = dest.x;
|
|
|
|
dirY = dest.y;
|
|
|
|
dirZ = dest.z;
|
|
|
|
|
|
|
|
Lights_SetOneLight(&gMasterDisp, dirX, dirY, dirZ, 50, 50, 40, 0, 0, 0);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_604A9F0);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AC80C(s32 arg0) {
|
|
|
|
static f32 D_menu_801B6B30 = 0.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
s32 r;
|
|
|
|
s32 g;
|
|
|
|
s32 b;
|
|
|
|
|
|
|
|
if (arg0 == 3) {
|
|
|
|
r = 240;
|
|
|
|
g = 160;
|
|
|
|
b = 0;
|
|
|
|
} else {
|
|
|
|
r = 128;
|
|
|
|
g = 0;
|
|
|
|
b = 0;
|
|
|
|
}
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x43);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 80, D_menu_801CEEAC);
|
2023-12-24 19:12:09 +03:00
|
|
|
gDPSetEnvColor(gMasterDisp++, r, g, b, 0);
|
|
|
|
|
|
|
|
Matrix_Push(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_Translate(gGfxMatrix, D_menu_801CEEB0.x, D_menu_801CEEB0.y, D_menu_801CEEB0.z, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801AD048();
|
2023-12-24 19:12:09 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
Matrix_RotateZ(gGfxMatrix, M_DTOR * D_menu_801B6B30, 1);
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Scale(gGfxMatrix, 10.0f, 10.0f, 10.0f, 1);
|
|
|
|
|
|
|
|
Matrix_SetGfxMtx(&gMasterDisp);
|
|
|
|
|
|
|
|
gSPDisplayList(gMasterDisp++, D_604D680);
|
|
|
|
|
|
|
|
Matrix_Pop(&gGfxMatrix);
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801B6B30 -= 45.0f;
|
2023-12-24 19:12:09 +03:00
|
|
|
}
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-10 20:55:08 +03:00
|
|
|
u32 padding_801B6B34[3] = { 0, 0, 0 };
|
2024-01-04 18:53:38 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
UnkStruct_D_menu_801B8294 D_menu_801B6B40[] = {
|
2024-02-02 06:05:17 +03:00
|
|
|
{ 0.0f, 260.47226f, 1477.2115f, 0.0f, -17.364819f, -98.480774f },
|
|
|
|
{ 0.0f, 20.159666f, 759.7326f, 0.0f, -2.652588f, -99.96481f },
|
|
|
|
{ -45.790363f, 0.712088f, 336.90164f, 13.467754f, -0.209438f, -99.08872f },
|
|
|
|
{ -59.033607f, -7.952868f, 104.171906f, 49.19467f, 6.62739f, -86.80992f },
|
|
|
|
{ -39.374687f, 50.69824f, 40.264343f, 65.62447f, -4.497063f, -67.10724f },
|
|
|
|
{ -57.28257f, 48.529156f, -34.806377f, 95.470955f, 7.118073f, -11.322705f },
|
|
|
|
{ -64.80925f, 53.131527f, -77.35162f, 81.011566f, 3.335592f, 15.689522f },
|
|
|
|
{ -32.061317f, 30.244366f, -127.72071f, 32.061317f, 29.755634f, 61.72071f },
|
|
|
|
{ -62.32031f, 25.741756f, -222.99486f, 31.160154f, 32.12912f, 61.99743f },
|
|
|
|
{ -105.85609f, 14.339533f, -355.72162f, 31.134144f, 34.606018f, 61.91813f },
|
|
|
|
{ -136.99023f, 9.733513f, -450.63974f, 31.134144f, 34.606018f, 61.91813f },
|
|
|
|
{ -189.91827f, 1.90328f, -612.00055f, 31.134144f, 34.606018f, 61.91813f },
|
2024-01-04 18:53:38 +03:00
|
|
|
};
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
UnkStruct_D_menu_801B8294 D_menu_801B6C60[] = {
|
2024-02-02 06:05:17 +03:00
|
|
|
{ 230.0f, -20.0f, -0.000004f, 90.0f, -20.0f, 0.000002f },
|
|
|
|
{ 217.92657f, 45.0272f, -0.006961f, 96.70746f, -25.01511f, 0.003867f },
|
|
|
|
{ 161.75992f, 66.4626f, 50.403748f, 73.1124f, -6.102585f, -28.316711f },
|
|
|
|
{ 117.362366f, 2.619884f, 27.208603f, 84.39606f, -4.366472f, -45.34767f },
|
|
|
|
{ 19.168537f, 2.445203f, 27.57978f, 7.556181f, -4.366434f, -49.249607f },
|
|
|
|
{ -116.45978f, 1.270139f, 27.862812f, -109.60754f, -2.268106f, -49.75502f },
|
|
|
|
{ -117.43788f, 1.272571f, 27.864624f, -110.646645f, -2.272449f, -49.758255f },
|
|
|
|
{ -118.43771f, 1.314066f, 27.862713f, -111.646935f, -2.346546f, -49.754845f },
|
|
|
|
{ -118.44501f, 1.314066f, 27.862074f, -111.63391f, -2.346546f, -49.753704f },
|
|
|
|
{ -118.46446f, 1.314066f, 27.860361f, -111.59918f, -2.346546f, -49.750645f },
|
2024-01-04 18:53:38 +03:00
|
|
|
};
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AC9A0(s32 index) {
|
2023-12-26 23:55:45 +03:00
|
|
|
Vec3f srcPos;
|
|
|
|
Vec3f destPos;
|
|
|
|
f32 x;
|
|
|
|
f32 y;
|
|
|
|
f32 z;
|
|
|
|
f32 target;
|
|
|
|
f32 temp;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801ACD90(index, &srcPos, &destPos);
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
x = srcPos.x - destPos.x;
|
|
|
|
y = srcPos.y - destPos.y;
|
|
|
|
z = srcPos.z - destPos.z;
|
|
|
|
|
|
|
|
target = sqrtf(SQ(x) + SQ(y) + SQ(z));
|
|
|
|
|
|
|
|
gUnkEntities30[index].mode = 4;
|
|
|
|
|
|
|
|
gUnkEntities30[index].unk_04.x = srcPos.x;
|
|
|
|
gUnkEntities30[index].unk_04.y = srcPos.y;
|
|
|
|
gUnkEntities30[index].unk_04.z = srcPos.z;
|
|
|
|
|
|
|
|
gUnkEntities30[index].unk_10.x = destPos.x;
|
|
|
|
gUnkEntities30[index].unk_10.y = destPos.y;
|
|
|
|
gUnkEntities30[index].unk_10.z = destPos.z;
|
|
|
|
|
|
|
|
gUnkEntities30[index].unk_20 = Math_Atan2F(x, z);
|
|
|
|
gUnkEntities30[index].unk_1C = -Math_Atan2F(y, sqrtf(SQ(x) + SQ(z)));
|
|
|
|
|
|
|
|
switch (D_80177BD8[index]) {
|
|
|
|
case 1:
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x1900404DU, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2023-12-26 23:55:45 +03:00
|
|
|
D_80177BD8[index] = 11;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 11:
|
|
|
|
Math_SmoothStepToF(&gUnkEntities30[index].unk_24, target, 0.1f, 100.0f, 4.0f);
|
|
|
|
gUnkEntities30[index].unk_2F = 255;
|
|
|
|
if (gUnkEntities30[index].unk_24 == target) {
|
|
|
|
func_8001A838(0x1900404DU);
|
|
|
|
D_80177BD8[index] = 4;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 5:
|
|
|
|
case 6:
|
|
|
|
Math_SmoothStepToF(&gUnkEntities30[index].unk_24, target, 0.1f, 100.0f, 1.0f);
|
|
|
|
if (gUnkEntities30[index].unk_24 == target) {
|
|
|
|
gUnkEntities30[index].unk_24 = 0.0f;
|
|
|
|
D_80177BD8[index] = 6;
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEEAC = 255;
|
2023-12-26 23:55:45 +03:00
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
temp = 0.04f;
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD944 == 7) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp = 0.25f;
|
|
|
|
}
|
|
|
|
Math_SmoothStepToF(&gUnkEntities30[index].unk_24, target, temp, 100.0f, 4.0f);
|
|
|
|
gUnkEntities30[index].unk_2F = 255;
|
|
|
|
if (gUnkEntities30[index].unk_24 == target) {
|
|
|
|
D_80177BD8[index] = 3;
|
|
|
|
}
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
case 4:
|
|
|
|
gUnkEntities30[index].unk_24 = target;
|
2024-01-14 07:30:21 +03:00
|
|
|
gUnkEntities30[index].unk_2F = D_menu_801AFD18[index].unk_18;
|
2023-12-26 23:55:45 +03:00
|
|
|
break;
|
|
|
|
}
|
|
|
|
|
|
|
|
if ((D_80177BD8[index] == 1) || (D_80177BD8[index] == 11) || (D_80177BD8[index] == 4)) {
|
|
|
|
gUnkEntities30[index].unk_2C = 32;
|
|
|
|
gUnkEntities30[index].unk_2D = 32;
|
|
|
|
gUnkEntities30[index].unk_2E = 32;
|
|
|
|
gUnkEntities30[index].unk_28 = 4.0f;
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
switch (D_menu_801AFD18[index].unk_00) {
|
2023-12-26 23:55:45 +03:00
|
|
|
case 0:
|
|
|
|
gUnkEntities30[index].unk_2C = 16;
|
|
|
|
gUnkEntities30[index].unk_2D = 64;
|
|
|
|
gUnkEntities30[index].unk_2E = 255;
|
|
|
|
gUnkEntities30[index].unk_28 = 8.0f;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 1:
|
|
|
|
gUnkEntities30[index].unk_2C = 255;
|
|
|
|
gUnkEntities30[index].unk_2D = 175;
|
|
|
|
gUnkEntities30[index].unk_2E = 0;
|
|
|
|
gUnkEntities30[index].unk_28 = 8.0f;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 2:
|
|
|
|
gUnkEntities30[index].unk_2C = 255;
|
|
|
|
gUnkEntities30[index].unk_2D = 0;
|
|
|
|
gUnkEntities30[index].unk_2E = 0;
|
|
|
|
gUnkEntities30[index].unk_28 = 8.0f;
|
|
|
|
break;
|
|
|
|
|
|
|
|
case 3:
|
|
|
|
case 4:
|
|
|
|
gUnkEntities30[index].unk_2C = 0;
|
|
|
|
gUnkEntities30[index].unk_2D = 0;
|
|
|
|
gUnkEntities30[index].unk_2E = 0;
|
|
|
|
gUnkEntities30[index].unk_2F = 0;
|
|
|
|
gUnkEntities30[index].unk_28 = 0.1f;
|
|
|
|
break;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801ACD90(s32 index, Vec3f* src, Vec3f* dest) {
|
2023-12-26 23:55:45 +03:00
|
|
|
f32 x1;
|
|
|
|
f32 y1;
|
|
|
|
f32 z1;
|
|
|
|
f32 x2;
|
|
|
|
f32 y2;
|
|
|
|
f32 z2;
|
|
|
|
f32 x;
|
|
|
|
f32 y;
|
|
|
|
f32 z;
|
|
|
|
f32 r;
|
|
|
|
f32 temp1;
|
|
|
|
f32 temp2;
|
|
|
|
|
|
|
|
temp1 = 40.0f;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_04 == 12) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp1 = 50.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_04 == 10) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp1 = 60.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_04 == 14) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp1 = 20.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_04 == 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp1 = 60.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_04 == 4) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp1 = 20.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_04 == 5) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp1 = 20.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_04 == 3) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp1 = 20.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_04 == 1) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp1 = 1200.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_04 == 2) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp1 = 1200.0f;
|
|
|
|
}
|
|
|
|
|
|
|
|
temp2 = 40.0f;
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_08 == 10) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp2 = 60.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_08 == 12) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp2 = 50.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_08 == 14) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp2 = 20.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_08 == 0) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp2 = 60.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_08 == 4) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp2 = 20.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_08 == 5) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp2 = 20.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_08 == 3) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp2 = 20.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_08 == 1) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp2 = 1200.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_08 == 2) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp2 = 1200.0f;
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801AFD18[index].unk_08 == 13) {
|
2023-12-26 23:55:45 +03:00
|
|
|
temp2 = 30.0f;
|
|
|
|
}
|
|
|
|
|
2024-01-24 17:45:55 +03:00
|
|
|
x = planet[D_menu_801AFD18[index].unk_08].pos.x - planet[D_menu_801AFD18[index].unk_04].pos.x;
|
|
|
|
y = planet[D_menu_801AFD18[index].unk_08].pos.y - planet[D_menu_801AFD18[index].unk_04].pos.y;
|
|
|
|
z = planet[D_menu_801AFD18[index].unk_08].pos.z - planet[D_menu_801AFD18[index].unk_04].pos.z;
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
r = sqrtf(SQ(x) + SQ(y) + SQ(z));
|
|
|
|
|
2024-01-24 17:45:55 +03:00
|
|
|
x1 = planet[D_menu_801AFD18[index].unk_04].pos.x + (temp1 * planet[D_menu_801AFD18[index].unk_04].scale * (x / r));
|
|
|
|
y1 = planet[D_menu_801AFD18[index].unk_04].pos.y + (temp1 * planet[D_menu_801AFD18[index].unk_04].scale * (y / r));
|
|
|
|
z1 = planet[D_menu_801AFD18[index].unk_04].pos.z + (temp1 * planet[D_menu_801AFD18[index].unk_04].scale * (z / r));
|
2023-12-26 23:55:45 +03:00
|
|
|
|
2024-01-24 17:45:55 +03:00
|
|
|
x2 = planet[D_menu_801AFD18[index].unk_08].pos.x + (temp2 * planet[D_menu_801AFD18[index].unk_08].scale * (-x / r));
|
|
|
|
y2 = planet[D_menu_801AFD18[index].unk_08].pos.y + (temp2 * planet[D_menu_801AFD18[index].unk_08].scale * (-y / r));
|
|
|
|
z2 = planet[D_menu_801AFD18[index].unk_08].pos.z + (temp2 * planet[D_menu_801AFD18[index].unk_08].scale * (-z / r));
|
2023-12-26 23:55:45 +03:00
|
|
|
|
|
|
|
src->x = x1;
|
|
|
|
src->y = y1;
|
|
|
|
src->z = z1;
|
|
|
|
|
|
|
|
dest->x = x2;
|
|
|
|
dest->y = y2;
|
|
|
|
dest->z = z2;
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AD048(void) {
|
|
|
|
f32 sp1C = Math_Atan2F(D_menu_801CD9F8 - D_menu_801CDA04,
|
|
|
|
sqrtf(SQ(D_menu_801CD9F4 - D_menu_801CDA00) + SQ(D_menu_801CD9FC - D_menu_801CDA08)));
|
|
|
|
f32 temp = -Math_Atan2F(D_menu_801CD9F4 - D_menu_801CDA00, D_menu_801CD9FC - D_menu_801CDA08);
|
2023-12-24 19:12:09 +03:00
|
|
|
|
|
|
|
Matrix_RotateY(gGfxMatrix, -temp, 1);
|
|
|
|
Matrix_RotateX(gGfxMatrix, -sp1C, 1);
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AD11C(void) {
|
2024-01-02 01:55:06 +03:00
|
|
|
s32 i;
|
|
|
|
s32 var_t0;
|
|
|
|
s32 var_a3;
|
|
|
|
u8 var_a1 = 0;
|
|
|
|
u8 var_a2 = 0;
|
|
|
|
u8 var_a0;
|
|
|
|
f32 x;
|
|
|
|
f32 y;
|
|
|
|
|
|
|
|
var_a3 = 0;
|
|
|
|
var_t0 = 0;
|
|
|
|
|
|
|
|
if (gControllerPress[gMainController].button & A_BUTTON) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_80161A34 == 7) && (D_menu_801CD93C != 0) && (!D_menu_801CEFD0)) {
|
2024-01-02 01:55:06 +03:00
|
|
|
func_8001D6DC(1);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFC4 = 1;
|
|
|
|
D_menu_801CEFD4 = 0;
|
|
|
|
D_menu_801CEFDC = 0;
|
|
|
|
D_menu_801CD944 = 6;
|
|
|
|
D_menu_801CD94C = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
} else {
|
|
|
|
for (i = 0; i < 6; i++) {
|
|
|
|
D_80177C58[i] = gTeamShields[i];
|
|
|
|
}
|
2024-01-14 07:30:21 +03:00
|
|
|
func_menu_801A659C();
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerPress[gMainController].button & START_BUTTON) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CD944 == 3 && D_80161A34 == 7) {
|
|
|
|
if (D_menu_801CEFD0) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x4900100AU, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-02 01:55:06 +03:00
|
|
|
} else {
|
|
|
|
func_8001D6DC(1);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CEFC4 = 1;
|
|
|
|
D_menu_801CEFD4 = 0;
|
|
|
|
D_menu_801CEFDC = 0;
|
|
|
|
D_menu_801CD944 = 6;
|
|
|
|
D_menu_801CD94C = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
x = gControllerPress[gMainController].stick_x;
|
|
|
|
y = gControllerPress[gMainController].stick_y;
|
|
|
|
|
|
|
|
if (y != 0.0f) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CDA0C - (y * 0.05f) < -80.0f) {
|
|
|
|
D_menu_801CDA0C = -80.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
y = 0.0f;
|
2024-01-14 07:30:21 +03:00
|
|
|
} else if (D_menu_801CDA0C - (y * 0.05f) > 80.0f) {
|
|
|
|
D_menu_801CDA0C = 80.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
y = 0.0f;
|
|
|
|
} else {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CDA0C -= y * 0.05f;
|
2024-01-02 01:55:06 +03:00
|
|
|
var_a3 = 1;
|
|
|
|
var_a1 = (s32) fabsf(((y * 0.05f) / 0.27f));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (x != 0.0f) {
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CDA10 += x * 0.05f;
|
2024-01-02 01:55:06 +03:00
|
|
|
var_a2 = (s32) fabsf((x * 0.05f) / 0.27f);
|
|
|
|
var_a3 = 1;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF014 == 1) {
|
2024-01-02 01:55:06 +03:00
|
|
|
var_a0 = var_a1;
|
|
|
|
if (var_a1 < var_a2) {
|
|
|
|
var_a0 = var_a2;
|
|
|
|
}
|
|
|
|
func_8001D15C(var_a0);
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF014 == 0 && var_a3 == 1) {
|
2024-01-21 23:42:06 +03:00
|
|
|
func_8001D10C(D_800C5D28, 0x1100204C);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF014 = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if ((D_menu_801CF014 == 1) && (var_a3 == 0) && (y == 0.0f) && (x == 0.0f)) {
|
2024-01-02 01:55:06 +03:00
|
|
|
var_a1 = 0;
|
|
|
|
var_a2 = 0;
|
|
|
|
func_8001A838(0x1100204CU);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF014 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerHold[gMainController].button & R_TRIG) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CDA14 - 20.0f > 2475.0f) {
|
|
|
|
D_menu_801CDA14 -= 20.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
var_t0 = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerHold[gMainController].button & Z_TRIG) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CDA14 + 20.0f < 7695.0f) {
|
|
|
|
D_menu_801CDA14 += 20.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
var_t0 = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerHold[gMainController].button & U_CBUTTONS) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CDA04 - 10.0f >= -1200.0f) {
|
|
|
|
D_menu_801CDA04 -= 10.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
var_t0 = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerHold[gMainController].button & D_CBUTTONS) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CDA04 + 10.0f <= 1200.0f) {
|
|
|
|
D_menu_801CDA04 += 10.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
var_t0 = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerHold[gMainController].button & L_CBUTTONS) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CDA00 + 10.0f <= 1200.0f) {
|
|
|
|
D_menu_801CDA00 += 10.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
var_t0 = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if (gControllerHold[gMainController].button & R_CBUTTONS) {
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CDA00 - 10.0f >= -1200.0f) {
|
|
|
|
D_menu_801CDA00 -= 10.0f;
|
2024-01-02 01:55:06 +03:00
|
|
|
var_t0 = 1;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF010 == 0 && var_t0 == 1) {
|
2024-01-21 23:42:06 +03:00
|
|
|
Audio_PlaySfx(0x1100004CU, D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF010 = 1;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
if (D_menu_801CF010 == 1 && var_t0 == 0) {
|
2024-01-02 01:55:06 +03:00
|
|
|
func_8001A838(0x1100004CU);
|
2024-01-14 07:30:21 +03:00
|
|
|
D_menu_801CF010 = 0;
|
2024-01-02 01:55:06 +03:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
void func_dummy_() {
|
|
|
|
}
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AD718(f32 arg0, f32 arg1, f32 arg2, f32* arg3, f32* arg4, f32* arg5, f32 arg6, f32 arg7, f32 arg8) {
|
2023-12-24 19:12:09 +03:00
|
|
|
Vec3f sp2C;
|
|
|
|
Vec3f sp20;
|
|
|
|
|
|
|
|
sp20.x = 0.0f;
|
|
|
|
sp20.y = 0.0f;
|
|
|
|
sp20.z = arg6;
|
2023-11-16 05:14:33 +03:00
|
|
|
|
2023-12-24 19:12:09 +03:00
|
|
|
Matrix_Translate(gCalcMatrix, arg0, arg1, arg2, 0);
|
|
|
|
Matrix_RotateY(gCalcMatrix, M_DTOR * arg8, 1);
|
|
|
|
Matrix_RotateX(gCalcMatrix, M_DTOR * arg7, 1);
|
|
|
|
Matrix_MultVec3f(gCalcMatrix, &sp20, &sp2C);
|
|
|
|
|
|
|
|
*arg3 = sp2C.x;
|
|
|
|
*arg4 = sp2C.y;
|
|
|
|
*arg5 = sp2C.z;
|
|
|
|
}
|
|
|
|
|
2024-01-14 07:30:21 +03:00
|
|
|
void func_menu_801AD7EC(s32 xPos, s32 yPos, s32 number) {
|
2023-12-24 19:12:09 +03:00
|
|
|
RCP_SetupDL(&gMasterDisp, 0x55);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 255, 255);
|
|
|
|
|
|
|
|
TextureRect_4bCI(&gMasterDisp, D_601DC10, D_601DC90, 16, 16, xPos, yPos, 1.0f, 1.0f);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
|
|
|
|
|
|
|
TextureRect_4bCI(&gMasterDisp, D_601DCA0, D_601DCD8, 16, 7, xPos + 18.0f, yPos + 9.0f, 1.0f, 1.0f);
|
|
|
|
|
|
|
|
RCP_SetupDL(&gMasterDisp, 0x53);
|
|
|
|
|
|
|
|
gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255);
|
|
|
|
|
|
|
|
if (number >= 10) {
|
|
|
|
Graphics_DisplaySmallNumber(xPos + 33.0f - ((func_8008BCBC(number) - 1) * 8) + 3, yPos + 8.0f, number);
|
|
|
|
} else {
|
|
|
|
Graphics_DisplaySmallNumber(xPos + 33.0f, yPos + 8.0f, number);
|
|
|
|
}
|
|
|
|
}
|
2024-01-12 20:11:40 +03:00
|
|
|
|
|
|
|
#if MODS_LEVEL_SELECT == 1
|
|
|
|
#include "../../mods/levelselect.c"
|
|
|
|
#endif
|