diff options
| author | crueter <crueter@eden-emu.dev> | 2026-02-23 02:52:12 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2026-02-23 02:52:12 +0100 |
| commit | 45eb9cfcee1512afae13df55512fd2adf1103952 (patch) | |
| tree | 77518cbd2ba5441ad65b68fadf2e3225fb8fc47a /src | |
| parent | 0a687b82d49f5b944379ce2522c8f7778150b034 (diff) | |
[desktop] Reset speed mode on game shutdown (#3613)
Closes #3602
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3613
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Diffstat (limited to 'src')
| -rw-r--r-- | src/yuzu/main_window.cpp | 28 | ||||
| -rw-r--r-- | src/yuzu/main_window.h | 1 |
2 files changed, 22 insertions, 7 deletions
diff --git a/src/yuzu/main_window.cpp b/src/yuzu/main_window.cpp index d8b7f1adbc..e1a94632f9 100644 --- a/src/yuzu/main_window.cpp +++ b/src/yuzu/main_window.cpp @@ -1446,20 +1446,17 @@ void MainWindow::InitializeHotkeys() { connect_shortcut(QStringLiteral("Toggle Framerate Limit"), [this] { Settings::ToggleStandardMode(); - const bool limited = Settings::values.use_speed_limit.GetValue(); - m_fpsSuffix = limited ? QString{} : tr("Unlocked"); + SetFPSSuffix(); }); connect_shortcut(QStringLiteral("Toggle Turbo Speed"), [this] { Settings::ToggleTurboMode(); - const bool turbo = Settings::values.current_speed_mode.GetValue() == Settings::SpeedMode::Turbo; - m_fpsSuffix = turbo ? tr("Turbo") : QString{}; + SetFPSSuffix(); }); connect_shortcut(QStringLiteral("Toggle Slow Speed"), [this] { Settings::ToggleSlowMode(); - const bool slow = Settings::values.current_speed_mode.GetValue() == Settings::SpeedMode::Slow; - m_fpsSuffix = slow ? tr("Slow") : QString{}; + SetFPSSuffix(); }); connect_shortcut(QStringLiteral("Toggle Renderdoc Capture"), [] { @@ -2145,6 +2142,7 @@ void MainWindow::BootGame(const QString& filename, Service::AM::FrontendAppletPa status_bar_update_timer.start(500); renderer_status_button->setDisabled(true); refresh_button->setDisabled(true); + SetFPSSuffix(); if (UISettings::values.hide_mouse || Settings::values.mouse_panning) { render_window->installEventFilter(render_window); @@ -2209,8 +2207,9 @@ bool MainWindow::OnShutdownBegin() { AllowOSSleep(); - // Disable unlimited frame rate + // Disable unlimited frame rate and turbo/slow modes Settings::values.use_speed_limit.SetValue(true); + Settings::values.current_speed_mode = Settings::SpeedMode::Standard; if (QtCommon::system->IsShuttingDown()) { return false; @@ -4517,6 +4516,21 @@ void MainWindow::SetFirmwareVersion() { firmware_label->setToolTip(QString::fromStdString(display_title)); } +void MainWindow::SetFPSSuffix() { + switch (Settings::values.current_speed_mode.GetValue()) { + case Settings::SpeedMode::Slow: + m_fpsSuffix = tr("Slow"); + break; + case Settings::SpeedMode::Turbo: + m_fpsSuffix = tr("Turbo"); + break; + case Settings::SpeedMode::Standard: + const bool limited = Settings::values.use_speed_limit.GetValue(); + m_fpsSuffix = limited ? QString{} : tr("Unlocked"); + break; + } +} + bool MainWindow::SelectRomFSDumpTarget(const FileSys::ContentProvider& installed, u64 program_id, u64* selected_title_id, u8* selected_content_record_type) { using ContentInfo = std::tuple<u64, FileSys::TitleType, FileSys::ContentRecordType>; diff --git a/src/yuzu/main_window.h b/src/yuzu/main_window.h index 4ebfdbcb1e..bb58191951 100644 --- a/src/yuzu/main_window.h +++ b/src/yuzu/main_window.h @@ -464,6 +464,7 @@ private: void OpenPerGameConfiguration(u64 title_id, const std::string& file_name); bool CheckFirmwarePresence(); void SetFirmwareVersion(); + void SetFPSSuffix(); void ConfigureFilesystemProvider(const std::string& filepath); /** * Open (or not) the right confirm dialog based on current setting and game exit lock |
