diff --git a/include/fox_option.h b/include/fox_option.h index ba09875f..a271bd27 100644 --- a/include/fox_option.h +++ b/include/fox_option.h @@ -235,7 +235,7 @@ void func_EBFBE0_80194BD0(void); void func_EBFBE0_80194CE4(void); void func_EBFBE0_801952B4(void); void func_EBFBE0_801958DC(void); -void func_EBFBE0_80195944(void); +void Option_ExpertSoundUpdate(void); void func_EBFBE0_80195B74(void); void func_EBFBE0_80196260(void); void func_EBFBE0_801962A4(void); diff --git a/include/hud.h b/include/hud.h index 7faa3391..749e79b4 100644 --- a/include/hud.h +++ b/include/hud.h @@ -71,7 +71,6 @@ extern s32 gLevelMode; extern s32 gTeamShields[]; extern s32 D_801778BC; extern s32 gVersusMode; -extern s32 D_80177B48; extern s32 D_80177B50[]; extern s32 D_80177B70[]; extern s32 D_80177E7C; diff --git a/include/mods.h b/include/mods.h new file mode 100644 index 00000000..6930f516 --- /dev/null +++ b/include/mods.h @@ -0,0 +1,24 @@ +#ifndef MODS_H +#define MODS_H + +/** + * Level Select: + * Press left or right on the D-PAD to choose which level to play, + * useful for debugging and speedrunning training. +*/ +#define MODS_LEVEL_SELECT 0 + + +/** + * Sound Effects Jukebox: + * Ability to play sound effects inside the expert sound menu +*/ +#define MODS_SFX_JUKEBOX 0 + +/* ************************* */ + +#if MODS_LEVEL_SELECT == 1 +void Map_LevelSelect(void); +#endif + +#endif diff --git a/include/variables.h b/include/variables.h index a674a670..1660891a 100644 --- a/include/variables.h +++ b/include/variables.h @@ -514,7 +514,7 @@ extern s32 gMainController; extern s32 D_80177B00[4][4]; extern s32 D_80177B40; extern u8 D_Timer_80177B44; -extern s32 D_80177B48; +extern s32 gCurrentPlanet; // D_80177B48 extern u8 D_80177B4C; extern s32 D_80177B50[7]; extern u8 D_80177B6C; diff --git a/linker_scripts/us/symbol_addrs_EBFBE0.txt b/linker_scripts/us/symbol_addrs_EBFBE0.txt index 1730b32c..87828c8f 100644 --- a/linker_scripts/us/symbol_addrs_EBFBE0.txt +++ b/linker_scripts/us/symbol_addrs_EBFBE0.txt @@ -1,8 +1,10 @@ +Option_ExpertSoundUpdate = 0x80195944; planet = 0x801AF4A0; // type:Planet segment:ovl_menu size:0x38 sPlanetNames = 0x801AF9F4; // type:s32 segment:ovl_menu size:0xF GetPlanetId = 0x801A6480; // force_migration:True segment:ovl_menu D_EBFBE0_801AE638 = 0x801AE638; // type:MenuContext segment:ovl_menu size:0x240 D_EBFBE0_801AE99C = 0x801AE99C; // force_migration:True segment:ovl_menu +sPlanetList = 0x801AF7E8; spectrumAnalizerMode = 0x801B9318; D_EBFBE0_801B6E50 = 0x801B6E50; // force_migration:True segment:ovl_menu D_EBFBE0_801B7BA0 = 0x801B7BA0; @@ -106,4 +108,5 @@ D_EBFBE0_801CCC10 = 0x801CCC10; D_EBFBE0_801CCF10 = 0x801CCF10; D_EBFBE0_801CD210 = 0x801CD210; D_EBFBE0_801CD510 = 0x801CD510; +sCurrentPlanetId = 0x801CD954; // sPlanetsPositions = 0x801CE960; // force_migration:True segment:ovl_menu \ No newline at end of file diff --git a/linker_scripts/us/symbol_addrs_engine.txt b/linker_scripts/us/symbol_addrs_engine.txt index 927c784b..5e486d85 100644 --- a/linker_scripts/us/symbol_addrs_engine.txt +++ b/linker_scripts/us/symbol_addrs_engine.txt @@ -473,7 +473,7 @@ gMainController = 0x80177AF8; D_80177B00 = 0x80177B00; D_80177B40 = 0x80177B40; D_Timer_80177B44 = 0x80177B44; -D_80177B48 = 0x80177B48; +gCurrentPlanet = 0x80177B48; D_80177B50 = 0x80177B50; D_80177B70 = 0x80177B70; D_80177B8C = 0x80177B8C; diff --git a/src/main/sf_hud.c b/src/main/sf_hud.c index b5ae391a..218f869e 100644 --- a/src/main/sf_hud.c +++ b/src/main/sf_hud.c @@ -399,14 +399,14 @@ void func_800884E4(void) { s32 var_v1; s32 i; - D_80177B70[D_80177B48] = gHitCount; + D_80177B70[gCurrentPlanet] = gHitCount; var_v1 = 0xFF0000; for (i = 0; i < 3; i++) { if (gTeamShields[3 - i] <= 0) { - D_80177B50[D_80177B48] ^= var_v1; + D_80177B50[gCurrentPlanet] ^= var_v1; } else { - D_80177B50[D_80177B48] |= var_v1; + D_80177B50[gCurrentPlanet] |= var_v1; } var_v1 >>= 8; } diff --git a/src/mods/levelselect.c b/src/mods/levelselect.c new file mode 100644 index 00000000..b2bb8995 --- /dev/null +++ b/src/mods/levelselect.c @@ -0,0 +1,36 @@ +#include "global.h" +#include "fox_map.h" + +extern PlanetId sPlanetList[15]; +extern s32 sCurrentPlanetId; + +void Map_LevelSelect(void) { + static char* sLevelSelectPlanetNames[] = { + "CORNERIA", "METEO", "TITANIA", "SECTOR X", "AQUAS", "BOLSE", "VENOM", "FORTUNA", + "AREA 6", "MACBETH", "SECTOR Z", "ZONESS", "KATINA", "SECTOR Y", "SOLAR", + }; + + if (gControllerPress[0].button & L_JPAD) { + gCurrentPlanet--; + if (gCurrentPlanet < 0) { + gCurrentPlanet = 14; + } + sCurrentPlanetId = sPlanetList[gCurrentPlanet]; + } + + if (gControllerPress[0].button & R_JPAD) { + gCurrentPlanet++; + if (gCurrentPlanet > 14) { + gCurrentPlanet = 0; + } + sCurrentPlanetId = sPlanetList[gCurrentPlanet]; + } + + /* Draw */ + + RCP_SetupDL(&gMasterDisp, 0x53); + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); + + Graphics_DisplaySmallText(20, 200, 1.0f, 1.0f, "PLANET:"); + Graphics_DisplaySmallText(80, 200, 1.0f, 1.0f, sLevelSelectPlanetNames[gCurrentPlanet]); +} diff --git a/src/mods/sfxjukebox.c b/src/mods/sfxjukebox.c new file mode 100644 index 00000000..35c216f7 --- /dev/null +++ b/src/mods/sfxjukebox.c @@ -0,0 +1,119 @@ +#include "global.h" +#include "fox_map.h" + +u32 prevSfx = 0; +u32 sfx = 0x09000000; +s32 sfxId = 0; +s32 sfxBank = 0; +int holdTimer = 0; + +void decimalToHex(int num, char* hexString, size_t hexStringLength) { + int i; + // Define hexadecimal digits + char hexDigits[] = "0123456789ABCDEF"; + // Check for null pointer or insufficient buffer size + if (hexString == NULL || hexStringLength < 9) { + // You might need to adjust the buffer size based on the maximum expected length + return; + } + + // Ensure the buffer is null-terminated + hexString[8] = '\0'; + + // Iterate through each hex digit + for (i = 7; i >= 0; --i) { + // Extract the 4 bits representing one hex digit + int hexValue = (num >> (i * 4)) & 0xF; + + // Convert the 4-bit value to its corresponding hex character + hexString[7 - i] = hexDigits[hexValue]; + } +} + +void Option_ExpertSoundUpdate(void) { + char hexString[9]; // Buffer to store the hexadecimal string + + if ((gControllerPress[gMainController].button & R_TRIG) && (sfxBank < 4)) { + sfxBank++; + } else if ((gControllerPress[gMainController].button & L_TRIG) && (sfxBank > 0)) { + sfxBank--; + } + sfx &= 0x0FFFFFFF; + sfx |= (sfxBank << 28); + + if (gControllerHold[gMainController].button & (U_JPAD | D_JPAD)) { + holdTimer++; + } else { + holdTimer = 0; + } + + if (((gControllerHold[gMainController].button & U_JPAD) && (holdTimer > 15)) || + (gControllerPress[gMainController].button & U_JPAD)) { + sfxId++; + } else if (((gControllerHold[gMainController].button & D_JPAD) && (holdTimer > 15)) || + (gControllerPress[gMainController].button & D_JPAD)) { + sfxId--; + } else if (gControllerPress[gMainController].button & L_JPAD) { + sfxId -= 0x10; + } else if (gControllerPress[gMainController].button & R_JPAD) { + sfxId += 0x10; + } + + if (((sfxBank == 0) || (sfxBank == 4)) && (sfxId > 0x3F)) { + sfxId = 0x3F; + } else if (((sfxBank == 2) || (sfxBank == 3)) && (sfxId > 0xA7)) { + sfxId = 0xA7; + } else if ((sfxBank == 1) && (sfxId > 0x8F)) { + sfxId = 0x8F; + } else if (sfxId < 0) { + sfxId = 0; + } + sfx &= 0xFFFFFF00; + sfx |= sfxId & 0xFF; + + if (prevSfx != sfx) { + Audio_PlaySfx(0x49000002, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + prevSfx = sfx; + } + + decimalToHex(sfx, hexString, sizeof(hexString)); + + if (gControllerPress[gMainController].button & A_BUTTON) { + func_800182F4(0x100100FF); + func_800182F4(0x110100FF); + Audio_PlaySfx(sfx, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + D_EBFBE0_801B9320 = true; + } + + if (gControllerPress[gMainController].button & B_BUTTON) { + if (!D_EBFBE0_801B9320) { + func_8001D444(0, 36, 0, 255); + gDrawMode = DRAWMODE_0; + D_EBFBE0_801B9124 = 1000; + D_EBFBE0_801B912C = 0; + D_EBFBE0_801B9244 = 1; + } else { + Audio_PlaySfx(0x4900101D, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); + Audio_KillSfx(&D_800C5D28); + func_800182F4(0x100100FF); + func_800182F4(0x110100FF); + D_EBFBE0_801B9320 = false; + } + } + + // Spectrum Analizer mode selector + if (gControllerPress[gMainController].button & R_CBUTTONS) { + spectrumAnalizerMode++; + if (spectrumAnalizerMode > 2) { + spectrumAnalizerMode = 0; + } + } + + /* Draw */ + + RCP_SetupDL(&gMasterDisp, 0x53); + gDPSetPrimColor(gMasterDisp++, 0, 0, 255, 255, 0, 255); + + Graphics_DisplaySmallText(20, 50, 1.0f, 1.0f, "SFX ID:"); + Graphics_DisplaySmallText(80, 50, 1.0f, 1.0f, hexString); +} diff --git a/src/overlays/ovl_menu/fox_map.c b/src/overlays/ovl_menu/fox_map.c index a4e8cc0b..9ff17cb9 100644 --- a/src/overlays/ovl_menu/fox_map.c +++ b/src/overlays/ovl_menu/fox_map.c @@ -4,7 +4,9 @@ * Description: Starfox Map Handler */ -//#include "prevent_bss_reordering2.h" +#include "mods.h" + +// #include "prevent_bss_reordering2.h" #include "global.h" #include "fox_map.h" #include "sf64level.h" @@ -41,7 +43,7 @@ s32 D_EBFBE0_801CD944; // mapState s32 D_EBFBE0_801CD948; s32 D_EBFBE0_801CD94C; s32 D_EBFBE0_801CD950; -s32 D_EBFBE0_801CD954; // sCurrentPlanetId +s32 sCurrentPlanetId; // sCurrentPlanetId s32 D_EBFBE0_801CD958; s32 D_EBFBE0_801CD95C; s32 D_EBFBE0_801CD960; @@ -215,7 +217,7 @@ extern s32 D_EBFBE0_801CD944; // mapState extern s32 D_EBFBE0_801CD948; extern s32 D_EBFBE0_801CD94C; extern s32 D_EBFBE0_801CD950; -extern s32 D_EBFBE0_801CD954; // sCurrentPlanetId +extern s32 sCurrentPlanetId; // sCurrentPlanetId extern s32 D_EBFBE0_801CD958; extern s32 D_EBFBE0_801CD95C; extern s32 D_EBFBE0_801CD960; @@ -419,7 +421,7 @@ Planet planet[PLANET_MAX] = { }; // unused -PlanetId D_EBFBE0_801AF7E8[] = { +PlanetId sPlanetList[] = { 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, @@ -1533,9 +1535,9 @@ void func_EBFBE0_8019F164(void) { D_EBFBE0_801CD93C = D_80177930; - D_EBFBE0_801CD954 = GetPlanetId(gCurrentLevel); + sCurrentPlanetId = GetPlanetId(gCurrentLevel); - D_EBFBE0_801CD950 = D_EBFBE0_801CD954; + D_EBFBE0_801CD950 = sCurrentPlanetId; D_EBFBE0_801CD980 = func_EBFBE0_8019FD1C(gCurrentLevel, 0); @@ -1543,7 +1545,7 @@ void func_EBFBE0_8019F164(void) { if (D_800D3180[gCurrentLevel] == 2) { D_EBFBE0_801CD98C = 1; - D_80177BB0[D_80177B48] = 1; + D_80177BB0[gCurrentPlanet] = 1; func_EBFBE0_8019FD1C(gCurrentLevel, 1); } @@ -1557,19 +1559,19 @@ void func_EBFBE0_8019F164(void) { switch (D_EBFBE0_801CD93C) { case 0: - D_EBFBE0_801CD958 = planet[D_EBFBE0_801CD954].unk_2C; + D_EBFBE0_801CD958 = planet[sCurrentPlanetId].unk_2C; break; case 1: - D_EBFBE0_801CD958 = planet[D_EBFBE0_801CD954].unk_30; + D_EBFBE0_801CD958 = planet[sCurrentPlanetId].unk_30; break; case 2: - D_EBFBE0_801CD958 = planet[D_EBFBE0_801CD954].unk_34; + D_EBFBE0_801CD958 = planet[sCurrentPlanetId].unk_34; break; } - D_80177B48++; + gCurrentPlanet++; func_EBFBE0_8019FC04(); @@ -1600,9 +1602,9 @@ void func_EBFBE0_8019F42C(void) { gLifeCount[gPlayerNum] = 0; D_EBFBE0_801CD974 = 1; - D_EBFBE0_801CD954 = GetPlanetId(gCurrentLevel); + sCurrentPlanetId = GetPlanetId(gCurrentLevel); - D_80177B70[D_80177B48] = gHitCount; + D_80177B70[gCurrentPlanet] = gHitCount; func_EBFBE0_8019F910(); func_EBFBE0_8019FD1C(gCurrentLevel, 0); @@ -1613,8 +1615,8 @@ void func_EBFBE0_8019F42C(void) { D_EBFBE0_801CD8E0[i] = 0; } - if (D_80177B48 != 0) { - for (i = 0; i < D_80177B48; i++) { + if (gCurrentPlanet != 0) { + for (i = 0; i < gCurrentPlanet; i++) { D_EBFBE0_801CD8E0[i] = func_EBFBE0_801A655C(D_80177B90[i], D_80177B90[i + 1]); } } @@ -1688,17 +1690,17 @@ void func_EBFBE0_8019F600(void) { D_EBFBE0_801AFD18[i].unk_18 = 255; } - D_80177B48 = 0; + gCurrentPlanet = 0; gCurrentLevel = 0; - D_EBFBE0_801CD954 = 9; + sCurrentPlanetId = 9; D_EBFBE0_801CEA9C = 0.0f; D_EBFBE0_801CD9B0 = 0.002f; D_EBFBE0_801CD9B4 = 0.01f; D_EBFBE0_801CD944 = 0; - sp18 = func_EBFBE0_801A655C(D_EBFBE0_801CD954, planet[D_EBFBE0_801CD954].unk_2C); - temp_t4 = func_EBFBE0_801A655C(D_EBFBE0_801CD954, planet[D_EBFBE0_801CD954].unk_30); + sp18 = func_EBFBE0_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_2C); + temp_t4 = func_EBFBE0_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_30); D_80177BD8[sp18] = 1; D_80177BD8[temp_t4] = 1; } @@ -1728,28 +1730,28 @@ void func_EBFBE0_8019F910(void) { for (i = 0; i < 3; i++) { if (gTeamShields[3 - i] <= 0) { - D_80177B50[D_80177B48] ^= mask; + D_80177B50[gCurrentPlanet] ^= mask; } else { - D_80177B50[D_80177B48] |= mask; + D_80177B50[gCurrentPlanet] |= mask; } mask >>= 8; } } void func_EBFBE0_8019F97C(void) { - D_EBFBE0_801CEA54 = func_EBFBE0_801A25C8(D_EBFBE0_801CD954); + D_EBFBE0_801CEA54 = func_EBFBE0_801A25C8(sCurrentPlanetId); - D_EBFBE0_801CD9F4 = D_EBFBE0_801CDA00 = planet[D_EBFBE0_801CD954].posX; - D_EBFBE0_801CD9F8 = D_EBFBE0_801CDA04 = planet[D_EBFBE0_801CD954].posY; - D_EBFBE0_801CDA08 = planet[D_EBFBE0_801CD954].posZ; - D_EBFBE0_801CD9FC = planet[D_EBFBE0_801CD954].posZ + D_EBFBE0_801CEA54; + D_EBFBE0_801CD9F4 = D_EBFBE0_801CDA00 = planet[sCurrentPlanetId].posX; + D_EBFBE0_801CD9F8 = D_EBFBE0_801CDA04 = planet[sCurrentPlanetId].posY; + D_EBFBE0_801CDA08 = planet[sCurrentPlanetId].posZ; + D_EBFBE0_801CD9FC = planet[sCurrentPlanetId].posZ + D_EBFBE0_801CEA54; } void func_EBFBE0_8019FA1C(void) { PlanetId planetId; for (planetId = 0; planetId < PLANET_MAX; planetId++) { - if (planetId == D_EBFBE0_801CD954) { + if (planetId == sCurrentPlanetId) { if ((planetId == PLANET_SECTOR_Z) || (planetId == PLANET_SECTOR_X) || (planetId == PLANET_SECTOR_Y)) { planet[planetId].alpha = 144; } else { @@ -1764,7 +1766,7 @@ void func_EBFBE0_8019FA1C(void) { void func_EBFBE0_8019FC04(void) { s32 i; - if (D_80177B48 != 0) { + if (gCurrentPlanet != 0) { D_EBFBE0_801CEB48[1] = 1; D_EBFBE0_801CEB48[2] = 1; } @@ -1952,6 +1954,9 @@ void func_EBFBE0_8019FF48(void) { D_EBFBE0_801CDA08); } gFrameCount++; +#if MODS_LEVEL_SELECT == true + Map_LevelSelect(); +#endif } void func_EBFBE0_801A01A8(void) { @@ -2469,14 +2474,14 @@ void func_EBFBE0_801A1AE8(void) { D_EBFBE0_801CEA64 = 0.04f; - D_EBFBE0_801CEA54 = func_EBFBE0_801A25C8(D_EBFBE0_801CD954); + D_EBFBE0_801CEA54 = func_EBFBE0_801A25C8(sCurrentPlanetId); - D_EBFBE0_801CDA40.x = planet[D_EBFBE0_801CD954].posX; - D_EBFBE0_801CDA40.y = planet[D_EBFBE0_801CD954].posY; - D_EBFBE0_801CDA40.z = planet[D_EBFBE0_801CD954].posZ; + D_EBFBE0_801CDA40.x = planet[sCurrentPlanetId].posX; + D_EBFBE0_801CDA40.y = planet[sCurrentPlanetId].posY; + D_EBFBE0_801CDA40.z = planet[sCurrentPlanetId].posZ; - D_EBFBE0_801CDA50.x = planet[D_EBFBE0_801CD954].posX; - D_EBFBE0_801CDA50.y = planet[D_EBFBE0_801CD954].posY; + D_EBFBE0_801CDA50.x = planet[sCurrentPlanetId].posX; + D_EBFBE0_801CDA50.y = planet[sCurrentPlanetId].posY; D_EBFBE0_801CDA50.z = D_EBFBE0_801CDA40.z + D_EBFBE0_801CEA54; D_EBFBE0_801CDA2C = D_EBFBE0_801CDA00; @@ -2516,7 +2521,7 @@ void func_EBFBE0_801A1C14(void) { D_EBFBE0_801CD95C = 10; D_EBFBE0_801CD97C = 0; - if (D_EBFBE0_801CD954 == PLANET_CORNERIA) { + if (sCurrentPlanetId == PLANET_CORNERIA) { D_EBFBE0_801CD95C = 5; } @@ -2540,7 +2545,7 @@ void func_EBFBE0_801A1C14(void) { case 1: if (D_EBFBE0_801CD95C == 0) { - if (D_EBFBE0_801CD954 == PLANET_CORNERIA) { + if (sCurrentPlanetId == PLANET_CORNERIA) { D_80178340 = 0; D_EBFBE0_801CD948 = 10; Audio_PlaySfx(0x0940A00BU, &D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C); @@ -2549,7 +2554,7 @@ void func_EBFBE0_801A1C14(void) { D_EBFBE0_801CD948++; } } else { - if (D_EBFBE0_801CD954 == PLANET_CORNERIA) { + if (sCurrentPlanetId == PLANET_CORNERIA) { D_80178340 ^= 0xFF; if (D_EBFBE0_801CD95C == 2) { D_EBFBE0_801CEB34 = 0; @@ -2571,7 +2576,7 @@ void func_EBFBE0_801A1C14(void) { if ((D_EBFBE0_801CD9FC == D_EBFBE0_801CDA50.z) && (D_EBFBE0_801CD9D8 == 0)) { Audio_PlaySfx(0x19004013U, &D_800C5D28, 4U, &D_800C5D34, &D_800C5D34, &D_800C5D3C); D_EBFBE0_801CD9D8 = 1; - if (D_EBFBE0_801CD954 == PLANET_CORNERIA) { + if (sCurrentPlanetId == PLANET_CORNERIA) { D_EBFBE0_801CEB48[0] = 1; for (i = 0; i < 10; i++) { D_EBFBE0_801CEB58[0][i] = Rand_ZeroOne() * 3.0f; @@ -2772,7 +2777,7 @@ void func_EBFBE0_801A2674(void) { D_EBFBE0_801CD900[i] = 0; } - if (i == D_EBFBE0_801CD954) { + if (i == sCurrentPlanetId) { continue; } @@ -2795,11 +2800,11 @@ void func_EBFBE0_801A2674(void) { } } - if (D_EBFBE0_801CD954 == 2) { + if (sCurrentPlanetId == 2) { Math_SmoothStepToF(&D_EBFBE0_801AFFF8, 20.0f, 0.05f, 100.0f, 0.1f); } - if (D_EBFBE0_801CD954 == 1) { + if (sCurrentPlanetId == 1) { Math_SmoothStepToF(&D_EBFBE0_801B0000, 15.0f, 0.05f, 100.0f, 0.1f); } @@ -2866,7 +2871,7 @@ void func_EBFBE0_801A281C(void) { D_EBFBE0_801CEEE8[7].y = D_EBFBE0_801CEEE8[6].y; D_EBFBE0_801CEEE8[7].z = D_EBFBE0_801CEEE8[6].z; - D_EBFBE0_801CEECC = func_EBFBE0_801A655C(D_EBFBE0_801CD954, D_EBFBE0_801CD958); + D_EBFBE0_801CEECC = func_EBFBE0_801A655C(sCurrentPlanetId, D_EBFBE0_801CD958); if (D_EBFBE0_801CD93C == 2) { D_80177BD8[D_EBFBE0_801CEECC] = 5; @@ -3010,8 +3015,8 @@ void func_EBFBE0_801A2EB8(void) { func_EBFBE0_801A3440(D_EBFBE0_801CEEE0); if (D_EBFBE0_801CD9C4 == 80) { - D_EBFBE0_801CD954 = D_EBFBE0_801CD958; - D_80177B90[D_80177B48] = D_EBFBE0_801CD954; + sCurrentPlanetId = D_EBFBE0_801CD958; + D_80177B90[gCurrentPlanet] = sCurrentPlanetId; func_EBFBE0_801A6368(); } @@ -3050,7 +3055,7 @@ void func_EBFBE0_801A2EB8(void) { #define PLANET_ID i for (PLANET_ID = 0; PLANET_ID < PLANET_MAX; PLANET_ID++) { - if ((PLANET_ID == D_EBFBE0_801CD954) || (PLANET_ID == D_EBFBE0_801CD958)) { + if ((PLANET_ID == sCurrentPlanetId) || (PLANET_ID == D_EBFBE0_801CD958)) { continue; } @@ -3429,7 +3434,7 @@ void func_EBFBE0_801A4394(void) { switch (D_EBFBE0_801CD94C) { case 0: - if (D_80177B48 == 0) { + if (gCurrentPlanet == 0) { D_EBFBE0_801CD9C0 = 45; D_EBFBE0_801CD94C = 3; } else { @@ -3438,7 +3443,7 @@ void func_EBFBE0_801A4394(void) { break; case 1: - if (D_80177B48 == D_EBFBE0_801CD9AC) { + if (gCurrentPlanet == D_EBFBE0_801CD9AC) { D_EBFBE0_801CD94C = 3; D_EBFBE0_801CD9C0 = 45; break; @@ -3726,20 +3731,20 @@ void func_EBFBE0_801A4FC4(void) { gLaserStrength[gPlayerNum] = 0; gBombCount[gPlayerNum] = 3; - if (planet[D_EBFBE0_801CD954].unk_2C != -1) { - temp2 = func_EBFBE0_801A655C(D_EBFBE0_801CD954, planet[D_EBFBE0_801CD954].unk_2C); + if (planet[sCurrentPlanetId].unk_2C != -1) { + temp2 = func_EBFBE0_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_2C); D_80177BD8[temp2] = 0; D_EBFBE0_801AFD18[temp2].unk_18 = 0; } - if (planet[D_EBFBE0_801CD954].unk_30 != -1) { - temp = func_EBFBE0_801A655C(D_EBFBE0_801CD954, planet[D_EBFBE0_801CD954].unk_30); + if (planet[sCurrentPlanetId].unk_30 != -1) { + temp = func_EBFBE0_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_30); D_80177BD8[temp] = 0; D_EBFBE0_801AFD18[temp].unk_18 = 0; } - if (planet[D_EBFBE0_801CD954].unk_34 != -1) { - temp = func_EBFBE0_801A655C(D_EBFBE0_801CD954, planet[D_EBFBE0_801CD954].unk_34); + if (planet[sCurrentPlanetId].unk_34 != -1) { + temp = func_EBFBE0_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_34); D_80177BD8[temp] = 0; D_EBFBE0_801AFD18[temp].unk_18 = 0; } @@ -3750,32 +3755,32 @@ void func_EBFBE0_801A4FC4(void) { D_EBFBE0_801CEEA8 = 255; D_EBFBE0_801CEEAC = 255; - gTotalHits -= D_80177B70[D_80177B48 - 1]; - D_80177B90[D_80177B48] = -1; - D_80177B70[D_80177B48 - 1] = 0; - D_80177BB0[D_80177B48 - 1] = 0; - D_80177B50[D_80177B48 - 1] = 0x00FFFFFF; + gTotalHits -= D_80177B70[gCurrentPlanet - 1]; + D_80177B90[gCurrentPlanet] = -1; + D_80177B70[gCurrentPlanet - 1] = 0; + D_80177BB0[gCurrentPlanet - 1] = 0; + D_80177B50[gCurrentPlanet - 1] = 0x00FFFFFF; gHitCount = 0; - D_80177B48--; + gCurrentPlanet--; D_EBFBE0_801CD83C = func_EBFBE0_801A05B4(); - D_EBFBE0_801CD954 = D_EBFBE0_801CD950; + sCurrentPlanetId = D_EBFBE0_801CD950; - if (planet[D_EBFBE0_801CD954].unk_2C != -1) { - temp2 = func_EBFBE0_801A655C(D_EBFBE0_801CD954, planet[D_EBFBE0_801CD954].unk_2C); + if (planet[sCurrentPlanetId].unk_2C != -1) { + temp2 = func_EBFBE0_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_2C); D_80177BD8[temp2] = 1; D_EBFBE0_801AFD18[temp2].unk_18 = 255; } - if (planet[D_EBFBE0_801CD954].unk_30 != -1) { - temp = func_EBFBE0_801A655C(D_EBFBE0_801CD954, planet[D_EBFBE0_801CD954].unk_30); + if (planet[sCurrentPlanetId].unk_30 != -1) { + temp = func_EBFBE0_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_30); D_80177BD8[temp] = 1; D_EBFBE0_801AFD18[temp].unk_18 = 255; } - if (planet[D_EBFBE0_801CD954].unk_34 != -1) { - temp = func_EBFBE0_801A655C(D_EBFBE0_801CD954, planet[D_EBFBE0_801CD954].unk_34); + if (planet[sCurrentPlanetId].unk_34 != -1) { + temp = func_EBFBE0_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_34); D_80177BD8[temp] = 0; D_EBFBE0_801AFD18[temp].unk_18 = 0; } @@ -3789,14 +3794,14 @@ void func_EBFBE0_801A53C8(void) { D_EBFBE0_801CEFD8 ^= 1; - if (planet[D_EBFBE0_801CD954].unk_2C != -1) { - temp2 = func_EBFBE0_801A655C(D_EBFBE0_801CD954, planet[D_EBFBE0_801CD954].unk_2C); + if (planet[sCurrentPlanetId].unk_2C != -1) { + temp2 = func_EBFBE0_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_2C); D_80177BD8[temp2] = 0; D_EBFBE0_801AFD18[temp2].unk_18 = 0; } - if (planet[D_EBFBE0_801CD954].unk_30 != -1) { - temp = func_EBFBE0_801A655C(D_EBFBE0_801CD954, planet[D_EBFBE0_801CD954].unk_30); + if (planet[sCurrentPlanetId].unk_30 != -1) { + temp = func_EBFBE0_801A655C(sCurrentPlanetId, planet[sCurrentPlanetId].unk_30); D_80177BD8[temp] = 0; D_EBFBE0_801AFD18[temp].unk_18 = 0; } @@ -3806,23 +3811,23 @@ void func_EBFBE0_801A53C8(void) { D_EBFBE0_801AFD18[D_EBFBE0_801CEECC].unk_18 = 0; D_EBFBE0_801AFD18[D_EBFBE0_801CEECC].unk_14 = 0; - D_EBFBE0_801CD954 = D_EBFBE0_801CD950; + sCurrentPlanetId = D_EBFBE0_801CD950; if (!D_EBFBE0_801CEFD8) { - D_EBFBE0_801CD958 = planet[D_EBFBE0_801CD954].unk_2C; + D_EBFBE0_801CD958 = planet[sCurrentPlanetId].unk_2C; } else if (D_EBFBE0_801CD93C != 2) { - if (planet[D_EBFBE0_801CD954].unk_30 != -1) { - D_EBFBE0_801CD958 = planet[D_EBFBE0_801CD954].unk_30; + if (planet[sCurrentPlanetId].unk_30 != -1) { + D_EBFBE0_801CD958 = planet[sCurrentPlanetId].unk_30; } else { - D_EBFBE0_801CD958 = planet[D_EBFBE0_801CD954].unk_2C; + D_EBFBE0_801CD958 = planet[sCurrentPlanetId].unk_2C; } - } else if (planet[D_EBFBE0_801CD954].unk_34 != -1) { - D_EBFBE0_801CD958 = planet[D_EBFBE0_801CD954].unk_34; + } else if (planet[sCurrentPlanetId].unk_34 != -1) { + D_EBFBE0_801CD958 = planet[sCurrentPlanetId].unk_34; } else { - D_EBFBE0_801CD958 = planet[D_EBFBE0_801CD954].unk_2C; + D_EBFBE0_801CD958 = planet[sCurrentPlanetId].unk_2C; } - D_EBFBE0_801CEECC = func_EBFBE0_801A655C(D_EBFBE0_801CD954, D_EBFBE0_801CD958); + D_EBFBE0_801CEECC = func_EBFBE0_801A655C(sCurrentPlanetId, D_EBFBE0_801CD958); D_EBFBE0_801AFD18[D_EBFBE0_801CEECC].unk_18 = 255; @@ -3840,8 +3845,8 @@ void func_EBFBE0_801A53C8(void) { D_EBFBE0_801CEEA8 = 255; D_EBFBE0_801CEEAC = 255; - D_EBFBE0_801CD954 = D_EBFBE0_801CD958; - D_80177B90[D_80177B48] = D_EBFBE0_801CD954; + sCurrentPlanetId = D_EBFBE0_801CD958; + D_80177B90[gCurrentPlanet] = sCurrentPlanetId; func_EBFBE0_801A6368(); @@ -4030,7 +4035,7 @@ void func_EBFBE0_801A5E80(void) { D_EBFBE0_801B8284 = 0; D_EBFBE0_801CD9A0 = 1; func_EBFBE0_801A6368(); - D_EBFBE0_801CD9A8 = func_EBFBE0_801A62FC(D_EBFBE0_801CD954); + D_EBFBE0_801CD9A8 = func_EBFBE0_801A62FC(sCurrentPlanetId); func_EBFBE0_801AB284(); D_EBFBE0_801B8280++; break; @@ -4068,7 +4073,7 @@ void func_EBFBE0_801A5E80(void) { if (D_EBFBE0_801B8284 < 120) { D_EBFBE0_801B8284 += 15; - if (D_EBFBE0_801CD954 == PLANET_CORNERIA) { + if (sCurrentPlanetId == PLANET_CORNERIA) { *D_EBFBE0_801CEB48 = 0; } } else { @@ -4201,7 +4206,7 @@ bool func_EBFBE0_801A62FC(PlanetId planet) { } void func_EBFBE0_801A6368(void) { - switch (D_EBFBE0_801CD954) { + switch (sCurrentPlanetId) { case PLANET_CORNERIA: gCurrentLevel = LEVEL_CORNERIA; break; @@ -4351,7 +4356,7 @@ void func_EBFBE0_801A659C(void) { func_8001A838(0x1100004C); func_8001A838(0x1100204C); - if (D_EBFBE0_801CD954 != 9) { + if (sCurrentPlanetId != 9) { Audio_PlaySfx(0x49000003, &D_800C5D28, 4, &D_800C5D34, &D_800C5D34, &D_800C5D3C); } @@ -4460,11 +4465,11 @@ void func_EBFBE0_801A6A98(PlanetId planetId) { s32 mask; s32 temp; - if ((planet[planetId].alpha == 0) && (planetId != D_EBFBE0_801CD954)) { + if ((planet[planetId].alpha == 0) && (planetId != sCurrentPlanetId)) { return; } - if ((planetId == D_EBFBE0_801CD954) && (D_EBFBE0_801CD944 == 2) && (D_EBFBE0_801CD95C != 0)) { + if ((planetId == sCurrentPlanetId) && (D_EBFBE0_801CD944 == 2) && (D_EBFBE0_801CD95C != 0)) { mask = 0x00000001; } else { mask = 0xFFFFFFFF; @@ -4655,7 +4660,7 @@ void func_EBFBE0_801A6EC0(PlanetId planetId) { void func_EBFBE0_801A7230(PlanetId planetId) { switch (planet[planetId].unk_28) { case 0: - if ((D_EBFBE0_801CD944 == 3 || planetId == D_EBFBE0_801CD954 || planetId == D_EBFBE0_801CD958) && + if ((D_EBFBE0_801CD944 == 3 || planetId == sCurrentPlanetId || planetId == D_EBFBE0_801CD958) && D_EBFBE0_801CD944 != 1 && D_EBFBE0_801CD944 != 7) { RCP_SetupDL(&gMasterDisp, 0x35); } else { @@ -4665,7 +4670,7 @@ void func_EBFBE0_801A7230(PlanetId planetId) { break; case 2: - if ((D_EBFBE0_801CD944 == 3 || planetId == D_EBFBE0_801CD954 || planetId == D_EBFBE0_801CD958) && + if ((D_EBFBE0_801CD944 == 3 || planetId == sCurrentPlanetId || planetId == D_EBFBE0_801CD958) && D_EBFBE0_801CD944 != 1 && D_EBFBE0_801CD944 != 7) { RCP_SetupDL(&gMasterDisp, 0x17); } else { @@ -5209,7 +5214,7 @@ void func_EBFBE0_801A8F40(void) { Matrix_Push(&gGfxMatrix); - Matrix_Mult(gGfxMatrix, &D_EBFBE0_801CDA60[D_EBFBE0_801CD954], 1); + Matrix_Mult(gGfxMatrix, &D_EBFBE0_801CDA60[sCurrentPlanetId], 1); Matrix_Translate(gGfxMatrix, 0.0f, D_EBFBE0_801CEAA8, 0.0f, 1); Matrix_RotateY(gGfxMatrix, M_DTOR * D_EBFBE0_801B6A7C, 1); Matrix_Scale(gGfxMatrix, 3.0f, 3.0f, 3.0f, 1); @@ -5227,31 +5232,31 @@ void func_EBFBE0_801A8F40(void) { void func_EBFBE0_801A914C(void) { D_EBFBE0_801CEAA8 = 140.0f; - if (D_EBFBE0_801CD954 == 9) { + if (sCurrentPlanetId == 9) { D_EBFBE0_801CEAA8 = 230.0f; } - if (D_EBFBE0_801CD954 == 1) { + if (sCurrentPlanetId == 1) { D_EBFBE0_801CEAA8 = 210.0f; } - if (D_EBFBE0_801CD954 == 0xE) { + if (sCurrentPlanetId == 0xE) { D_EBFBE0_801CEAA8 = 250.0f; } - if (D_EBFBE0_801CD954 == 4) { + if (sCurrentPlanetId == 4) { D_EBFBE0_801CEAA8 = 150.0f; } - if (D_EBFBE0_801CD954 == 5) { + if (sCurrentPlanetId == 5) { D_EBFBE0_801CEAA8 = 150.0f; } - if (D_EBFBE0_801CD954 == 3) { + if (sCurrentPlanetId == 3) { D_EBFBE0_801CEAA8 = 150.0f; } - if (D_EBFBE0_801CD954 == 0xD) { + if (sCurrentPlanetId == 0xD) { D_EBFBE0_801CEAA8 = 300.0f; } @@ -5263,14 +5268,14 @@ void func_EBFBE0_801A9224(void) { s32 i; s32 mask; - if ((planet[PLANET_METEO].alpha != 0) || (D_EBFBE0_801CD954 == 0)) { - if ((D_EBFBE0_801CD954 == 0) && (D_EBFBE0_801CD944 == 2) && (D_EBFBE0_801CD95C != 0)) { + if ((planet[PLANET_METEO].alpha != 0) || (sCurrentPlanetId == 0)) { + if ((sCurrentPlanetId == 0) && (D_EBFBE0_801CD944 == 2) && (D_EBFBE0_801CD95C != 0)) { mask = 0x00000001; } else { mask = 0xFFFFFFFF; } - if ((D_EBFBE0_801CD944 == 3) || ((D_EBFBE0_801CD954 == 0) && (D_EBFBE0_801CD944 != 7))) { + if ((D_EBFBE0_801CD944 == 3) || ((sCurrentPlanetId == 0) && (D_EBFBE0_801CD944 != 7))) { RCP_SetupDL(&gMasterDisp, 0x35); } else { RCP_SetupDL(&gMasterDisp, 0x40); @@ -5312,17 +5317,17 @@ void func_EBFBE0_801A9448(void) { s32 mask; static f32 D_EBFBE0_801B6A80 = -22.0f; - if ((planet[PLANET_AREA_6].alpha == 0) && (D_EBFBE0_801CD954 != PLANET_AREA_6)) { + if ((planet[PLANET_AREA_6].alpha == 0) && (sCurrentPlanetId != PLANET_AREA_6)) { return; } - if ((D_EBFBE0_801CD954 == PLANET_AREA_6) && (D_EBFBE0_801CD944 == 2) && (D_EBFBE0_801CD95C != 0)) { + if ((sCurrentPlanetId == PLANET_AREA_6) && (D_EBFBE0_801CD944 == 2) && (D_EBFBE0_801CD95C != 0)) { mask = 0x00000001; } else { mask = 0xFFFFFFFF; } - if ((D_EBFBE0_801CD944 == 3) || (D_EBFBE0_801CD954 == PLANET_AREA_6)) { + if ((D_EBFBE0_801CD944 == 3) || (sCurrentPlanetId == PLANET_AREA_6)) { RCP_SetupDL(&gMasterDisp, 0x17); } else { RCP_SetupDL(&gMasterDisp, 0x2E); @@ -5390,7 +5395,7 @@ void func_EBFBE0_801A9814(void) { void func_EBFBE0_801A9910(void) { static s32 D_EBFBE0_801B6A84[] = { 1, 13, 12, 11, 6, 2, 4, 10, 8, 0, 9, 5, 3, 7, 7 }; s32 i; - s32 var_s0 = D_EBFBE0_801B6A84[D_EBFBE0_801CD954]; + s32 var_s0 = D_EBFBE0_801B6A84[sCurrentPlanetId]; RCP_SetupDL(&gMasterDisp, 0x53); @@ -5551,10 +5556,10 @@ void func_EBFBE0_801A9FD4(s32 arg0) { f32 temp = 16.0f; if (arg0) { - var_s3 = D_80177B48; + var_s3 = gCurrentPlanet; } else { if ((D_80161A34 == 7) || (D_80161A34 == 8)) { - var_s3 = D_80177B48; + var_s3 = gCurrentPlanet; } if (D_80161A34 == 5) { var_s3 = D_EBFBE0_801CD9AC; @@ -5656,10 +5661,10 @@ void func_EBFBE0_801AA434(s32 arg0, f32 x, f32 y, s32 idx) { D_80177B70[arg0]); if (D_80161A34 == 7) { - temp = D_80177B48; + temp = gCurrentPlanet; } if ((D_80161A34 == 5) || (D_80161A34 == 8)) { - temp = D_80177B48 + 1; + temp = gCurrentPlanet + 1; } if (arg0 < temp) { @@ -5682,7 +5687,7 @@ void func_EBFBE0_801AA778(s32 arg0, f32 x, f32 y, PlanetId planetId) { s32 mask = 0xFFFFFFFF; if (gGameState == GSTATE_MAP) { - if (planetId == D_EBFBE0_801CD954) { + if (planetId == sCurrentPlanetId) { mask = 0x00000010; } } @@ -5867,7 +5872,7 @@ void func_EBFBE0_801AB17C(f32 x, f32 y, f32 z) { void func_EBFBE0_801AB284(void) { D_EBFBE0_801CD940 = 0; - D_80178308 = D_EBFBE0_801AF428[D_EBFBE0_801CD954][D_EBFBE0_801CD940]; + D_80178308 = D_EBFBE0_801AF428[sCurrentPlanetId][D_EBFBE0_801CD940]; D_80177D68 = D_EBFBE0_801AF420[D_EBFBE0_801CD940]; D_EBFBE0_801CF018 = 100; D_80178728 = 78; @@ -5907,7 +5912,7 @@ void func_EBFBE0_801AB300(void) { } D_EBFBE0_801CD940 = 1; - D_80178308 = D_EBFBE0_801AF428[D_EBFBE0_801CD954][D_EBFBE0_801CD940]; + D_80178308 = D_EBFBE0_801AF428[sCurrentPlanetId][D_EBFBE0_801CD940]; func_8001ACDC(Message_IdFromPtr(D_80178308)); @@ -5985,7 +5990,7 @@ void func_EBFBE0_801AB300(void) { break; } else { D_EBFBE0_801CD940 = 1; - D_80178308 = D_EBFBE0_801AF428[D_EBFBE0_801CD954][D_EBFBE0_801CD940]; + D_80178308 = D_EBFBE0_801AF428[sCurrentPlanetId][D_EBFBE0_801CD940]; func_8001ACDC(Message_IdFromPtr(D_80178308)); D_80177D68 = D_EBFBE0_801AF420[D_EBFBE0_801CD940]; D_801782A4 = D_80177D68; @@ -6982,3 +6987,7 @@ void func_EBFBE0_801AD7EC(s32 xPos, s32 yPos, s32 number) { Graphics_DisplaySmallNumber(xPos + 33.0f, yPos + 8.0f, number); } } + +#if MODS_LEVEL_SELECT == 1 +#include "../../mods/levelselect.c" +#endif diff --git a/src/overlays/ovl_menu/fox_option.c b/src/overlays/ovl_menu/fox_option.c index 49efe699..17f026e5 100644 --- a/src/overlays/ovl_menu/fox_option.c +++ b/src/overlays/ovl_menu/fox_option.c @@ -4,6 +4,8 @@ * Description: Starfox Option Menu Handler */ +#include "mods.h" + #include "global.h" #include "fox_option.h" @@ -339,7 +341,7 @@ UnkStruct_D_EBFBE0_801B9250 D_EBFBE0_801B9408; #endif void func_EBFBE0_80191B20(void) { - s32 var_a1_2; + bool enableExpertModes; bool var_v0_2; s32 i; @@ -357,18 +359,24 @@ void func_EBFBE0_80191B20(void) { D_EBFBE0_801AE5D0[i] = D_EBFBE0_801AE5A0[i]; } - var_a1_2 = 1; + enableExpertModes = true; for (i = 0; i < 16; i++) { if (i == SAVE_SLOT_VENOM_1) { continue; } if (!(gSaveFile.save.data.planet[i].normalMedal & 1)) { - var_a1_2 = 0; +#if MODS_LEVEL_SELECT == 1 + enableExpertModes = true; +#elif MODS_SFX_JUKEBOX == 1 + enableExpertModes = true; +#else + enableExpertModes = false; +#endif break; } } - D_EBFBE0_801B91C8 = var_a1_2; + D_EBFBE0_801B91C8 = enableExpertModes; D_80178348 = 0; D_80178350 = 0; D_80178354 = 0; @@ -399,7 +407,7 @@ void func_EBFBE0_80191B20(void) { if ((D_80161A34 == 5) || (D_80161A34 == 8)) { if (D_80161A34 == 8) { - D_80177B90[D_80177B48] = 13; + D_80177B90[gCurrentPlanet] = 13; if (D_800D3180[9] == 1) { gSaveFile.save.data.planet[SAVE_SLOT_VENOM_1].played = 1; if (var_v0_2 != 0) { @@ -409,7 +417,7 @@ void func_EBFBE0_80191B20(void) { } Save_Write(); } else if (D_800D3180[9] == 2) { - D_80177BB0[D_80177B48] = 1; + D_80177BB0[gCurrentPlanet] = 1; gSaveFile.save.data.planet[SAVE_SLOT_VENOM_2].played = 1; if (var_v0_2) { gSaveFile.save.data.planet[SAVE_SLOT_VENOM_2].expertClear = 1; @@ -577,7 +585,7 @@ void func_EBFBE0_80192190(void) { case 6: // Expert Sound Options - func_EBFBE0_80195944(); + Option_ExpertSoundUpdate(); break; case 2000: @@ -1627,7 +1635,10 @@ void func_EBFBE0_801958DC(void) { } // Expert Sound Options -void func_EBFBE0_80195944(void) { +#if MODS_SFX_JUKEBOX == 1 +#include "../../mods/sfxjukebox.c" +#else +void Option_ExpertSoundUpdate(void) { s32 pad; f32 sp28 = D_EBFBE0_801B931C; @@ -1665,6 +1676,7 @@ void func_EBFBE0_80195944(void) { } } } +#endif void func_EBFBE0_80195B74(void) { u8* temp_v0_4; @@ -3851,7 +3863,7 @@ s32 func_EBFBE0_8019C8C4(void) { s32 var_a0 = 0; s32 temp[10]; - for (i = 0; i < D_80177B48 + 1; i++) { + for (i = 0; i < gCurrentPlanet + 1; i++) { var_v0 += ((D_80177B50[i] & 0x00FF0000) >> 16) & 1; var_v0 += ((D_80177B50[i] & 0x0000FF00) >> 8) & 1; var_v0 += (D_80177B50[i] & 0x000000FF) & 1; @@ -4165,7 +4177,7 @@ void func_EBFBE0_8019D624(void) { sp142[10][1] = D_EBFBE0_801B9150[1][0]; sp142[10][2] = D_EBFBE0_801B9150[2][0]; - sp122[10] = D_80177B48 + 1; + sp122[10] = gCurrentPlanet + 1; sp116[10] = gLifeCount[0];