From a8fdc53b8deb48fdc1b0194377563471387457b8 Mon Sep 17 00:00:00 2001 From: Agent X <44549182+AgentXLP@users.noreply.github.com> Date: Thu, 13 Jun 2024 17:25:00 -0400 Subject: [PATCH] Restore original crash screen shade of blue --- src/pc/crash_handler.c | 2 +- src/pc/loading.c | 2 +- src/pc/pc_main.c | 17 ++++++++--------- src/pc/pc_main.h | 2 +- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/src/pc/crash_handler.c b/src/pc/crash_handler.c index 3261869b9..bd119d780 100644 --- a/src/pc/crash_handler.c +++ b/src/pc/crash_handler.c @@ -259,7 +259,7 @@ static void crash_handler_produce_one_frame_callback(void) { static void crash_handler_produce_one_frame(void) { extern u8 gRenderingInterpolated; gRenderingInterpolated = false; - produce_one_dummy_frame(crash_handler_produce_one_frame_callback); + produce_one_dummy_frame(crash_handler_produce_one_frame_callback, 0x02, 0x06, 0x0F); } static void crash_handler_add_info_str(CrashHandlerText** pTextP, f32 x, f32 y, const char* title, const char* value) { diff --git a/src/pc/loading.c b/src/pc/loading.c index 5dd0d1640..f819cacd4 100644 --- a/src/pc/loading.c +++ b/src/pc/loading.c @@ -35,7 +35,7 @@ static void loading_screen_produce_frame_callback(void) { } static void loading_screen_produce_one_frame(void) { - produce_one_dummy_frame(loading_screen_produce_frame_callback); + produce_one_dummy_frame(loading_screen_produce_frame_callback, 0x00, 0x00, 0x00); } static bool loading_screen_on_render(struct DjuiBase* base) { diff --git a/src/pc/pc_main.c b/src/pc/pc_main.c index 3b62e04ca..b35cce54f 100644 --- a/src/pc/pc_main.c +++ b/src/pc/pc_main.c @@ -250,31 +250,30 @@ void produce_one_frame(void) { CTX_EXTENT(CTX_RENDER, produce_interpolation_frames_and_delay); } -// Used for rendering 2D scenes fullscreen like the loading or crash screens -void produce_one_dummy_frame(void (*callback)()) { - - // Start frame +// used for rendering 2D scenes fullscreen like the loading or crash screens +void produce_one_dummy_frame(void (*callback)(), u8 clearColorR, u8 clearColorG, u8 clearColorB) { + // start frame gfx_start_frame(); config_gfx_pool(); init_render_image(); create_dl_ortho_matrix(); djui_gfx_displaylist_begin(); - // Fix scaling issues + // fix scaling issues gSPViewport(gDisplayListHead++, VIRTUAL_TO_PHYSICAL(&D_8032CF00)); gDPSetScissor(gDisplayListHead++, G_SC_NON_INTERLACE, 0, BORDER_HEIGHT, SCREEN_WIDTH, SCREEN_HEIGHT - BORDER_HEIGHT); - // Clear screen + // clear screen create_dl_translation_matrix(MENU_MTX_PUSH, GFX_DIMENSIONS_FROM_LEFT_EDGE(0), 240.f, 0.f); create_dl_scale_matrix(MENU_MTX_NOPUSH, (GFX_DIMENSIONS_ASPECT_RATIO * SCREEN_HEIGHT) / 130.f, 3.f, 1.f); - gDPSetEnvColor(gDisplayListHead++, 0x00, 0x00, 0x00, 0xFF); + gDPSetEnvColor(gDisplayListHead++, clearColorR, clearColorG, clearColorB, 0xFF); gSPDisplayList(gDisplayListHead++, dl_draw_text_bg_box); gSPPopMatrix(gDisplayListHead++, G_MTX_MODELVIEW); - // Call the callback + // call the callback callback(); - // Render frame + // render frame djui_gfx_displaylist_end(); end_master_display_list(); alloc_display_list(0); diff --git a/src/pc/pc_main.h b/src/pc/pc_main.h index 24f8230c1..92b677017 100644 --- a/src/pc/pc_main.h +++ b/src/pc/pc_main.h @@ -70,7 +70,7 @@ extern u8 gLuaVolumeSfx; extern u8 gLuaVolumeEnv; extern struct GfxWindowManagerAPI* wm_api; -void produce_one_dummy_frame(void (*callback)()); +void produce_one_dummy_frame(void (*callback)(), u8 clearColorR, u8 clearColorG, u8 clearColorB); void game_deinit(void); void game_exit(void);