summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMegaMech <7255464+MegaMech@users.noreply.github.com>2025-01-01 07:36:36 -0700
committerMegaMech <7255464+MegaMech@users.noreply.github.com>2025-01-01 07:36:36 -0700
commit35fd8a412c7c40f5bd0ea4381c03b1f2ef4c7b3e (patch)
tree75ec62abeb0cc4e8c595bd28b7f191480cba5bcb
parent1080a7fb19c767b5e711fe7e14737dc05644408c (diff)
Fix compile
-rw-r--r--include/defines.h33
-rw-r--r--src/menu_items.c42
-rw-r--r--src/menus.c8
-rw-r--r--src/menus.h179
-rw-r--r--src/networking/start_game.c2
-rw-r--r--src/spawn_players.c6
6 files changed, 208 insertions, 62 deletions
diff --git a/include/defines.h b/include/defines.h
index f9c258b26..def02ebc6 100644
--- a/include/defines.h
+++ b/include/defines.h
@@ -48,25 +48,6 @@
#define HOLD_ALL_DPAD_AND_C_BUTTONS \
(U_JPAD | L_JPAD | R_JPAD | D_JPAD | U_CBUTTONS | L_CBUTTONS | R_CBUTTONS | D_CBUTTONS)
-/**
- * @brief Options for gDebugMenuSelection
- */
-#define DEBUG_MENU_DISABLED 1
-#define DEBUG_MENU_DEBUG_MODE 2
-#define DEBUG_MENU_COURSE 3
-#define DEBUG_MENU_SCREEN_MODE 4
-#define DEBUG_MENU_PLAYER 5
-#define DEBUG_MENU_SOUND_MODE 6
-#define DEBUG_MENU_GIVE_ALL_GOLD_CUP 7
-#define DEBUG_MENU_EXITED 64
-
-/**
- * @brief Options for gDebugGotoScene
- */
-#define DEBUG_GOTO_RACING 0
-#define DEBUG_GOTO_ENDING 1
-#define DEBUG_GOTO_CREDITS_SEQUENCE_CC_50 2
-#define DEBUG_GOTO_CREDITS_SEQUENCE_CC_EXTRA 3
/**
* @brief Jump to demo mode from the debug menu using L and A
@@ -229,20 +210,6 @@ enum { COURSE_ONE, COURSE_TWO, COURSE_THREE, COURSE_FOUR };
#define TIME_TRIALS_DATA_SELECTION_FROM_BACK_OUT 8
/**
- * @brief Options for gControllerPakMenuSelection
- */
-#define CONTROLLER_PAK_MENU_SELECT_RECORD 1
-#define CONTROLLER_PAK_MENU_END 2
-#define CONTROLLER_PAK_MENU_ERASE 3
-#define CONTROLLER_PAK_MENU_QUIT 4
-#define CONTROLLER_PAK_MENU_TABLE_GAME_DATA 5
-#define CONTROLLER_PAK_MENU_GO_TO_ERASING 6
-#define CONTROLLER_PAK_MENU_ERASING 7
-#define CONTROLLER_PAK_MENU_ERASE_ERROR_NOT_ERASED 8
-#define CONTROLLER_PAK_MENU_ERASE_ERROR_NO_PAK 9
-#define CONTROLLER_PAK_MENU_ERASE_ERROR_PAK_CHANGED 10
-
-/**
* @brief Options for gScreenModeSelection and gActiveScreenMode
*/
#define SCREEN_MODE_1P 0
diff --git a/src/menu_items.c b/src/menu_items.c
index 99a6d5b28..829453b5d 100644
--- a/src/menu_items.c
+++ b/src/menu_items.c
@@ -3772,9 +3772,9 @@ void func_80099AEC(void) {
#endif
}
#ifdef TARGET_N64
- mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureMap[var_s1->unk_4].offset]);
+ mio0decode(gMenuCompressedBuffer, (u8*) &gMenuTextureBuffer[sMenuTextureMap[var_s1->texNum].offset]);
#else
- memcpy(&gMenuTextureBuffer[sMenuTextureMap[var_s1->unk_4].offset], var_s1->texture->textureData,
+ memcpy(&gMenuTextureBuffer[sMenuTextureMap[var_s1->texNum].offset], var_s1->texture->textureData,
var_s1->texture->width * var_s1->texture->height * 2);
#endif
var_s1->texture = NULL;
@@ -4798,7 +4798,7 @@ void func_8009CE64(s32 arg0) {
s32 thing;
s32 var_a1;
UNUSED s32 stackPadding0;
- MenuItem* temp_v0;
+ MenuItem* menuItem;
var_a1 = 0;
if (gGamestate == 5) {
@@ -4827,9 +4827,9 @@ void func_8009CE64(s32 arg0) {
D_8018E7AC[arg0] = 5;
} else {
var_a1 = 0;
- temp_v0 = find_menu_items(0x000000B0);
- if (temp_v0 != NULL) {
- switch (temp_v0->cursor) { /* switch 8; irregular */
+ menuItem = find_menu_items(0x000000B0);
+ if (menuItem != NULL) {
+ switch (menuItem->state) { /* switch 8; irregular */
case 10: /* switch 8 */
func_802903B0();
break;
@@ -4846,9 +4846,9 @@ void func_8009CE64(s32 arg0) {
}
} else {
var_a1 = 0;
- temp_v0 = find_menu_items(0x000000AC);
- if (temp_v0 != NULL) {
- switch (temp_v0->cursor) { /* switch 7; irregular */
+ menuItem = find_menu_items(0x000000AC);
+ if (menuItem != NULL) {
+ switch (menuItem->state) { /* switch 7; irregular */
case 11: /* switch 7 */
func_802903B0();
D_8016556E = 1;
@@ -4860,9 +4860,9 @@ void func_8009CE64(s32 arg0) {
}
} else {
var_a1 = 0;
- temp_v0 = find_menu_items(0x000000C7);
- if (temp_v0 != NULL) {
- switch (temp_v0->cursor) { /* switch 1 */
+ menuItem = find_menu_items(0x000000C7);
+ if (menuItem != NULL) {
+ switch (menuItem->state) { /* switch 1 */
case 12: /* switch 1 */
func_802903B0();
var_a1 = 1;
@@ -4894,9 +4894,9 @@ void func_8009CE64(s32 arg0) {
gIsGamePaused = 0;
}
}
- temp_v0 = find_menu_items(0x000000BD);
- if (temp_v0 != NULL) {
- switch (temp_v0->cursor) { /* switch 2 */
+ menuItem = find_menu_items(0x000000BD);
+ if (menuItem != NULL) {
+ switch (menuItem->state) { /* switch 2 */
case 11: /* switch 2 */
D_8015F892 = 1;
D_8015F890 = 0;
@@ -7952,7 +7952,7 @@ void func_800A54EC(void) {
}
whyTheSequel = D_800F0B50[why];
sp50.column = var_v1->column - 8;
- sp50.row = (var_v1->row + ((sp48->cursor - whyTheSequel) * 0xD)) - 8;
+ sp50.row = (var_v1->row + ((sp48->state - whyTheSequel) * 0xD)) - 8;
func_800A66A8(sp48, &sp50);
}
@@ -8959,7 +8959,7 @@ void handle_menus_with_pri_arg(s32 priSpecial) {
case MENU_ITEM_TYPE_1CC:
case MENU_ITEM_TYPE_1CD:
case MENU_ITEM_TYPE_1CE:
- func_800AF480(entry);
+ func_800AF480(menuItem);
break;
case MENU_ITEM_UI_NONE:
case MENU_ITEM_UI_START_BACKGROUND:
@@ -8983,7 +8983,7 @@ void handle_menus_with_pri_arg(s32 priSpecial) {
} else if (priSpecial == 0) {
isRendered = true;
}
- if ((isRendered) && (j == (s8) var_s1->priority)) {
+ if ((isRendered) && (j == (s8) menuItem->priority)) {
render_menus(menuItem);
}
}
@@ -10273,7 +10273,7 @@ MenuItem* find_menu_items(s32 arg0) {
s32 get_character_menu_state(s32 arg0) {
MenuItem* temp;
temp = get_menu_item_character(arg0);
- return temp->cursor;
+ return temp->state;
}
void hover_cursor_over_character_portrait(MenuItem* arg0, s32 arg1) {
@@ -11071,7 +11071,7 @@ void func_800ACC50(MenuItem* arg0) {
}
break;
case 1:
- if (find_menu_items_dupe(0x000000B1)->cursor >= 2) {
+ if (find_menu_items_dupe(0x000000B1)->state >= 2) {
arg0->state = 2;
}
break;
@@ -11171,7 +11171,7 @@ void func_800ACF40(MenuItem* arg0) {
if (var_v1 == 0) {
arg0->param2++;
if (arg0->param2 >= 0x1F) {
- if (find_menu_items_dupe(0x000000B0)->cursor >= 2) {
+ if (find_menu_items_dupe(0x000000B0)->state >= 2) {
func_8009A640(arg0->D_8018DEE0_index, 0, temp_a2,
segmented_to_virtual_dupe_2(gCharacterCelebrateAnimation[temp_a1]));
arg0->state = 3;
diff --git a/src/menus.c b/src/menus.c
index f598ac218..71837b501 100644
--- a/src/menus.c
+++ b/src/menus.c
@@ -1176,7 +1176,7 @@ void splash_menu_act(struct Controller* controller, u16 arg1) {
if (btnAndStick & (A_BUTTON | START_BUTTON)) {
func_8009E1C0();
func_800CA330(0x19);
- gDebugMenuSelection = DEBUG_MENU_EXITED;
+ gDebugMenuSelection = DEBUG_MENU_OPTION_SELECTED;
if (controller->button & CONT_L) {
gDemoMode = DEMO_MODE_ACTIVE;
@@ -1188,15 +1188,15 @@ void splash_menu_act(struct Controller* controller, u16 arg1) {
if (btnAndStick & A_BUTTON) {
gDebugGotoScene = DEBUG_GOTO_ENDING;
} else {
- gDebugGotoScene = DEBUG_GOTO_CREDITS_SEQUENCE_CC_EXTRA;
+ gDebugGotoScene = DEBUG_GOTO_CREDITS_SEQUENCE_EXTRA;
}
}
play_sound2(SOUND_MENU_OK_CLICKED);
} else if ((btnAndStick & B_BUTTON) && (controller->button & Z_TRIG)) {
func_8009E1C0();
func_800CA330(0x19);
- gDebugMenuSelection = DEBUG_MENU_EXITED;
- gDebugGotoScene = DEBUG_GOTO_CREDITS_SEQUENCE_CC_50;
+ gDebugMenuSelection = DEBUG_MENU_OPTION_SELECTED;
+ gDebugGotoScene = DEBUG_GOTO_CREDITS_SEQUENCE_DEFAULT;
play_sound2(SOUND_MENU_OK_CLICKED);
} else if (btnAndStick & CONT_R) {
gDebugMenuSelection = DEBUG_MENU_DISABLED;
diff --git a/src/menus.h b/src/menus.h
index decb5cf37..b98f461c2 100644
--- a/src/menus.h
+++ b/src/menus.h
@@ -14,6 +14,185 @@ union GameModePack {
s32 word;
};
+/**
+ * @brief Options for gMenuFadeType
+ */
+enum MenuFadeTypes {
+ MENU_FADE_TYPE_MAIN,
+ MENU_FADE_TYPE_BACK,
+ MENU_FADE_TYPE_DEMO,
+ MENU_FADE_TYPE_DATA,
+ MENU_FADE_TYPE_OPTION,
+ MENU_FADE_TYPE_MAX
+};
+
+/**
+ * @brief Options for gSubMenuSelection
+ */
+enum SubMenuSelectionType {
+ SUB_MENU_NONE,
+ SUB_MENU_DATA, // 0x01, value repurposed in map select
+ SUB_MENU_MAP_SELECT_CUP = 0x01,
+ SUB_MENU_MAP_SELECT_COURSE,
+ SUB_MENU_MAP_SELECT_OK,
+ SUB_MENU_MAP_SELECT_BATTLE_COURSE,
+ SUB_MENU_DATA_OPTIONS = 0x0B,
+ SUB_MENU_DATA_ERASE_CONFIRM,
+ SUB_MENU_DATA_CANT_ERASE,
+ SUB_MENU_OPTION_MIN = 0x15,
+ SUB_MENU_OPTION_RETURN_GAME_SELECT = SUB_MENU_OPTION_MIN,
+ SUB_MENU_OPTION_SOUND_MODE,
+ SUB_MENU_OPTION_COPY_CONTROLLER_PAK,
+ SUB_MENU_OPTION_ERASE_ALL_DATA,
+ SUB_MENU_OPTION_MAX = SUB_MENU_OPTION_ERASE_ALL_DATA, // 0x18
+ SUB_MENU_ERASE_MIN = 0x1E,
+ SUB_MENU_ERASE_QUIT = SUB_MENU_ERASE_MIN,
+ SUB_MENU_ERASE_ERASE,
+ SUB_MENU_ERASE_MAX = SUB_MENU_ERASE_ERASE, // 0x1F
+ SUB_MENU_SAVE_DATA_ERASED, // 0x20
+ SUB_MENU_COPY_PAK_FROM_GHOST_MIN = 0x28,
+ SUB_MENU_COPY_PAK_FROM_GHOST1_1P = SUB_MENU_COPY_PAK_FROM_GHOST_MIN,
+ SUB_MENU_COPY_PAK_FROM_GHOST2_1P,
+ SUB_MENU_COPY_PAK_FROM_GHOST_MAX = SUB_MENU_COPY_PAK_FROM_GHOST2_1P, // 0x29
+ SUB_MENU_COPY_PAK_ERROR_2P_MIN, // 0x2A
+ SUB_MENU_COPY_PAK_ERROR_NO_GHOST_DATA = SUB_MENU_COPY_PAK_ERROR_2P_MIN,
+ SUB_MENU_COPY_PAK_ERROR_NO_GAME_DATA,
+ SUB_MENU_COPY_PAK_ERROR_NO_PAK_2P,
+ SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P,
+ SUB_MENU_COPY_PAK_ERROR_2P_MAX = SUB_MENU_COPY_PAK_ERROR_BAD_READ_2P, // 0x2D
+ SUB_MENU_COPY_PAK_TO_GHOST_MIN = 0x32,
+ SUB_MENU_COPY_PAK_TO_GHOST1_2P = SUB_MENU_COPY_PAK_TO_GHOST_MIN,
+ SUB_MENU_COPY_PAK_TO_GHOST2_2P,
+ SUB_MENU_COPY_PAK_TO_GHOST_MAX = SUB_MENU_COPY_PAK_TO_GHOST2_2P, // 0x33
+ SUB_MENU_COPY_PAK_ERROR_1P_MIN,
+ SUB_MENU_COPY_PAK_ERROR_NO_PAK_1P = SUB_MENU_COPY_PAK_ERROR_1P_MIN, // 0x34
+ SUB_MENU_COPY_PAK_ERROR_BAD_READ_1P,
+ SUB_MENU_COPY_PAK_ERROR_CANT_CREATE_1P,
+ SUB_MENU_COPY_PAK_ERROR_NO_PAGES_1P,
+ SUB_MENU_COPY_PAK_ERROR_1P_MAX,
+ SUB_MENU_COPY_PAK_PROMPT_MIN = SUB_MENU_COPY_PAK_ERROR_1P_MAX, // 0x38
+ SUB_MENU_COPY_PAK_PROMPT_QUIT = SUB_MENU_COPY_PAK_PROMPT_MIN,
+ SUB_MENU_COPY_PAK_PROMPT_COPY,
+ SUB_MENU_COPY_PAK_PROMPT_MAX = SUB_MENU_COPY_PAK_PROMPT_COPY, // 0x39
+ SUB_MENU_COPY_PAK_ACTION_MIN,
+ SUB_MENU_COPY_PAK_START = SUB_MENU_COPY_PAK_ACTION_MIN, // 0x3A
+ SUB_MENU_COPY_PAK_COPYING,
+ SUB_MENU_COPY_PAK_COMPLETED,
+ SUB_MENU_COPY_PAK_ACTION_MAX = SUB_MENU_COPY_PAK_COMPLETED, // 0x3C
+ SUB_MENU_COPY_PAK_UNABLE_ERROR_MIN = 0x41,
+ SUB_MENU_COPY_PAK_UNABLE_COPY_FROM_1P = SUB_MENU_COPY_PAK_UNABLE_ERROR_MIN,
+ SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P,
+ SUB_MENU_COPY_PAK_UNABLE_ERROR_MAX = SUB_MENU_COPY_PAK_UNABLE_READ_FROM_2P,
+ SUB_MENU_COPY_PAK_CREATE_GAME_DATA_INIT = 0x46,
+ SUB_MENU_COPY_PAK_CREATE_GAME_DATA_DONE
+};
+
+/**
+ * @brief Options for gMainMenuSelection
+ */
+enum MainMenuSelectionType {
+ MAIN_MENU_NONE,
+ MAIN_MENU_OPTION,
+ MAIN_MENU_DATA,
+ MAIN_MENU_PLAYER_SELECT,
+ MAIN_MENU_MODE_SELECT, // Mario GP - T. Trials - VS - Battle
+ MAIN_MENU_MODE_SUB_SELECT, // CC Selection and T.Trials options (Begin, Data)
+ MAIN_MENU_OK_SELECT, // OK option after selecting a submode
+ MAIN_MENU_OK_SELECT_GO_BACK, // OK option after going back from player select
+ MAIN_MENU_MODE_SUB_SELECT_GO_BACK // Used in T.Trials after going back to Data option from course data
+};
+
+/**
+ * @brief Options for gPlayerSelectMenuSelection
+ */
+enum PlayerSelectMenuSelectionTypes {
+ PLAYER_SELECT_MENU_NONE,
+ PLAYER_SELECT_MENU_MAIN,
+ PLAYER_SELECT_MENU_OK, // OK option after selecting characters
+ PLAYER_SELECT_MENU_OK_GO_BACK // OK option after going back from map select
+};
+
+/**
+ * @brief Options for gDebugMenuSelection
+ */
+enum DebugMenuSelectionTypes {
+ DEBUG_MENU_NONE,
+ DEBUG_MENU_DISABLED,
+ DEBUG_MENU_DEBUG_MODE,
+ DEBUG_MENU_COURSE,
+ DEBUG_MENU_SCREEN_MODE,
+ DEBUG_MENU_PLAYER,
+ DEBUG_MENU_SOUND_MODE,
+ DEBUG_MENU_GIVE_ALL_GOLD_CUP,
+ DEBUG_MENU_OPTION_SELECTED = 0x40
+};
+
+/**
+ * @brief Options for gControllerPakMenuSelection
+ */
+enum ControllerPakMenuSelectionTypes {
+ CONTROLLER_PAK_MENU_NONE,
+ CONTROLLER_PAK_MENU_SELECT_RECORD,
+ CONTROLLER_PAK_MENU_END,
+ CONTROLLER_PAK_MENU_ERASE,
+ CONTROLLER_PAK_MENU_QUIT,
+ CONTROLLER_PAK_MENU_TABLE_GAME_DATA,
+ CONTROLLER_PAK_MENU_GO_TO_ERASING,
+ CONTROLLER_PAK_MENU_ERASING,
+ CONTROLLER_PAK_MENU_ERASE_ERROR_NOT_ERASED,
+ CONTROLLER_PAK_MENU_ERASE_ERROR_NO_PAK,
+ CONTROLLER_PAK_MENU_ERASE_ERROR_PAK_CHANGED
+};
+
+/**
+ * @brief Options for gCourseRecordsMenuSelection
+ */
+enum CourseRecordsMenuSelectionTypes {
+ COURSE_RECORDS_MENU_MIN,
+ COURSE_RECORDS_MENU_RETURN_MENU = COURSE_RECORDS_MENU_MIN,
+ COURSE_RECORDS_MENU_ERASE_RECORDS,
+ COURSE_RECORDS_MENU_ERASE_GHOST,
+ COURSE_RECORDS_MENU_MAX = COURSE_RECORDS_MENU_ERASE_GHOST
+};
+
+/**
+ * @brief Options for gCourseRecordsSubMenuSelection
+ */
+enum CourseRecordsSubMenuSelectionTypes {
+ COURSE_RECORDS_SUB_MENU_MIN,
+ COURSE_RECORDS_SUB_MENU_QUIT = COURSE_RECORDS_SUB_MENU_MIN,
+ COURSE_RECORDS_SUB_MENU_ERASE,
+ COURSE_RECORDS_SUB_MENU_MAX = COURSE_RECORDS_SUB_MENU_ERASE
+};
+
+/**
+ * @brief Options for gDebugGotoScene
+ */
+enum DebugGotoSceneTypes {
+ DEBUG_GOTO_RACING,
+ DEBUG_GOTO_ENDING,
+ DEBUG_GOTO_CREDITS_SEQUENCE_DEFAULT,
+ DEBUG_GOTO_CREDITS_SEQUENCE_EXTRA
+};
+
+/**
+ * @brief Options for gFadeModeSelection
+ */
+enum FadeModeSelectionTypes {
+ FADE_MODE_NONE,
+ FADE_MODE_MAIN,
+ FADE_MODE_LOGO
+};
+
+/**
+ * @brief Options for gControllerPakScrollDirection
+ */
+enum ControllerPakScrollDirectionTypes {
+ CONTROLLER_PAK_SCROLL_DIR_NONE,
+ CONTROLLER_PAK_SCROLL_DIR_DOWN,
+ CONTROLLER_PAK_SCROLL_DIR_UP
+};
+
// This really, really shouldn't be in this header file, but I don't know where else to put it
void rmonPrintf(const char*, ...);
diff --git a/src/networking/start_game.c b/src/networking/start_game.c
index 63eabdd3e..4c0f3568b 100644
--- a/src/networking/start_game.c
+++ b/src/networking/start_game.c
@@ -129,7 +129,7 @@ void networking_start_session(const char* data) {
gModeSelection = GRAND_PRIX;
gPlayerCount = 1;
// gCurrentCourseId = 8;
- gDebugMenuSelection = DEBUG_MENU_EXITED;
+ gDebugMenuSelection = DEBUG_MENU_OPTION_SELECTED;
func_8009E1C0();
func_800CA330(0x19);
}
diff --git a/src/spawn_players.c b/src/spawn_players.c
index 82c1c1ba1..20fdc9b67 100644
--- a/src/spawn_players.c
+++ b/src/spawn_players.c
@@ -488,7 +488,7 @@ void func_80039DA4(void) {
};
if (((GetCupCursorPosition() == COURSE_ONE) && (D_8016556E == 0)) || (gDemoMode == 1) ||
- (gDebugMenuSelection == DEBUG_MENU_EXITED)) {
+ (gDebugMenuSelection == DEBUG_MENU_OPTION_SELECTED)) {
for (i = 0; i < NUM_PLAYERS; i++) {
D_80165270[i] = sp2C[i];
}
@@ -506,7 +506,7 @@ UNUSED s16 D_800E43A8 = 0;
void spawn_players_gp_one_player(f32* arg0, f32* arg1, f32 arg2) {
func_80039DA4();
if (((GetCupCursorPosition() == COURSE_ONE) && (D_8016556E == 0)) || (gDemoMode == 1) ||
- (gDebugMenuSelection == DEBUG_MENU_EXITED)) {
+ (gDebugMenuSelection == DEBUG_MENU_OPTION_SELECTED)) {
s16 rand;
s16 i;
@@ -639,7 +639,7 @@ void spawn_players_versus_one_player(f32* arg0, f32* arg1, f32 arg2) {
void spawn_players_gp_two_player(f32* arg0, f32* arg1, f32 arg2) {
func_80039DA4();
- if ((GetCupCursorPosition() == COURSE_ONE) || (gDemoMode == 1) || (gDebugMenuSelection == DEBUG_MENU_EXITED)) {
+ if ((GetCupCursorPosition() == COURSE_ONE) || (gDemoMode == 1) || (gDebugMenuSelection == DEBUG_MENU_OPTION_SELECTED)) {
s16 rand;
s16 i;