Fix: Logic for unlocking framerate and fast-forwarding wasn't really sound.

This commit is contained in:
SimoZ64
2025-07-23 22:15:43 +02:00
parent 0ad1311d7b
commit ccc63c3dbf
3 changed files with 8 additions and 9 deletions

View File

@@ -93,11 +93,9 @@ void KaizenGui::HandleInput(SDL_Event event) {
fileDialogOpen = true; fileDialogOpen = true;
} }
fastForward = keys[SDL_SCANCODE_F]; fastForward = keys[SDL_SCANCODE_SPACE];
if(fastForward) if(!unlockFramerate)
core->parallel.SetFramerateUnlocked(true); core->parallel.SetFramerateUnlocked(fastForward);
else
core->parallel.SetFramerateUnlocked(false);
if(core->romLoaded) { if(core->romLoaded) {
if(keys[SDL_SCANCODE_P]) { if(keys[SDL_SCANCODE_P]) {
@@ -165,8 +163,8 @@ void KaizenGui::RenderUI() {
core->romLoaded = false; core->romLoaded = false;
} }
if(ImGui::Checkbox("Unlock framerate", &fastForward)) { if(ImGui::Checkbox("Unlock framerate", &unlockFramerate)) {
core->parallel.SetFramerateUnlocked(fastForward); core->parallel.SetFramerateUnlocked(unlockFramerate);
} }
ImGui::EndDisabled(); ImGui::EndDisabled();
@@ -230,7 +228,7 @@ void KaizenGui::RenderUI() {
KaizenGui* kaizen = (KaizenGui*)userdata; KaizenGui* kaizen = (KaizenGui*)userdata;
if (!filelist) { if (!filelist) {
panic("An error occured: %s", SDL_GetError()); panic("An error occured: {}", SDL_GetError());
return; return;
} else if (!*filelist) { } else if (!*filelist) {
warn("The user did not select any file."); warn("The user did not select any file.");

View File

@@ -13,6 +13,7 @@ public:
double fpsCounter = -1.0; double fpsCounter = -1.0;
bool fastForward = false; bool fastForward = false;
bool unlockFramerate = false;
SettingsWindow settingsWindow; SettingsWindow settingsWindow;
std::shared_ptr<n64::Core> core; std::shared_ptr<n64::Core> core;

View File

@@ -23,7 +23,7 @@ bool SettingsWindow::render() {
SettingsWindow* settings = (SettingsWindow*)userdata; SettingsWindow* settings = (SettingsWindow*)userdata;
if (!filelist) { if (!filelist) {
panic("An error occured: %s", SDL_GetError()); panic("An error occured: {}", SDL_GetError());
return; return;
} else if (!*filelist) { } else if (!*filelist) {
warn("The user did not select any file."); warn("The user did not select any file.");