Make debug level select work without KEEP_MARIO_HEAD

This commit is contained in:
Arceveti
2021-09-15 10:40:21 -07:00
parent a09bdd0ffb
commit 604b1405a2
2 changed files with 10 additions and 5 deletions

View File

@@ -52,14 +52,10 @@ const LevelScript level_intro_splash_screen[] = {
const LevelScript level_intro_mario_head_regular[] = {
INIT_LEVEL(),
#ifndef KEEP_MARIO_HEAD
EXIT_AND_EXECUTE(/*seg*/ 0x14, _menuSegmentRomStart, _menuSegmentRomEnd, level_main_menu_entry_1),
#endif
#ifdef KEEP_MARIO_HEAD
BLACKOUT(/*active*/ TRUE),
FIXED_LOAD(/*loadAddr*/ _goddardSegmentStart, /*romStart*/ _goddardSegmentRomStart, /*romEnd*/ _goddardSegmentRomEnd),
#ifdef KEEP_MARIO_HEAD
LOAD_MARIO_HEAD(/*loadHeadID*/ REGULAR_FACE),
#endif
LOAD_RAW(/*seg*/ 0x13, _behaviorSegmentRomStart, _behaviorSegmentRomEnd),
LOAD_YAY0_TEXTURE(/*seg*/ 0x0A, _title_screen_bg_yay0SegmentRomStart, _title_screen_bg_yay0SegmentRomEnd),
@@ -74,6 +70,7 @@ const LevelScript level_intro_mario_head_regular[] = {
SET_MENU_MUSIC(/*seq*/ SEQ_MENU_TITLE_SCREEN),
TRANSITION(/*transType*/ WARP_TRANSITION_FADE_FROM_STAR, /*time*/ 20, /*color*/ 0x00, 0x00, 0x00),
SLEEP(/*frames*/ 20),
#endif
CALL_LOOP(/*arg*/ LVL_INTRO_REGULAR, /*func*/ lvl_intro_update),
JUMP_IF(/*op*/ OP_EQ, /*arg*/ 100, script_intro_L1),
JUMP_IF(/*op*/ OP_EQ, /*arg*/ 101, script_intro_L2),

View File

@@ -235,12 +235,20 @@ s32 lvl_intro_update(s16 arg, UNUSED s32 unusedArg) {
case LVL_INTRO_PLAY_ITS_A_ME_MARIO:
retVar = intro_play_its_a_me_mario();
break;
#ifdef KEEP_MARIO_HEAD
case LVL_INTRO_REGULAR:
retVar = intro_regular();
break;
case LVL_INTRO_GAME_OVER:
retVar = intro_game_over();
break;
#else
case LVL_INTRO_REGULAR:
// fall through
case LVL_INTRO_GAME_OVER:
retVar = (100 + gDebugLevelSelect);
break;
#endif
case LVL_INTRO_LEVEL_SELECT:
retVar = intro_level_select();
break;