From 2526109484d01dea4dd1f563447765cbf04b19bb Mon Sep 17 00:00:00 2001 From: Isaac0-dev <62234577+Isaac0-dev@users.noreply.github.com> Date: Tue, 11 Feb 2025 07:58:45 +1000 Subject: [PATCH] render R button prompt in pause menu behind mods --- src/pc/djui/djui.c | 10 +++++++--- src/pc/djui/djui_fps_display.c | 4 ++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/pc/djui/djui.c b/src/pc/djui/djui.c index 637144b46..88fcde443 100644 --- a/src/pc/djui/djui.c +++ b/src/pc/djui/djui.c @@ -28,6 +28,7 @@ bool gDjuiInPlayerMenu = false; bool gDjuiDisabled = false; bool gDjuiShuttingDown = false; static bool sDjuiInited = false; +static struct DjuiRoot* sDjuiRootBehind = NULL; bool sDjuiRendered60fps = false; @@ -79,13 +80,13 @@ void patch_djui_interpolated(UNUSED f32 delta) { void djui_init(void) { gDjuiRoot = djui_root_create(); + sDjuiRootBehind = djui_root_create(); - gDjuiPauseOptions = djui_text_create(&gDjuiRoot->base, DLANG(MISC, R_BUTTON)); + gDjuiPauseOptions = djui_text_create(&sDjuiRootBehind->base, DLANG(MISC, R_BUTTON)); djui_base_set_size_type(&gDjuiPauseOptions->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); djui_base_set_size(&gDjuiPauseOptions->base, 1.0f, 32); djui_base_set_location(&gDjuiPauseOptions->base, 0, 16); djui_text_set_alignment(gDjuiPauseOptions, DJUI_HALIGN_CENTER, DJUI_VALIGN_CENTER); - djui_base_set_visible(&gDjuiPauseOptions->base, false); sDjuiLuaError = djui_text_create(&gDjuiRoot->base, ""); djui_base_set_size_type(&sDjuiLuaError->base, DJUI_SVT_RELATIVE, DJUI_SVT_ABSOLUTE); @@ -157,12 +158,15 @@ void djui_render(void) { create_dl_ortho_matrix(); djui_gfx_displaylist_begin(); + if (sDjuiRootBehind != NULL && (sCurrPlayMode == PLAY_MODE_PAUSED) && !gDjuiPanelPauseCreated) { + djui_base_render(&sDjuiRootBehind->base); + } + smlua_call_event_on_hud_render(djui_reset_hud_params); djui_panel_update(); djui_popup_update(); - djui_base_set_visible(&gDjuiPauseOptions->base, (sCurrPlayMode == PLAY_MODE_PAUSED) && !gDjuiPanelPauseCreated); if (gDjuiRoot != NULL) { djui_base_render(&gDjuiRoot->base); } diff --git a/src/pc/djui/djui_fps_display.c b/src/pc/djui/djui_fps_display.c index 84f634af3..bd1b351fa 100644 --- a/src/pc/djui/djui_fps_display.c +++ b/src/pc/djui/djui_fps_display.c @@ -32,8 +32,8 @@ void djui_fps_display_create(void) { struct DjuiBase* base = &fpsDisplay->base; djui_base_init(NULL, base, NULL, djui_fps_display_on_destroy); djui_base_set_size(base, 150, 50); - djui_base_set_color(base, 0, 0, 0, 240); - djui_base_set_border_color(base, 0, 0, 0, 200); + djui_base_set_color(base, 0, 0, 0, 200); + djui_base_set_border_color(base, 0, 0, 0, 160); djui_base_set_border_width(base, 4); djui_base_set_padding(base, 16, 16, 16, 16);