aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorcrueter <crueter@eden-emu.dev>2026-02-23 02:52:12 +0100
committercrueter <crueter@eden-emu.dev>2026-02-23 02:52:12 +0100
commit45eb9cfcee1512afae13df55512fd2adf1103952 (patch)
tree77518cbd2ba5441ad65b68fadf2e3225fb8fc47a /src
parent0a687b82d49f5b944379ce2522c8f7778150b034 (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.cpp28
-rw-r--r--src/yuzu/main_window.h1
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