Browse Source

[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>
pull/3615/head
crueter 2 days ago
parent
commit
45eb9cfcee
No known key found for this signature in database GPG Key ID: 425ACD2D4830EBC6
  1. 28
      src/yuzu/main_window.cpp
  2. 1
      src/yuzu/main_window.h

28
src/yuzu/main_window.cpp

@ -1446,20 +1446,17 @@ void MainWindow::InitializeHotkeys() {
connect_shortcut(QStringLiteral("Toggle Framerate Limit"), [this] { connect_shortcut(QStringLiteral("Toggle Framerate Limit"), [this] {
Settings::ToggleStandardMode(); 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] { connect_shortcut(QStringLiteral("Toggle Turbo Speed"), [this] {
Settings::ToggleTurboMode(); 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] { connect_shortcut(QStringLiteral("Toggle Slow Speed"), [this] {
Settings::ToggleSlowMode(); 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"), [] { 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); status_bar_update_timer.start(500);
renderer_status_button->setDisabled(true); renderer_status_button->setDisabled(true);
refresh_button->setDisabled(true); refresh_button->setDisabled(true);
SetFPSSuffix();
if (UISettings::values.hide_mouse || Settings::values.mouse_panning) { if (UISettings::values.hide_mouse || Settings::values.mouse_panning) {
render_window->installEventFilter(render_window); render_window->installEventFilter(render_window);
@ -2209,8 +2207,9 @@ bool MainWindow::OnShutdownBegin() {
AllowOSSleep(); AllowOSSleep();
// Disable unlimited frame rate
// Disable unlimited frame rate and turbo/slow modes
Settings::values.use_speed_limit.SetValue(true); Settings::values.use_speed_limit.SetValue(true);
Settings::values.current_speed_mode = Settings::SpeedMode::Standard;
if (QtCommon::system->IsShuttingDown()) { if (QtCommon::system->IsShuttingDown()) {
return false; return false;
@ -4517,6 +4516,21 @@ void MainWindow::SetFirmwareVersion() {
firmware_label->setToolTip(QString::fromStdString(display_title)); 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, bool MainWindow::SelectRomFSDumpTarget(const FileSys::ContentProvider& installed, u64 program_id,
u64* selected_title_id, u8* selected_content_record_type) { u64* selected_title_id, u8* selected_content_record_type) {
using ContentInfo = std::tuple<u64, FileSys::TitleType, FileSys::ContentRecordType>; using ContentInfo = std::tuple<u64, FileSys::TitleType, FileSys::ContentRecordType>;

1
src/yuzu/main_window.h

@ -464,6 +464,7 @@ private:
void OpenPerGameConfiguration(u64 title_id, const std::string& file_name); void OpenPerGameConfiguration(u64 title_id, const std::string& file_name);
bool CheckFirmwarePresence(); bool CheckFirmwarePresence();
void SetFirmwareVersion(); void SetFirmwareVersion();
void SetFPSSuffix();
void ConfigureFilesystemProvider(const std::string& filepath); void ConfigureFilesystemProvider(const std::string& filepath);
/** /**
* Open (or not) the right confirm dialog based on current setting and game exit lock * Open (or not) the right confirm dialog based on current setting and game exit lock

Loading…
Cancel
Save