From ba8ff096fdc9f7ab101851c4cd06c3244a7d84c3 Mon Sep 17 00:00:00 2001 From: fearlessTobi Date: Tue, 21 Aug 2018 01:14:06 +0200 Subject: Port #3353 from Citra --- src/yuzu/configuration/config.cpp | 6 ++++-- src/yuzu/configuration/configure_graphics.cpp | 10 +++++++-- src/yuzu/configuration/configure_graphics.ui | 30 ++++++++++++++++++++++----- 3 files changed, 37 insertions(+), 9 deletions(-) (limited to 'src/yuzu/configuration') diff --git a/src/yuzu/configuration/config.cpp b/src/yuzu/configuration/config.cpp index 0bd46dbac..df55c3e3d 100644 --- a/src/yuzu/configuration/config.cpp +++ b/src/yuzu/configuration/config.cpp @@ -83,7 +83,8 @@ void Config::ReadValues() { qt_config->beginGroup("Renderer"); Settings::values.resolution_factor = qt_config->value("resolution_factor", 1.0).toFloat(); - Settings::values.toggle_framelimit = qt_config->value("toggle_framelimit", true).toBool(); + Settings::values.use_frame_limit = qt_config->value("use_frame_limit", true).toBool(); + Settings::values.frame_limit = qt_config->value("frame_limit", 100).toInt(); Settings::values.use_accurate_framebuffers = qt_config->value("use_accurate_framebuffers", false).toBool(); @@ -203,7 +204,8 @@ void Config::SaveValues() { qt_config->beginGroup("Renderer"); qt_config->setValue("resolution_factor", (double)Settings::values.resolution_factor); - qt_config->setValue("toggle_framelimit", Settings::values.toggle_framelimit); + qt_config->setValue("use_frame_limit", Settings::values.use_frame_limit); + qt_config->setValue("frame_limit", Settings::values.frame_limit); qt_config->setValue("use_accurate_framebuffers", Settings::values.use_accurate_framebuffers); // Cast to double because Qt's written float values are not human-readable diff --git a/src/yuzu/configuration/configure_graphics.cpp b/src/yuzu/configuration/configure_graphics.cpp index 4afe0f81b..ee1287028 100644 --- a/src/yuzu/configuration/configure_graphics.cpp +++ b/src/yuzu/configuration/configure_graphics.cpp @@ -12,6 +12,10 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent) ui->setupUi(this); this->setConfiguration(); + + ui->frame_limit->setEnabled(Settings::values.use_frame_limit); + connect(ui->toggle_frame_limit, &QCheckBox::stateChanged, ui->frame_limit, + &QSpinBox::setEnabled); } ConfigureGraphics::~ConfigureGraphics() = default; @@ -58,13 +62,15 @@ Resolution FromResolutionFactor(float factor) { void ConfigureGraphics::setConfiguration() { ui->resolution_factor_combobox->setCurrentIndex( static_cast(FromResolutionFactor(Settings::values.resolution_factor))); - ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit); + ui->toggle_frame_limit->setChecked(Settings::values.use_frame_limit); + ui->frame_limit->setValue(Settings::values.frame_limit); ui->use_accurate_framebuffers->setChecked(Settings::values.use_accurate_framebuffers); } void ConfigureGraphics::applyConfiguration() { Settings::values.resolution_factor = ToResolutionFactor(static_cast(ui->resolution_factor_combobox->currentIndex())); - Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked(); + Settings::values.use_frame_limit = ui->toggle_frame_limit->isChecked(); + Settings::values.frame_limit = ui->frame_limit->value(); Settings::values.use_accurate_framebuffers = ui->use_accurate_framebuffers->isChecked(); } diff --git a/src/yuzu/configuration/configure_graphics.ui b/src/yuzu/configuration/configure_graphics.ui index 7d092df03..3bc18c26e 100644 --- a/src/yuzu/configuration/configure_graphics.ui +++ b/src/yuzu/configuration/configure_graphics.ui @@ -23,11 +23,31 @@ - - - Limit framerate - - + + + + + Limit Speed Percent + + + + + + + % + + + 1 + + + 9999 + + + 100 + + + + -- cgit v1.2.3