diff --git a/asm/bss_800029B0.s b/asm/bss_800029B0.s index 997a9ccd3..5b2adbc59 100644 --- a/asm/bss_800029B0.s +++ b/asm/bss_800029B0.s @@ -250,7 +250,7 @@ glabel gActorList glabel D_80162578 .skip 112 -glabel D_801625E8 +glabel gDebugPathCount .skip 2 glabel sIsController1Unplugged diff --git a/asm/non_matchings/code_80071F00/func_800729EC.s b/asm/non_matchings/code_80071F00/func_800729EC.s index ce19f1716..1bb81024d 100644 --- a/asm/non_matchings/code_80071F00/func_800729EC.s +++ b/asm/non_matchings/code_80071F00/func_800729EC.s @@ -1,7 +1,7 @@ glabel func_800729EC /* 0735EC 800729EC 27BDFFE8 */ addiu $sp, $sp, -0x18 /* 0735F0 800729F0 AFBF0014 */ sw $ra, 0x14($sp) -/* 0735F4 800729F4 0C0A3B6A */ jal func_8028EDA8 +/* 0735F4 800729F4 0C0A3B6A */ jal start_race /* 0735F8 800729F8 AFA40018 */ sw $a0, 0x18($sp) /* 0735FC 800729FC 0C01C922 */ jal func_80072488 /* 073600 80072A00 8FA40018 */ lw $a0, 0x18($sp) diff --git a/include/defines.h b/include/defines.h index dc90e1a2d..15726a6ed 100644 --- a/include/defines.h +++ b/include/defines.h @@ -1,6 +1,60 @@ #ifndef DEFINES_H #define DEFINES_H +/** + * Enable debug mode + * + * Press start to skip through menus + * + * Toggle resource meters by holding R and tapping B. L must not be held. + * + * Reset to start screen by holding A, B, R, and R. + * + * View player direction and currentPathPoint in a single player race during staging tap L while holding A and B. + * Turn off this UI by tapping R while holding A and B. + * @bug This looks like it should work at any point in the race. + * + * Set player 1 to the final lap by tapping D-pad up. + * Set player 1 and player 2 to the final lap by tapping D-pad right. + * Set player all players to the final lap by tapping D-pad down. + * + * Immediately start the race if any controller presses Z. + * + * As the ceremony cutscene starts hold a C or D-pad to switch characters. + * C UP = LUIGI + * C LEFT = YOSHI + * C RIGHT = TOAD + * C DOWN = DK + * D-pad UP = WARIO + * D-pad LEFT = PEACH + * D-pad RIGHT = BOWSER + * D-pad DOWN = MARIO + * +*/ +#define DEBUG_MODE FALSE +#define HOLD_ALL_DPAD_AND_C_BUTTONS (U_JPAD | L_JPAD | R_JPAD | D_JPAD | U_CBUTTONS | L_CBUTTONS | R_CBUTTONS | D_CBUTTONS) + +/** + * 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 + +/** + * Options for gDebugGotoScene + */ +#define DEBUG_GOTO_RACING 0 +#define DEBUG_GOTO_ENDING_SEQUENCE 1 +#define DEBUG_GOTO_CREDITS_SEQUENCE_CC_50 2 +#define DEBUG_GOTO_CREDITS_SEQUENCE_CC_EXTRA 3 + + /** * Racing terms: * Staging means aligning a racecar to the starting line. @@ -138,26 +192,6 @@ #define CONTROLLER_PAK_MENU_ERASE_ERROR_NO_PAK 9 #define CONTROLLER_PAK_MENU_ERASE_ERROR_PAK_CHANGED 10 -/** - * 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 - -/** - * Options for gDebugGotoScene - */ -#define DEBUG_GOTO_RACING 0 -#define DEBUG_GOTO_ENDING_SEQUENCE 1 -#define DEBUG_GOTO_CREDITS_SEQUENCE_CC_50 2 -#define DEBUG_GOTO_CREDITS_SEQUENCE_CC_EXTRA 3 - /** * Options for gScreenModeSelection and gActiveScreenMode */ diff --git a/src/code_80071F00.c b/src/code_80071F00.c index 856d2fca4..c461a3546 100644 --- a/src/code_80071F00.c +++ b/src/code_80071F00.c @@ -367,7 +367,7 @@ void func_800729EC(s32 arg0) { s8 temp_v1; struct_8018CA70_entry *var_v0; - func_8028EDA8(); + start_race(); func_80072488(arg0); D_8018D2BC = 1; D_8018D2A4 = 1; diff --git a/src/code_80091750.c b/src/code_80091750.c index eea61a0d9..2b9c09c68 100644 --- a/src/code_80091750.c +++ b/src/code_80091750.c @@ -1675,7 +1675,7 @@ void func_80095574(void) { debug_print_str2(0x00000046, 0x00000096, "*"); break; } - if (gEnableDebugMode != 0) { + if (gEnableDebugMode) { debug_print_str2(0x000000AA, 0x00000064, "on"); } else { debug_print_str2(0x000000AA, 0x00000064, "off"); diff --git a/src/code_80281780.c b/src/code_80281780.c index a77a6f170..9e0b322d9 100644 --- a/src/code_80281780.c +++ b/src/code_80281780.c @@ -14,10 +14,9 @@ #include "code_80005FD0.h" #include "code_802AAA70.h" -// unk4 is buttonDown? -void func_80281780(void) { - if (gEnableDebugMode != 0) { - if (gControllerOne->button & 0x0F0F) { +void debug_switch_character_ceremony_cutscene(void) { + if (gEnableDebugMode) { + if (gControllerOne->button & HOLD_ALL_DPAD_AND_C_BUTTONS) { // Allows to switch character in debug mode? if (gControllerOne->button & U_CBUTTONS) { gCharacterSelections[0] = LUIGI; @@ -42,6 +41,7 @@ void func_80281780(void) { } else { gCharacterSelections[0] = MARIO; } + // D_80284ED0 appears to be unused. bcopy(&D_80284ED0, &gCharacterIdByGPOverallRank, 8); } } @@ -132,7 +132,7 @@ void load_ceremony_cutscene(void) { func_802AF5AC(0x70023F8, 1); func_802AF5AC(0x7002478, 1); func_80295C6C(); - func_80281780(); + debug_switch_character_ceremony_cutscene(); func_802818BC(); func_8003D080(); func_8006E9C0(); diff --git a/src/code_80281780.h b/src/code_80281780.h index fa846013b..bcccb9431 100644 --- a/src/code_80281780.h +++ b/src/code_80281780.h @@ -3,7 +3,7 @@ /* Function Prototypes */ -void func_80281780(void); +void debug_switch_character_ceremony_cutscene(void); s32 func_80281880(s32 arg0); void func_802818BC(void); void load_ceremony_cutscene(void); diff --git a/src/main.c b/src/main.c index 6c0d96335..24d51ffc3 100644 --- a/src/main.c +++ b/src/main.c @@ -32,6 +32,7 @@ #include "render_courses.h" #include "actors.h" #include "staff_ghosts.h" +#include // Declarations (not in this file) void func_80091B78(void); @@ -59,7 +60,7 @@ struct Controller *gControllerOne = &gControllers[0]; struct Controller *gControllerTwo = &gControllers[1]; struct Controller *gControllerThree = &gControllers[2]; struct Controller *gControllerFour = &gControllers[3]; -struct Controller *gControllerFive = &gControllers[4]; +struct Controller *gControllerFive = &gControllers[4]; // All physical controllers combined.` struct Controller *gControllerSix = &gControllers[5]; struct Controller *gControllerSeven = &gControllers[6]; struct Controller *gControllerEight = &gControllers[7]; @@ -167,7 +168,7 @@ u16 D_800DC510 = 0; u16 D_800DC514 = 0; u16 D_800DC518 = 0; u16 D_800DC51C = 0; -u16 gEnableDebugMode = 0; +u16 gEnableDebugMode = DEBUG_MODE; s32 gGamestateNext = 7; // = COURSE_DATA_MENU?; UNUSED s32 D_800DC528 = 1; s32 gActiveScreenMode = SCREEN_MODE_1P; @@ -581,36 +582,36 @@ void race_logic_loop(void) { profiler_log_thread5_time(LEVEL_SCRIPT_EXECUTE); D_8015F788 = 0; func_802A59A4(); - if (gEnableDebugMode == 0) { - D_800DC514 = 0; + if (!gEnableDebugMode) { + D_800DC514 = FALSE; } else { - if (D_800DC514 != 0) { + if (D_800DC514) { if ((gControllerOne->buttonPressed & R_TRIG) && (gControllerOne->button & A_BUTTON) && (gControllerOne->button & B_BUTTON)) { - D_800DC514 = 0; + D_800DC514 = FALSE; } rotY = camera1->rot[1]; - D_801625E8 = D_800DC5EC->pathCounter; + gDebugPathCount = D_800DC5EC->pathCounter; if (rotY < 0x2000) { - func_80057A50(40, 100, "SOUTH ", D_801625E8); + func_80057A50(40, 100, "SOUTH ", gDebugPathCount); } else if (rotY < 0x6000) { - func_80057A50(40, 100, "EAST ", D_801625E8); + func_80057A50(40, 100, "EAST ", gDebugPathCount); } else if (rotY < 0xA000) { - func_80057A50(40, 100, "NORTH ", D_801625E8); + func_80057A50(40, 100, "NORTH ", gDebugPathCount); } else if (rotY < 0xE000) { - func_80057A50(40, 100, "WEST ", D_801625E8); + func_80057A50(40, 100, "WEST ", gDebugPathCount); } else { - func_80057A50(40, 100, "SOUTH ", D_801625E8); + func_80057A50(40, 100, "SOUTH ", gDebugPathCount); } } else { if ((gControllerOne->buttonPressed & L_TRIG) && (gControllerOne->button & A_BUTTON) && (gControllerOne->button & B_BUTTON)) { - D_800DC514 = 1; + D_800DC514 = TRUE; } } } @@ -793,10 +794,10 @@ void race_logic_loop(void) { break; } - if (gEnableDebugMode == 0) { + if (!gEnableDebugMode) { gEnableResourceMeters = 0; } else { - if (gEnableResourceMeters != 0) { + if (gEnableResourceMeters) { resource_display(); if ((!(gControllerOne->button & L_TRIG)) && (gControllerOne->button & R_TRIG) && diff --git a/src/main.h b/src/main.h index 8f0c20067..1bd5f0add 100644 --- a/src/main.h +++ b/src/main.h @@ -121,7 +121,7 @@ extern u16 gIsInQuitToMenuTransition; extern s32 D_8015F788; -extern s16 D_801625E8; +extern s16 gDebugPathCount; extern struct UnkStruct_800DC5EC *D_800DC5EC; extern u16 D_800DC5B0; diff --git a/src/menus.c b/src/menus.c index e11cd468c..882e2e707 100644 --- a/src/menus.c +++ b/src/menus.c @@ -235,8 +235,8 @@ void options_menu_act(struct Controller *controller, u16 arg1) { btnAndStick = (controller->buttonPressed | controller->stickPressed); - if (!gEnableDebugMode && (btnAndStick & CONT_START)) { - btnAndStick |= CONT_A; + if (!gEnableDebugMode && (btnAndStick & START_BUTTON)) { + btnAndStick |= A_BUTTON; } if (!func_800B4520()) { @@ -249,7 +249,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { case 0x18: { sp2C = FALSE; - if ((btnAndStick & CONT_DOWN) && (D_8018EDEC < 0x18)) { + if ((btnAndStick & D_JPAD) && (D_8018EDEC < 0x18)) { D_8018EDEC += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp38->unk24 < 4.2) { @@ -258,7 +258,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { sp38->unk8 = 1; sp2C = TRUE; } - if ((btnAndStick & CONT_UP) && (D_8018EDEC >= 0x16)) { + if ((btnAndStick & U_JPAD) && (D_8018EDEC >= 0x16)) { D_8018EDEC -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp38->unk24 < 4.2) { @@ -273,7 +273,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { update_save_data_backup(); sp38->unk4 = gSoundMode; } - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { func_8009E280(); play_sound2(SOUND_MENU_GO_BACK); if (gSoundMode != sp38->unk4) { @@ -284,7 +284,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { } return; } - if (btnAndStick & CONT_A) { + if (btnAndStick & A_BUTTON) { switch (D_8018EDEC) { case 0x16: if (gSoundMode < 3) { @@ -384,7 +384,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { case 0x1E: case 0x1F: { - if ((btnAndStick & CONT_DOWN) && (D_8018EDEC < 0x1F)) { + if ((btnAndStick & D_JPAD) && (D_8018EDEC < 0x1F)) { D_8018EDEC += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp38->unk24 < 4.2) { @@ -392,7 +392,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { } sp38->unk8 = 1; } - if ((btnAndStick & CONT_UP) && (D_8018EDEC >= 0x1F)) { + if ((btnAndStick & U_JPAD) && (D_8018EDEC >= 0x1F)) { D_8018EDEC -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp38->unk24 < 4.2) { @@ -400,12 +400,12 @@ void options_menu_act(struct Controller *controller, u16 arg1) { } sp38->unk8 = -1; } - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { D_8018EDEC = 0x18; play_sound2(SOUND_MENU_GO_BACK); return; } - if (btnAndStick & CONT_A) { + if (btnAndStick & A_BUTTON) { switch (D_8018EDEC) { case 0x1E: D_8018EDEC = 0x18; @@ -423,7 +423,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { } case 0x20: { - if (btnAndStick & (CONT_A | CONT_B | CONT_START)) { + if (btnAndStick & (A_BUTTON | B_BUTTON | START_BUTTON)) { D_8018EDEC = 0x18; play_sound2(SOUND_MENU_GO_BACK); } @@ -432,7 +432,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { case 0x28: case 0x29: { - if ((btnAndStick & CONT_DOWN) && (D_8018EDEC < 0x29) && (sp30[1].ghostDataSaved)) { + if ((btnAndStick & D_JPAD) && (D_8018EDEC < 0x29) && (sp30[1].ghostDataSaved)) { D_8018EDEC += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp38->unk24 < 4.2) { @@ -440,7 +440,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { } sp38->unk8 = 1; } - if ((btnAndStick & CONT_UP) && (D_8018EDEC >= 0x29) && sp30[0].ghostDataSaved) { + if ((btnAndStick & U_JPAD) && (D_8018EDEC >= 0x29) && sp30[0].ghostDataSaved) { D_8018EDEC -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp38->unk24 < 4.2) { @@ -448,12 +448,12 @@ void options_menu_act(struct Controller *controller, u16 arg1) { } sp38->unk8 = -1; } - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { D_8018EDEC = 0x17; play_sound2(SOUND_MENU_GO_BACK); return; } - if (btnAndStick & CONT_A) { + if (btnAndStick & A_BUTTON) { sp38->unk20 = D_8018EDEC - 0x28; if (sp30[sp38->unk20].courseIndex == D_8018EE10[1].courseIndex && D_8018EE10[1].ghostDataSaved) { D_8018EDEC = 0x33; @@ -469,7 +469,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { { // bit of a fake match, but if it works it works? if ((sp30[sp38->unk20].courseIndex != ((0, (D_8018EE10 + (D_8018EDEC - 0x32))->courseIndex))) || ((D_8018EE10 + (D_8018EDEC - 0x32))->ghostDataSaved == 0)) { - if ((btnAndStick & CONT_DOWN) && (D_8018EDEC < 0x33)) { + if ((btnAndStick & D_JPAD) && (D_8018EDEC < 0x33)) { D_8018EDEC += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp38->unk24 < 4.2) { @@ -477,7 +477,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { } sp38->unk8 = 1; } - if ((btnAndStick & CONT_UP) && (D_8018EDEC >= 0x33)) { + if ((btnAndStick & U_JPAD) && (D_8018EDEC >= 0x33)) { D_8018EDEC -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp38->unk24 < 4.2) { @@ -486,10 +486,10 @@ void options_menu_act(struct Controller *controller, u16 arg1) { sp38->unk8 = -1; } } - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { D_8018EDEC = sp38->unk20 + 0x28; play_sound2(SOUND_MENU_GO_BACK); - } else if (btnAndStick & CONT_A) { + } else if (btnAndStick & A_BUTTON) { sp38->unk1C = D_8018EDEC - 0x32; if (D_8018EE10[(sp38->unk1C)].ghostDataSaved) { D_8018EDEC = 0x38; @@ -512,7 +512,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { case 0x41: case 0x42: { - if (btnAndStick & (CONT_A | CONT_B | CONT_START)) { + if (btnAndStick & (A_BUTTON | B_BUTTON | START_BUTTON)) { D_8018EDEC = 0x17; play_sound2(SOUND_MENU_GO_BACK); } @@ -521,7 +521,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { case 0x38: case 0x39: { - if ((btnAndStick & CONT_RIGHT) && D_8018EDEC < 0x39) { + if ((btnAndStick & R_JPAD) && D_8018EDEC < 0x39) { D_8018EDEC += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp38->unk24 < 4.2) { @@ -529,7 +529,7 @@ void options_menu_act(struct Controller *controller, u16 arg1) { } sp38->unk8 = 1; } - if ((btnAndStick & CONT_LEFT) && D_8018EDEC >= 0x39) { + if ((btnAndStick & L_JPAD) && D_8018EDEC >= 0x39) { D_8018EDEC -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp38->unk24 < 4.2) { @@ -537,12 +537,12 @@ void options_menu_act(struct Controller *controller, u16 arg1) { } sp38->unk8 = -1; } - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { D_8018EDEC = sp38->unk1C + 0x32; play_sound2(SOUND_MENU_GO_BACK); return; } - if (btnAndStick & CONT_A) { + if (btnAndStick & A_BUTTON) { if (D_8018EDEC == 0x38) { D_8018EDEC = 0x17; play_sound2(SOUND_MENU_GO_BACK); @@ -686,20 +686,20 @@ void course_data_menu_act(struct Controller *controller, UNUSED u16 arg1) { btnAndStick = (controller->buttonPressed | controller->stickPressed); - if (!gEnableDebugMode && (btnAndStick & CONT_START)) { - btnAndStick |= CONT_A; + if (!gEnableDebugMode && (btnAndStick & START_BUTTON)) { + btnAndStick |= A_BUTTON; } if (!func_800B4520()) { switch(D_8018EDEC) { case 0x0B: { - if ((btnAndStick & CONT_LEFT) && (gTimeTrialDataCourseIndex > 0)) { + if ((btnAndStick & L_JPAD) && (gTimeTrialDataCourseIndex > 0)) { gTimeTrialDataCourseIndex -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); } - if ((btnAndStick & CONT_RIGHT) && (gTimeTrialDataCourseIndex < 15)) { + if ((btnAndStick & R_JPAD) && (gTimeTrialDataCourseIndex < 15)) { gTimeTrialDataCourseIndex += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); } @@ -716,7 +716,7 @@ void course_data_menu_act(struct Controller *controller, UNUSED u16 arg1) { gCourseRecordsMenuSelection -= 1; } - if ((btnAndStick & CONT_UP) && (gCourseRecordsMenuSelection > 0)) { + if ((btnAndStick & U_JPAD) && (gCourseRecordsMenuSelection > 0)) { gCourseRecordsMenuSelection -= 1; if (gCourseRecordsMenuSelection == 1 && sp24->unknownBytes[0] == 0) { gCourseRecordsMenuSelection -= 1; @@ -728,7 +728,7 @@ void course_data_menu_act(struct Controller *controller, UNUSED u16 arg1) { sp28->unk8 = -1; } - if ((btnAndStick & CONT_DOWN) && (gCourseRecordsMenuSelection < 2)) { + if ((btnAndStick & D_JPAD) && (gCourseRecordsMenuSelection < 2)) { gCourseRecordsMenuSelection += 1; if (gCourseRecordsMenuSelection == 1 && sp24->unknownBytes[0] == 0) { gCourseRecordsMenuSelection += 1; @@ -749,10 +749,10 @@ void course_data_menu_act(struct Controller *controller, UNUSED u16 arg1) { } } - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { func_8009E208(); play_sound2(SOUND_MENU_GO_BACK); - } else if (btnAndStick & CONT_A) { + } else if (btnAndStick & A_BUTTON) { if (sp28->unk24 < 4.2) { sp28->unk24 += 4.0; } @@ -770,7 +770,7 @@ void course_data_menu_act(struct Controller *controller, UNUSED u16 arg1) { case 0x0C: { sp28 = find_8018D9E0_entry_dupe(0xE9); - if ((btnAndStick & CONT_UP) && (D_8018EDF9 > 0)) { + if ((btnAndStick & U_JPAD) && (D_8018EDF9 > 0)) { D_8018EDF9 -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp28->unk24 < 4.2) { @@ -779,7 +779,7 @@ void course_data_menu_act(struct Controller *controller, UNUSED u16 arg1) { sp28->unk8 = -1; } - if ((btnAndStick & CONT_DOWN) && (D_8018EDF9 <= 0)) { + if ((btnAndStick & D_JPAD) && (D_8018EDF9 <= 0)) { D_8018EDF9 += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); if (sp28->unk24 < 4.2) { @@ -788,10 +788,10 @@ void course_data_menu_act(struct Controller *controller, UNUSED u16 arg1) { sp28->unk8 = 1; } - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { D_8018EDEC = 0xB; play_sound2(SOUND_MENU_GO_BACK); - } else if (btnAndStick & CONT_A) { + } else if (btnAndStick & A_BUTTON) { if (D_8018EDF9 != 0) { res = 0; switch (gCourseRecordsMenuSelection) { @@ -831,7 +831,7 @@ void course_data_menu_act(struct Controller *controller, UNUSED u16 arg1) { } case 0x0D: { - if (btnAndStick & (CONT_A | CONT_B | CONT_START)) { + if (btnAndStick & (A_BUTTON | B_BUTTON | START_BUTTON)) { D_8018EDEC = 0xB; } break; @@ -1008,12 +1008,11 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { if (arg1 == 0) { gMenuDelayTimer += 1; } - switch (gDebugMenuSelection) { case DEBUG_MENU_DISABLED: { sp28 = FALSE; - if ((gMenuDelayTimer >= 0x2E) && (btnAndStick & (CONT_A | CONT_START))) { + if ((gMenuDelayTimer >= 0x2E) && (btnAndStick & (A_BUTTON | START_BUTTON))) { func_8009E1C0(); func_800CA330(0x19); play_sound2(SOUND_INTRO_ENTER_MENU); @@ -1024,15 +1023,15 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { } case DEBUG_MENU_DEBUG_MODE: { - if (btnAndStick & (CONT_RIGHT | CONT_LEFT)) { + if (btnAndStick & (R_JPAD | L_JPAD)) { play_sound2(SOUND_MENU_CURSOR_MOVE); if (gEnableDebugMode) { - gEnableDebugMode = FALSE; + gEnableDebugMode = DEBUG_MODE; } else { gEnableDebugMode = TRUE; } } - if (btnAndStick & CONT_DOWN) { + if (btnAndStick & D_JPAD) { play_sound2(SOUND_MENU_CURSOR_MOVE); gDebugMenuSelection = DEBUG_MENU_COURSE; } @@ -1040,7 +1039,7 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { } case DEBUG_MENU_COURSE: { - if (btnAndStick & CONT_RIGHT) { + if (btnAndStick & R_JPAD) { play_sound2(SOUND_MENU_CURSOR_MOVE); if (gCurrentCourseId < 0x13) { gCurrentCourseId += 1; @@ -1048,7 +1047,7 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { gCurrentCourseId = 0; } } - if (btnAndStick & CONT_LEFT) { + if (btnAndStick & L_JPAD) { play_sound2(SOUND_MENU_CURSOR_MOVE); if (gCurrentCourseId > 0) { gCurrentCourseId -= 1; @@ -1056,11 +1055,11 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { gCurrentCourseId = 0x13; } } - if (btnAndStick & CONT_UP) { + if (btnAndStick & U_JPAD) { play_sound2(SOUND_MENU_CURSOR_MOVE); gDebugMenuSelection = DEBUG_MENU_DEBUG_MODE; } - if (btnAndStick & CONT_DOWN) { + if (btnAndStick & D_JPAD) { play_sound2(SOUND_MENU_CURSOR_MOVE); gDebugMenuSelection = DEBUG_MENU_SCREEN_MODE; } @@ -1068,21 +1067,21 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { } case DEBUG_MENU_SCREEN_MODE: { - if ((btnAndStick & CONT_RIGHT) && (D_8018EDF1 < 4)) { + if ((btnAndStick & R_JPAD) && (D_8018EDF1 < 4)) { D_8018EDF1 += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); gScreenModeSelection = D_800F2B50[D_8018EDF1]; } - if ((btnAndStick & CONT_LEFT) && (D_8018EDF1 > 0)) { + if ((btnAndStick & L_JPAD) && (D_8018EDF1 > 0)) { D_8018EDF1 -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); gScreenModeSelection = D_800F2B50[D_8018EDF1]; } - if (btnAndStick & CONT_UP) { + if (btnAndStick & U_JPAD) { gDebugMenuSelection = DEBUG_MENU_COURSE; play_sound2(SOUND_MENU_CURSOR_MOVE); } - if (btnAndStick & CONT_DOWN) { + if (btnAndStick & D_JPAD) { gDebugMenuSelection = DEBUG_MENU_PLAYER; play_sound2(SOUND_MENU_CURSOR_MOVE); } @@ -1090,19 +1089,19 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { } case DEBUG_MENU_PLAYER: { - if ((btnAndStick & CONT_RIGHT) && (*gCharacterSelections < 7)) { + if ((btnAndStick & R_JPAD) && (*gCharacterSelections < 7)) { gCharacterSelections[0] += 1; play_sound2(SOUND_MENU_CURSOR_MOVE); } - if ((btnAndStick & CONT_LEFT) && (gCharacterSelections[0] > 0)) { + if ((btnAndStick & L_JPAD) && (gCharacterSelections[0] > 0)) { gCharacterSelections[0] -= 1; play_sound2(SOUND_MENU_CURSOR_MOVE); } - if (btnAndStick & CONT_UP) { + if (btnAndStick & U_JPAD) { gDebugMenuSelection = DEBUG_MENU_SCREEN_MODE; play_sound2(SOUND_MENU_CURSOR_MOVE); } - if (btnAndStick & CONT_DOWN) { + if (btnAndStick & D_JPAD) { gDebugMenuSelection = DEBUG_MENU_SOUND_MODE; play_sound2(SOUND_MENU_CURSOR_MOVE); } @@ -1110,7 +1109,7 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { } case DEBUG_MENU_SOUND_MODE: { - if ((btnAndStick & CONT_RIGHT) && (gSoundMode < 3)) { + if ((btnAndStick & R_JPAD) && (gSoundMode < 3)) { gSoundMode += 1; if (gSoundMode == SOUND_UNUSED) { gSoundMode = SOUND_MONO; @@ -1121,7 +1120,7 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { write_save_data_grand_prix_points_and_sound_mode(); update_save_data_backup(); } - if ((btnAndStick & CONT_LEFT) && (gSoundMode > 0)) { + if ((btnAndStick & L_JPAD) && (gSoundMode > 0)) { gSoundMode -= 1; if (gSoundMode == SOUND_UNUSED) { gSoundMode = SOUND_HEADPHONES; @@ -1131,11 +1130,11 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { gSaveDataSoundMode = gSoundMode; write_save_data_grand_prix_points_and_sound_mode(); } - if (btnAndStick & CONT_UP) { + if (btnAndStick & U_JPAD) { gDebugMenuSelection = DEBUG_MENU_PLAYER; play_sound2(SOUND_MENU_CURSOR_MOVE); } - if (btnAndStick & CONT_DOWN) { + if (btnAndStick & D_JPAD) { gDebugMenuSelection = DEBUG_MENU_GIVE_ALL_GOLD_CUP; play_sound2(SOUND_MENU_CURSOR_MOVE); } @@ -1143,11 +1142,11 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { } case DEBUG_MENU_GIVE_ALL_GOLD_CUP: { - if (btnAndStick & CONT_UP) { + if (btnAndStick & U_JPAD) { gDebugMenuSelection = DEBUG_MENU_SOUND_MODE; play_sound2(SOUND_MENU_CURSOR_MOVE); } - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { for (i = 0; i < 16; i++) { func_800B5404(0, i); } @@ -1160,7 +1159,7 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { } play_sound2(SOUND_MENU_SELECT); break; - } else if (btnAndStick & CONT_LEFT) { + } else if (btnAndStick & L_JPAD) { reset_save_data_grand_prix_points_and_sound_mode(); for (i = 0; i < 16; i++) { if (i % 4 == 2) { @@ -1181,7 +1180,7 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { gPlayerCountSelection1 = D_8018EDF3 = D_800F2B58[D_8018EDF1]; if (sp28) { - if (btnAndStick & (CONT_A | CONT_START)) { + if (btnAndStick & (A_BUTTON | START_BUTTON)) { func_8009E1C0(); func_800CA330(0x19); gDebugMenuSelection = DEBUG_MENU_EXITED; @@ -1193,14 +1192,14 @@ void splash_menu_act(struct Controller *controller, u16 arg1) { } if (controller->button & Z_TRIG) { - if (btnAndStick & CONT_A) { + if (btnAndStick & A_BUTTON) { gDebugGotoScene = DEBUG_GOTO_ENDING_SEQUENCE; } else { gDebugGotoScene = DEBUG_GOTO_CREDITS_SEQUENCE_CC_EXTRA; } } play_sound2(SOUND_MENU_OK_CLICKED); - } else if ((btnAndStick & CONT_B) && (controller->button & Z_TRIG)) { + } else if ((btnAndStick & B_BUTTON) && (controller->button & Z_TRIG)) { func_8009E1C0(); func_800CA330(0x19); gDebugMenuSelection = DEBUG_MENU_EXITED; @@ -1256,8 +1255,8 @@ void main_menu_act(struct Controller *controller, u16 arg1) { s32 newMode; // temp_v1_2? btnAndStick = controller->buttonPressed | controller->stickPressed; - if (!gEnableDebugMode && (btnAndStick & CONT_START)) { - btnAndStick |= CONT_A; + if (!gEnableDebugMode && (btnAndStick & START_BUTTON)) { + btnAndStick |= A_BUTTON; } if (!func_800B4520()) { @@ -1269,12 +1268,12 @@ void main_menu_act(struct Controller *controller, u16 arg1) { } case PLAYER_NUM_SELECTION: { - if ((btnAndStick & CONT_RIGHT) && D_8018EDF3 < 4) { + if ((btnAndStick & R_JPAD) && D_8018EDF3 < 4) { D_8018EDF3 += 1; func_800B44AC(); play_sound2(SOUND_MENU_CURSOR_MOVE); } - if ((btnAndStick & CONT_LEFT) && D_8018EDF3 >= 2) { + if ((btnAndStick & L_JPAD) && D_8018EDF3 >= 2) { D_8018EDF3 -= 1; func_800B44AC(); play_sound2(SOUND_MENU_CURSOR_MOVE); @@ -1288,13 +1287,13 @@ void main_menu_act(struct Controller *controller, u16 arg1) { case 4: gScreenModeSelection = SCREEN_MODE_3P_4P_SPLITSCREEN; break; } // L800B2B94 - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { func_8009E0F0(0x14); func_800CA330(0x19); D_8018EDE0 = 1; play_sound2(SOUND_MENU_GO_BACK); newMode = gGameModeFromNumPlayersAndRowSelection[D_8018EDF3][D_800E86AC[D_8018EDF3 - 1]]; - } else if (btnAndStick & CONT_A) { + } else if (btnAndStick & A_BUTTON) { // L800B2C00 gMainMenuSelectionDepth = GAME_MODE_SELECTION; func_800B44AC(); @@ -1318,7 +1317,7 @@ void main_menu_act(struct Controller *controller, u16 arg1) { } case GAME_MODE_SELECTION: { - if (btnAndStick & CONT_DOWN) { + if (btnAndStick & D_JPAD) { if (D_800E86AC[D_8018EDF3 - 1] < D_800F2B58[D_8018EDF3 + 7]) { D_800E86AC[D_8018EDF3 - 1] += 1; func_800B44AC(); @@ -1326,7 +1325,7 @@ void main_menu_act(struct Controller *controller, u16 arg1) { } } // L800B2D94 - if (btnAndStick & CONT_UP) { + if (btnAndStick & U_JPAD) { if (D_800E86AC[D_8018EDF3 - 1] > 0) { D_800E86AC[D_8018EDF3 - 1] -= 1; func_800B44AC(); @@ -1334,12 +1333,12 @@ void main_menu_act(struct Controller *controller, u16 arg1) { } } // L800B2DE0 - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { gMainMenuSelectionDepth = PLAYER_NUM_SELECTION; func_800B44AC(); play_sound2(SOUND_MENU_GO_BACK); newMode = gGameModeFromNumPlayersAndRowSelection[D_8018EDF3][D_800E86AC[D_8018EDF3 - 1]]; - } else if (btnAndStick & CONT_A) { + } else if (btnAndStick & A_BUTTON) { // L800B2E3C switch(gGameModeFromNumPlayersAndRowSelection[D_8018EDF3][D_800E86AC[D_8018EDF3 - 1]]) { case 0: @@ -1383,13 +1382,13 @@ void main_menu_act(struct Controller *controller, u16 arg1) { } // L800B3000 sp28 = D_800E86B0[D_8018EDF3 - 1][D_800E86AC[D_8018EDF3 - 1]]; - if ((btnAndStick & CONT_UP) && (sp28 > 0)) { + if ((btnAndStick & U_JPAD) && (sp28 > 0)) { D_800E86B0[D_8018EDF3 - 1][D_800E86AC[D_8018EDF3 - 1]] -= 1; func_800B44AC(); play_sound2(SOUND_MENU_CURSOR_MOVE); } // L800B3068 - if (btnAndStick & CONT_DOWN) { + if (btnAndStick & D_JPAD) { sp24 = FALSE; if (func_800B555C()) { if (sp28 < D_800F2B60[D_8018EDF3 + 4][D_800E86AC[D_8018EDF3 - 1] + 1]) { @@ -1410,12 +1409,12 @@ void main_menu_act(struct Controller *controller, u16 arg1) { } // L800B3150 sp28 = D_800E86B0[D_8018EDF3 - 1][D_800E86AC[D_8018EDF3 - 1]]; - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { gMainMenuSelectionDepth = GAME_MODE_SELECTION; func_800B44AC(); play_sound2(SOUND_MENU_GO_BACK); newMode = gGameModeFromNumPlayersAndRowSelection[D_8018EDF3][D_800E86AC[D_8018EDF3 - 1]]; - } else if (btnAndStick & CONT_A) { + } else if (btnAndStick & A_BUTTON) { // L800B31DC func_800B44AC(); if (D_8018EDF3 == 1 && D_800E86AC[D_8018EDF3 - 1] == 1 && sp28 == 1) { @@ -1440,7 +1439,7 @@ void main_menu_act(struct Controller *controller, u16 arg1) { play_sound2(SOUND_MENU_OK); } // L800B330C - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { switch (gGameModeFromNumPlayersAndRowSelection[D_8018EDF3][D_800E86AC[D_8018EDF3 - 1]]) { case 0: case 1: @@ -1457,7 +1456,7 @@ void main_menu_act(struct Controller *controller, u16 arg1) { play_sound2(SOUND_MENU_GO_BACK); gMenuTimingCounter = 0; newMode = gGameModeFromNumPlayersAndRowSelection[D_8018EDF3][D_800E86AC[D_8018EDF3 - 1]]; - } else if (btnAndStick & CONT_A) { + } else if (btnAndStick & A_BUTTON) { // L800B33D8 func_8009E1C0(); play_sound2(SOUND_MENU_OK_CLICKED); @@ -1507,8 +1506,8 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { s8 i; btnAndStick = (controller->buttonPressed) | (controller->stickPressed); - if (!gEnableDebugMode && btnAndStick & CONT_START) { - btnAndStick |= CONT_A; + if (!gEnableDebugMode && btnAndStick & START_BUTTON) { + btnAndStick |= A_BUTTON; } if (!func_800B4520()) { @@ -1516,14 +1515,14 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { case 1: { if (gCharacterGridSelections[arg1] == 0) { - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { func_8009E208(); play_sound2(SOUND_MENU_GO_BACK); } return; } // L800B3630 - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { if (D_8018EDE8[arg1]) { D_8018EDE8[arg1] = FALSE; play_sound2(SOUND_MENU_GO_BACK); @@ -1533,7 +1532,7 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { } } // L800B3684 - if ((btnAndStick & CONT_A) && !D_8018EDE8[arg1]) { + if ((btnAndStick & A_BUTTON) && !D_8018EDE8[arg1]) { D_8018EDE8[arg1] = TRUE; func_800C90F4( arg1, @@ -1556,7 +1555,7 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { } // L800B3768 if (D_8018EDE8[arg1]) { - if ((btnAndStick & CONT_RIGHT) && (btnAndStick & CONT_DOWN)) { + if ((btnAndStick & R_JPAD) && (btnAndStick & D_JPAD)) { if (gCharacterGridSelections[arg1] == 1 || gCharacterGridSelections[arg1] == 2 || gCharacterGridSelections[arg1] == 3) { // L800B37B0 if (is_character_spot_free(gCharacterGridSelections[arg1] + 5)) { @@ -1567,7 +1566,7 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { return; } // L800B37E4 - if ((btnAndStick & CONT_LEFT) && (btnAndStick & CONT_DOWN)) { + if ((btnAndStick & L_JPAD) && (btnAndStick & D_JPAD)) { if (gCharacterGridSelections[arg1] == 2 || gCharacterGridSelections[arg1] == 3 || gCharacterGridSelections[arg1] == 4) { if (is_character_spot_free(gCharacterGridSelections[arg1] + 3)) { gCharacterGridSelections[arg1] += 3; @@ -1577,7 +1576,7 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { return; } // L800B3844 - if ((btnAndStick & CONT_RIGHT) && (btnAndStick & CONT_UP)) { + if ((btnAndStick & R_JPAD) && (btnAndStick & U_JPAD)) { if (gCharacterGridSelections[arg1] == 5 || gCharacterGridSelections[arg1] == 6 || gCharacterGridSelections[arg1] == 7) { if (is_character_spot_free(gCharacterGridSelections[arg1] - 3)) { gCharacterGridSelections[arg1] -= 3; @@ -1587,7 +1586,7 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { return; } // L800B38A0 - if ((btnAndStick & CONT_LEFT) && (btnAndStick & CONT_UP)) { + if ((btnAndStick & L_JPAD) && (btnAndStick & U_JPAD)) { if (gCharacterGridSelections[arg1] == 6 || gCharacterGridSelections[arg1] == 7 || gCharacterGridSelections[arg1] == 8) { if (is_character_spot_free(gCharacterGridSelections[arg1] - 5)) { gCharacterGridSelections[arg1] -= 5; @@ -1597,7 +1596,7 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { return; } // L800B38FC - if (btnAndStick & CONT_RIGHT) { + if (btnAndStick & R_JPAD) { if (gCharacterGridSelections[arg1] != 4 && gCharacterGridSelections[arg1] != 8) { do { // L800B391C @@ -1613,7 +1612,7 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { return; } // L800B3978 - if (btnAndStick & CONT_LEFT) { + if (btnAndStick & L_JPAD) { if (gCharacterGridSelections[arg1] != 1 && gCharacterGridSelections[arg1] != 5) { do { if (is_character_spot_free(gCharacterGridSelections[arg1] - 1)) { @@ -1627,10 +1626,10 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { return; } // L800B39F4 - if ((btnAndStick & CONT_UP) && (gCharacterGridSelections[arg1] >= 5)) { + if ((btnAndStick & U_JPAD) && (gCharacterGridSelections[arg1] >= 5)) { gCharacterGridSelections[arg1] -= 4; } - if ((btnAndStick & CONT_DOWN) && (gCharacterGridSelections[arg1] < 5)) { + if ((btnAndStick & D_JPAD) && (gCharacterGridSelections[arg1] < 5)) { gCharacterGridSelections[arg1] += 4; } // L800B3A30 @@ -1648,11 +1647,11 @@ void player_select_menu_act(struct Controller *controller, u16 arg1) { play_sound2(SOUND_MENU_OK); } // L800B3AA4 - if (btnAndStick & CONT_B) { + if (btnAndStick & B_BUTTON) { D_8018EDEE = 1; D_8018EDE8[arg1] = FALSE; play_sound2(SOUND_MENU_GO_BACK); - } else if (btnAndStick & CONT_A) { + } else if (btnAndStick & A_BUTTON) { func_8009E1C0(); play_sound2(SOUND_MENU_OK_CLICKED); func_8000F124(); @@ -1675,7 +1674,7 @@ GLOBAL_ASM("asm/non_matchings/menus/player_select_menu_act.s") void course_select_menu_act(struct Controller *arg0, u16 arg1) { u16 buttonAndStickPress = (arg0->buttonPressed | arg0->stickPressed); - if ((gEnableDebugMode == 0) && ((buttonAndStickPress & 0x1000) != 0)) { + if ((!gEnableDebugMode) && ((buttonAndStickPress & 0x1000) != 0)) { buttonAndStickPress |= 0x8000; } @@ -1813,7 +1812,7 @@ void func_800B3F74(s32 menuSelection) { case 10: { gIsMirrorMode = 0; - gEnableDebugMode = 0; + gEnableDebugMode = DEBUG_MODE; gCupSelection = MUSHROOM_CUP; gCupCourseSelection = 0; gTimeTrialDataCourseIndex = 0; @@ -1832,7 +1831,7 @@ void func_800B3F74(s32 menuSelection) { case 1: case 11: { - gEnableDebugMode = 0; + gEnableDebugMode = DEBUG_MODE; gIsMirrorMode = 0; D_8018EDFC = 0; func_800B5F30(); diff --git a/src/race_logic.c b/src/race_logic.c index 91d61c7f0..0a7b5e3ef 100644 --- a/src/race_logic.c +++ b/src/race_logic.c @@ -535,7 +535,7 @@ void func_8028EC98(s32 arg0) { } -void func_8028EDA8(void) { +void start_race(void) { s32 i; D_8015011E = -1; @@ -738,11 +738,11 @@ void func_8028F474(void) { } void func_8028F4E8(void) { - if (gEnableDebugMode != 0) { - if (((gControllerFive->button & 0x10) != 0) && - ((gControllerFive->button & 0x20) != 0) && - ((gControllerFive->button & 0x8000) != 0) && - ((gControllerFive->button & 0x4000) != 0)) { + if (gEnableDebugMode) { + if (((gControllerFive->button & R_TRIG) != 0) && + ((gControllerFive->button & L_TRIG) != 0) && + ((gControllerFive->button & A_BUTTON) != 0) && + ((gControllerFive->button & B_BUTTON) != 0)) { func_800CA330(0x19); func_800CA388(0x19); @@ -1040,11 +1040,11 @@ void func_8028FCBC(void) { func_8028F4E8(); break; case 2: - if (D_800DC51C != 0) { - func_8028EDA8(); + if (D_800DC51C) { + start_race(); } - if ((gEnableDebugMode != 0) && ((gControllerFive->buttonPressed & 0x2000) != 0)) { - func_8028EDA8(); + if ((gEnableDebugMode) && (gControllerFive->buttonPressed & Z_TRIG)) { + start_race(); } func_8028F4E8(); break; diff --git a/src/race_logic.h b/src/race_logic.h index c4ef1dc20..6c2921c4a 100644 --- a/src/race_logic.h +++ b/src/race_logic.h @@ -14,7 +14,7 @@ void func_8028E438(); void func_8028E678(); void func_8028EC38(s32); void func_8028EC98(s32); -void func_8028EDA8(); +void start_race(); f32 func_8028EE8C(s32); void func_8028EEF0(s32); void func_8028EF28();