diff --git a/include/course_table.h b/include/course_table.h index 8630c6e5..af297682 100644 --- a/include/course_table.h +++ b/include/course_table.h @@ -28,7 +28,7 @@ enum CourseNum #undef DEFINE_BONUS_COURSE #define COURSE_IS_MAIN_COURSE(cmd) (cmd >= COURSE_MIN && cmd <= COURSE_STAGES_MAX) -#define COURSE_IS_VALID_COURSE(cmd) (cmd >= COURSE_MIN && cmd < COURSE_MAX) +#define COURSE_IS_VALID_COURSE(cmd) (cmd >= COURSE_MIN && cmd <= COURSE_MAX) #endif // COURSE_TABLE_H diff --git a/src/game/ingame_menu.c b/src/game/ingame_menu.c index 1064656b..a183f018 100644 --- a/src/game/ingame_menu.c +++ b/src/game/ingame_menu.c @@ -2804,7 +2804,11 @@ void render_pause_castle_main_strings(s16 x, s16 y) { #endif u8 courseNum = gDialogLineNum + 1; - const u8 *courseName = get_level_name_sm64(courseNum, get_level_num_from_course_num(courseNum), 1, 1); + const u8 *courseName = ( + gDialogLineNum == COURSE_STAGES_COUNT ? + ((const u8 **) get_course_name_table())[COURSE_MAX] : // Castle secret stars + get_level_name_sm64(courseNum, get_level_num_from_course_num(courseNum), 1, 1) + ); u8 strVal[8]; s16 starNum = gDialogLineNum; @@ -2999,7 +3003,12 @@ void render_pause_castle_main_strings_extended(s16 x, s16 y) { gSPDisplayList(gDisplayListHead++, dl_ia_text_begin); gDPSetEnvColor(gDisplayListHead++, 255, 255, 255, gDialogTextAlpha); - const u8 *courseName = get_level_name_sm64(gDialogLineNum, get_level_num_from_course_num(gDialogLineNum), 1, 1); + u8 courseNum = gDialogLineNum + 1; + const u8 *courseName = ( + gDialogLineNum >= INDEX_CASTLE_STARS ? + ((const u8 **) get_course_name_table())[COURSE_MAX] : // Castle secret stars + get_level_name_sm64(courseNum, get_level_num_from_course_num(courseNum), 1, 1) + ); // Main courses (0-14) if (gDialogLineNum < COURSE_STAGES_COUNT) {