From 09b087f16fbfc8cd12dc3c4285e584ae9643000f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20Rydg=C3=A5rd?= Date: Tue, 10 Feb 2026 00:22:09 +0100 Subject: [PATCH] Resume gameplay immediately after choosing Reset on the pause screen. --- Core/HW/Display.cpp | 2 ++ UI/PauseScreen.cpp | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Core/HW/Display.cpp b/Core/HW/Display.cpp index 6c4f725864..ba671dc82f 100644 --- a/Core/HW/Display.cpp +++ b/Core/HW/Display.cpp @@ -311,6 +311,8 @@ void DisplayHWReset() { fpsHistoryValid = 0; fpsHistoryPos = 0; + lastFpsTime = 0.0; + lastFpsFrame = 0; frameTimeHistoryValid = 0; frameTimeHistoryPos = 0; diff --git a/UI/PauseScreen.cpp b/UI/PauseScreen.cpp index 837dfcd04d..c17e8748c9 100644 --- a/UI/PauseScreen.cpp +++ b/UI/PauseScreen.cpp @@ -711,13 +711,17 @@ void GamePauseScreen::ShowContextMenu(UI::View *menuButton, bool portrait) { std::string confirmMessage = GetConfirmExitMessage(); if (!confirmMessage.empty()) { auto di = GetI18NCategory(I18NCat::DIALOG); - screenManager()->push(new UI::MessagePopupScreen(di->T("Reset"), confirmMessage, di->T("Reset"), di->T("Cancel"), [](bool result) { + screenManager()->push(new UI::MessagePopupScreen(di->T("Reset"), confirmMessage, di->T("Reset"), di->T("Cancel"), [this](bool result) { if (result) { System_PostUIMessage(UIMessage::REQUEST_GAME_RESET); + finishNextFrameResult_ = DR_BACK; // resume + finishNextFrame_ = true; } })); } else { System_PostUIMessage(UIMessage::REQUEST_GAME_RESET); + finishNextFrameResult_ = DR_BACK; // resume + finishNextFrame_ = true; } });