summaryrefslogtreecommitdiffstats
path: root/src/citra_qt
diff options
context:
space:
mode:
authorbunnei <bunneidev@gmail.com>2017-01-08 18:25:12 +0100
committerGitHub <noreply@github.com>2017-01-08 18:25:12 +0100
commit9fc8ead8424a1e9fa46ab9b15777416b256a77d1 (patch)
tree3757cf233b6b57155c287c7f968cad5e41761a05 /src/citra_qt
parentMerge pull request #1951 from wwylele/motion-sensor (diff)
parentconfig: Add option for specifying screen resolution scale factor. (diff)
downloadyuzu-9fc8ead8424a1e9fa46ab9b15777416b256a77d1.tar
yuzu-9fc8ead8424a1e9fa46ab9b15777416b256a77d1.tar.gz
yuzu-9fc8ead8424a1e9fa46ab9b15777416b256a77d1.tar.bz2
yuzu-9fc8ead8424a1e9fa46ab9b15777416b256a77d1.tar.lz
yuzu-9fc8ead8424a1e9fa46ab9b15777416b256a77d1.tar.xz
yuzu-9fc8ead8424a1e9fa46ab9b15777416b256a77d1.tar.zst
yuzu-9fc8ead8424a1e9fa46ab9b15777416b256a77d1.zip
Diffstat (limited to 'src/citra_qt')
-rw-r--r--src/citra_qt/config.cpp5
-rw-r--r--src/citra_qt/configure_graphics.cpp76
-rw-r--r--src/citra_qt/configure_graphics.ui86
3 files changed, 154 insertions, 13 deletions
diff --git a/src/citra_qt/config.cpp b/src/citra_qt/config.cpp
index c904c4b00..8021667d0 100644
--- a/src/citra_qt/config.cpp
+++ b/src/citra_qt/config.cpp
@@ -44,8 +44,7 @@ void Config::ReadValues() {
qt_config->beginGroup("Renderer");
Settings::values.use_hw_renderer = qt_config->value("use_hw_renderer", true).toBool();
Settings::values.use_shader_jit = qt_config->value("use_shader_jit", true).toBool();
- Settings::values.use_scaled_resolution =
- qt_config->value("use_scaled_resolution", false).toBool();
+ Settings::values.resolution_factor = qt_config->value("resolution_factor", 1.0).toFloat();
Settings::values.use_vsync = qt_config->value("use_vsync", false).toBool();
Settings::values.toggle_framelimit = qt_config->value("toggle_framelimit", true).toBool();
@@ -152,7 +151,7 @@ void Config::SaveValues() {
qt_config->beginGroup("Renderer");
qt_config->setValue("use_hw_renderer", Settings::values.use_hw_renderer);
qt_config->setValue("use_shader_jit", Settings::values.use_shader_jit);
- qt_config->setValue("use_scaled_resolution", Settings::values.use_scaled_resolution);
+ qt_config->setValue("resolution_factor", (double)Settings::values.resolution_factor);
qt_config->setValue("use_vsync", Settings::values.use_vsync);
qt_config->setValue("toggle_framelimit", Settings::values.toggle_framelimit);
diff --git a/src/citra_qt/configure_graphics.cpp b/src/citra_qt/configure_graphics.cpp
index cea7db388..54f799b47 100644
--- a/src/citra_qt/configure_graphics.cpp
+++ b/src/citra_qt/configure_graphics.cpp
@@ -18,10 +18,81 @@ ConfigureGraphics::ConfigureGraphics(QWidget* parent)
ConfigureGraphics::~ConfigureGraphics() {}
+enum class Resolution : int {
+ Auto,
+ Scale1x,
+ Scale2x,
+ Scale3x,
+ Scale4x,
+ Scale5x,
+ Scale6x,
+ Scale7x,
+ Scale8x,
+ Scale9x,
+ Scale10x,
+};
+
+float ToResolutionFactor(Resolution option) {
+ switch (option) {
+ case Resolution::Auto:
+ return 0.f;
+ case Resolution::Scale1x:
+ return 1.f;
+ case Resolution::Scale2x:
+ return 2.f;
+ case Resolution::Scale3x:
+ return 3.f;
+ case Resolution::Scale4x:
+ return 4.f;
+ case Resolution::Scale5x:
+ return 5.f;
+ case Resolution::Scale6x:
+ return 6.f;
+ case Resolution::Scale7x:
+ return 7.f;
+ case Resolution::Scale8x:
+ return 8.f;
+ case Resolution::Scale9x:
+ return 9.f;
+ case Resolution::Scale10x:
+ return 10.f;
+ }
+ return 0.f;
+}
+
+Resolution FromResolutionFactor(float factor) {
+ if (factor == 0.f) {
+ return Resolution::Auto;
+ } else if (factor == 1.f) {
+ return Resolution::Scale1x;
+ } else if (factor == 2.f) {
+ return Resolution::Scale2x;
+ } else if (factor == 3.f) {
+ return Resolution::Scale3x;
+ } else if (factor == 4.f) {
+ return Resolution::Scale4x;
+ } else if (factor == 5.f) {
+ return Resolution::Scale5x;
+ } else if (factor == 6.f) {
+ return Resolution::Scale6x;
+ } else if (factor == 7.f) {
+ return Resolution::Scale7x;
+ } else if (factor == 8.f) {
+ return Resolution::Scale8x;
+ } else if (factor == 9.f) {
+ return Resolution::Scale9x;
+ } else if (factor == 10.f) {
+ return Resolution::Scale10x;
+ }
+ return Resolution::Auto;
+}
+
void ConfigureGraphics::setConfiguration() {
ui->toggle_hw_renderer->setChecked(Settings::values.use_hw_renderer);
+ ui->resolution_factor_combobox->setEnabled(Settings::values.use_hw_renderer);
ui->toggle_shader_jit->setChecked(Settings::values.use_shader_jit);
- ui->toggle_scaled_resolution->setChecked(Settings::values.use_scaled_resolution);
+ ui->resolution_factor_combobox->setCurrentIndex(
+ static_cast<int>(FromResolutionFactor(Settings::values.resolution_factor)));
ui->toggle_vsync->setChecked(Settings::values.use_vsync);
ui->toggle_framelimit->setChecked(Settings::values.toggle_framelimit);
ui->layout_combobox->setCurrentIndex(static_cast<int>(Settings::values.layout_option));
@@ -31,7 +102,8 @@ void ConfigureGraphics::setConfiguration() {
void ConfigureGraphics::applyConfiguration() {
Settings::values.use_hw_renderer = ui->toggle_hw_renderer->isChecked();
Settings::values.use_shader_jit = ui->toggle_shader_jit->isChecked();
- Settings::values.use_scaled_resolution = ui->toggle_scaled_resolution->isChecked();
+ Settings::values.resolution_factor =
+ ToResolutionFactor(static_cast<Resolution>(ui->resolution_factor_combobox->currentIndex()));
Settings::values.use_vsync = ui->toggle_vsync->isChecked();
Settings::values.toggle_framelimit = ui->toggle_framelimit->isChecked();
Settings::values.layout_option =
diff --git a/src/citra_qt/configure_graphics.ui b/src/citra_qt/configure_graphics.ui
index 964aa0bbd..62021fe22 100644
--- a/src/citra_qt/configure_graphics.ui
+++ b/src/citra_qt/configure_graphics.ui
@@ -37,13 +37,6 @@
</widget>
</item>
<item>
- <widget class="QCheckBox" name="toggle_scaled_resolution">
- <property name="text">
- <string>Enable scaled resolution</string>
- </property>
- </widget>
- </item>
- <item>
<widget class="QCheckBox" name="toggle_vsync">
<property name="text">
<string>Enable V-Sync</string>
@@ -57,6 +50,76 @@
</property>
</widget>
</item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="text">
+ <string>Internal Resolution:</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="resolution_factor_combobox">
+ <item>
+ <property name="text">
+ <string notr="true">Auto (Window Size)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">Native (400x240)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">2x Native (800x480)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">3x Native (1200x720)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">4x Native (1600x960)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">5x Native (2000x1200)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">6x Native (2400x1440)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">7x Native (2800x1680)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">8x Native (3200x1920)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">9x Native (3600x2160)</string>
+ </property>
+ </item>
+ <item>
+ <property name="text">
+ <string notr="true">10x Native (4000x2400)</string>
+ </property>
+ </item>
+ </widget>
+ </item>
+ </layout>
+ </item>
</layout>
</widget>
</item>
@@ -128,5 +191,12 @@
</layout>
</widget>
<resources/>
- <connections/>
+ <connections>
+ <connection>
+ <sender>toggle_hw_renderer</sender>
+ <signal>toggled(bool)</signal>
+ <receiver>resolution_factor_combobox</receiver>
+ <slot>setEnabled(bool)</slot>
+ </connection>
+ </connections>
</ui>