From ccc63c3dbff30503c88f51b8c6194f9a300f9284 Mon Sep 17 00:00:00 2001 From: SimoZ64 Date: Wed, 23 Jul 2025 22:15:43 +0200 Subject: [PATCH] Fix: Logic for unlocking framerate and fast-forwarding wasn't really sound. --- src/frontend/KaizenGui.cpp | 14 ++++++-------- src/frontend/KaizenGui.hpp | 1 + src/frontend/SettingsWindow.cpp | 2 +- 3 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/frontend/KaizenGui.cpp b/src/frontend/KaizenGui.cpp index 66655e14..8272c40b 100644 --- a/src/frontend/KaizenGui.cpp +++ b/src/frontend/KaizenGui.cpp @@ -93,11 +93,9 @@ void KaizenGui::HandleInput(SDL_Event event) { fileDialogOpen = true; } - fastForward = keys[SDL_SCANCODE_F]; - if(fastForward) - core->parallel.SetFramerateUnlocked(true); - else - core->parallel.SetFramerateUnlocked(false); + fastForward = keys[SDL_SCANCODE_SPACE]; + if(!unlockFramerate) + core->parallel.SetFramerateUnlocked(fastForward); if(core->romLoaded) { if(keys[SDL_SCANCODE_P]) { @@ -165,8 +163,8 @@ void KaizenGui::RenderUI() { core->romLoaded = false; } - if(ImGui::Checkbox("Unlock framerate", &fastForward)) { - core->parallel.SetFramerateUnlocked(fastForward); + if(ImGui::Checkbox("Unlock framerate", &unlockFramerate)) { + core->parallel.SetFramerateUnlocked(unlockFramerate); } ImGui::EndDisabled(); @@ -230,7 +228,7 @@ void KaizenGui::RenderUI() { KaizenGui* kaizen = (KaizenGui*)userdata; if (!filelist) { - panic("An error occured: %s", SDL_GetError()); + panic("An error occured: {}", SDL_GetError()); return; } else if (!*filelist) { warn("The user did not select any file."); diff --git a/src/frontend/KaizenGui.hpp b/src/frontend/KaizenGui.hpp index 6b8822ce..6e8c60cf 100644 --- a/src/frontend/KaizenGui.hpp +++ b/src/frontend/KaizenGui.hpp @@ -13,6 +13,7 @@ public: double fpsCounter = -1.0; bool fastForward = false; + bool unlockFramerate = false; SettingsWindow settingsWindow; std::shared_ptr core; diff --git a/src/frontend/SettingsWindow.cpp b/src/frontend/SettingsWindow.cpp index 6d4fbfa1..953d1178 100644 --- a/src/frontend/SettingsWindow.cpp +++ b/src/frontend/SettingsWindow.cpp @@ -23,7 +23,7 @@ bool SettingsWindow::render() { SettingsWindow* settings = (SettingsWindow*)userdata; if (!filelist) { - panic("An error occured: %s", SDL_GetError()); + panic("An error occured: {}", SDL_GetError()); return; } else if (!*filelist) { warn("The user did not select any file.");