Fix new level transition synchronization softlock

This commit is contained in:
MysterD 2020-09-11 18:29:57 -07:00
parent a6b3ddcc69
commit c86c7f7280
2 changed files with 4 additions and 13 deletions

View File

@ -2698,7 +2698,7 @@ s16 render_pause_courses_and_castle(void) {
case DIALOG_STATE_OPENING: case DIALOG_STATE_OPENING:
gDialogLineNum = 1; gDialogLineNum = 1;
gDialogTextAlpha = 0; gDialogTextAlpha = 0;
level_set_transition(-1, 0); //level_set_transition(-1, 0);
#if defined(VERSION_JP) || defined(VERSION_SH) #if defined(VERSION_JP) || defined(VERSION_SH)
play_sound(SOUND_MENU_PAUSE, gDefaultSoundArgs); play_sound(SOUND_MENU_PAUSE, gDefaultSoundArgs);
#else #else
@ -3128,7 +3128,7 @@ s16 render_course_complete_screen(void) {
render_course_complete_lvl_info_and_hud_str(); render_course_complete_lvl_info_and_hud_str();
if (gCourseDoneMenuTimer > 100 && gCourseCompleteCoinsEqual == 1) { if (gCourseDoneMenuTimer > 100 && gCourseCompleteCoinsEqual == 1) {
gDialogBoxState = DIALOG_STATE_VERTICAL; gDialogBoxState = DIALOG_STATE_VERTICAL;
level_set_transition(-1, 0); //level_set_transition(-1, 0);
gDialogTextAlpha = 0; gDialogTextAlpha = 0;
gDialogLineNum = 1; gDialogLineNum = 1;
} }

View File

@ -265,7 +265,7 @@ void load_level_init_text(u32 arg) {
} }
if (!gotAchievement) { if (!gotAchievement) {
level_set_transition(-1, NULL); //level_set_transition(-1, NULL);
create_dialog_box(dialogID); create_dialog_box(dialogID);
} }
} }
@ -995,13 +995,8 @@ static void check_received_warp(void) {
if (!gControlledWarp) { if (!gControlledWarp) {
// force well behaved state // force well behaved state
extern s16 gMenuMode; extern s16 gMenuMode;
reset_dialog_render_state();
level_set_transition(1, 0);
gMenuMode = -1; gMenuMode = -1;
gPauseScreenMode = 1; reset_dialog_render_state();
gSaveOptSelectIndex = 0;
gMarioStates[0].action = (gMarioStates[0].pos[1] <= gMarioStates[0].waterLevel) ? ACT_WATER_IDLE : ACT_IDLE;
gCameraMovementFlags &= ~CAM_MOVE_PAUSE_SCREEN;
} }
set_play_mode((sWarpDest.type == WARP_TYPE_CHANGE_LEVEL) set_play_mode((sWarpDest.type == WARP_TYPE_CHANGE_LEVEL)
@ -1012,10 +1007,6 @@ static void check_received_warp(void) {
if (sWarpDest.type == WARP_TYPE_CHANGE_LEVEL && warpCourse == COURSE_NONE) { if (sWarpDest.type == WARP_TYPE_CHANGE_LEVEL && warpCourse == COURSE_NONE) {
sReceivedLoadedActNum = 0; sReceivedLoadedActNum = 0;
} }
/*return (sWarpDest.type == WARP_TYPE_CHANGE_LEVEL)
? sWarpDest.levelNum
: 0;*/
} }
int gPressedStart = 0; int gPressedStart = 0;