Prevent HOOK_ON_HUD_RENDER_BEHIND from being halted
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run

This commit is contained in:
Agent X 2026-05-04 23:41:07 -04:00
parent 82a3afcc0f
commit b37b2bf29f

View file

@ -448,13 +448,15 @@ void play_transition_after_delay(s16 transType, s16 time, u8 red, u8 green, u8 b
void render_game(void) { void render_game(void) {
dynos_update_gfx(); dynos_update_gfx();
if (gCurrentArea != NULL && !gWarpTransition.pauseRendering) { if (gCurrentArea != NULL) {
geo_process_root(gCurrentArea->root, gViewportOverride, gViewportClip, gFBSetColor); if (!gWarpTransition.pauseRendering) {
geo_process_root(gCurrentArea->root, gViewportOverride, gViewportClip, gFBSetColor);
gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gViewportFullscreen)); gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&gViewportFullscreen));
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH, gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH,
SCREEN_HEIGHT - BORDER_HEIGHT); SCREEN_HEIGHT - BORDER_HEIGHT);
}
if (!gDjuiDisabled) { if (!gDjuiDisabled) {
djui_reset_hud_params(); djui_reset_hud_params();
@ -466,41 +468,45 @@ void render_game(void) {
smlua_call_event_hooks(HOOK_ON_HUD_RENDER_BEHIND, djui_reset_hud_params); smlua_call_event_hooks(HOOK_ON_HUD_RENDER_BEHIND, djui_reset_hud_params);
djui_gfx_displaylist_end(); djui_gfx_displaylist_end();
} }
render_hud();
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT); if (!gWarpTransition.pauseRendering) {
render_text_labels(); render_hud();
do_cutscene_handler();
if (!gDjuiInMainMenu) {
print_displaying_credits_entry();
}
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH,
SCREEN_HEIGHT - BORDER_HEIGHT);
gPauseScreenMode = render_menus_and_dialogs();
if (gPauseScreenMode != 0) { gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, 0, SCREEN_WIDTH, SCREEN_HEIGHT);
gSaveOptSelectIndex = gPauseScreenMode; render_text_labels();
} do_cutscene_handler();
if (!gDjuiInMainMenu) {
if (gViewportClip != NULL) { print_displaying_credits_entry();
make_viewport_clip_rect(gViewportClip); }
} else
gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH, gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH,
SCREEN_HEIGHT - BORDER_HEIGHT); SCREEN_HEIGHT - BORDER_HEIGHT);
gPauseScreenMode = render_menus_and_dialogs();
if (gWarpTransition.isActive) { if (gPauseScreenMode != 0) {
if (gWarpTransDelay == 0) { gSaveOptSelectIndex = gPauseScreenMode;
gWarpTransition.isActive = !render_screen_transition(0, gWarpTransition.type, gWarpTransition.time, }
&gWarpTransition.data);
if (!gWarpTransition.isActive) { if (gViewportClip != NULL) {
if (gWarpTransition.type & 1) { make_viewport_clip_rect(gViewportClip);
gWarpTransition.pauseRendering = TRUE;
} else {
set_warp_transition_rgb(0, 0, 0);
}
}
} else { } else {
gWarpTransDelay--; gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH,
SCREEN_HEIGHT - BORDER_HEIGHT);
}
if (gWarpTransition.isActive) {
if (gWarpTransDelay == 0) {
gWarpTransition.isActive = !render_screen_transition(0, gWarpTransition.type, gWarpTransition.time,
&gWarpTransition.data);
if (!gWarpTransition.isActive) {
if (gWarpTransition.type & 1) {
gWarpTransition.pauseRendering = TRUE;
} else {
set_warp_transition_rgb(0, 0, 0);
}
}
} else {
gWarpTransDelay--;
}
} }
} }
} else { } else {