From e84f6f6323ca6805ec8efcc4b30f3438add9ca1b Mon Sep 17 00:00:00 2001 From: Jaby Date: Mon, 15 Jan 2024 20:59:55 -0500 Subject: [PATCH] Support resetting screen --- .../src/Overlay/ScreenCenter/screen_center.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/examples/PoolBox/application/src/Overlay/ScreenCenter/screen_center.cpp b/examples/PoolBox/application/src/Overlay/ScreenCenter/screen_center.cpp index ad48276d..c9ca5d12 100644 --- a/examples/PoolBox/application/src/Overlay/ScreenCenter/screen_center.cpp +++ b/examples/PoolBox/application/src/Overlay/ScreenCenter/screen_center.cpp @@ -85,6 +85,7 @@ namespace ScreenCenter { } static void update_interactive(); + static void reset_screen(); static void update_enter_state() { static const char IntroductionTest[] = "Press START to begin"; @@ -128,6 +129,13 @@ namespace ScreenCenter { handle_button(button_pulse[2], GenericButton::Up, offset_y, -1); handle_button(button_pulse[3], GenericButton::Down, offset_y, 1); + if(controller.button.is_down(GenericButton::R1) && controller.button.is_down(GenericButton::L1)) { + for(auto& pulse : button_pulse) { + pulse.setup(); + } + reset_screen(); + } + auto cursor = FontWriter::update(CenterPoint.move(-offset_x, -offset_y)); FontWriter::bios_font_writer.write(cursor, ModeStr, GPU::Color24::White(), TVModeStr); FontWriter::bios_font_writer.write(cursor, FormularStr, GPU::Color24::White()); @@ -136,6 +144,12 @@ namespace ScreenCenter { PSYQ::set_offset(offset_x, offset_y); } + static void reset_screen() { + PSYQ::set_offset(0, 0); + offset_x = 0; + offset_y = 0; + } + static void setup() { Shared::back_menu.reset(); @@ -168,6 +182,7 @@ namespace ScreenCenter { while(true) { if(update_or_exit()) { + reset_screen(); break; } GPU::swap_buffers_vsync(1);