summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar archshift2015-04-03 15:35:51 -0700
committerGravatar archshift2015-04-03 15:35:51 -0700
commitcae89fb315afb4dfd83d9e33298505a58ecb7a08 (patch)
treee43cb6ae2f690b81e825f0b7dcc9fc7f1433fbc3 /src
parentMerge pull request #677 from lioncash/cp15 (diff)
downloadyuzu-cae89fb315afb4dfd83d9e33298505a58ecb7a08.tar.gz
yuzu-cae89fb315afb4dfd83d9e33298505a58ecb7a08.tar.xz
yuzu-cae89fb315afb4dfd83d9e33298505a58ecb7a08.zip
Allow the user to set the background clear color during emulation
The background color can be seen at the sides of the bottom screen or when the window is wider than normal.
Diffstat (limited to 'src')
-rw-r--r--src/citra/config.cpp5
-rw-r--r--src/citra/default_ini.h7
-rw-r--r--src/citra_qt/config.cpp13
-rw-r--r--src/core/settings.h5
-rw-r--r--src/video_core/renderer_opengl/renderer_opengl.cpp3
5 files changed, 32 insertions, 1 deletions
diff --git a/src/citra/config.cpp b/src/citra/config.cpp
index e9f3dfd5b..43175d6cb 100644
--- a/src/citra/config.cpp
+++ b/src/citra/config.cpp
@@ -66,6 +66,11 @@ void Config::ReadValues() {
66 Settings::values.gpu_refresh_rate = glfw_config->GetInteger("Core", "gpu_refresh_rate", 30); 66 Settings::values.gpu_refresh_rate = glfw_config->GetInteger("Core", "gpu_refresh_rate", 30);
67 Settings::values.frame_skip = glfw_config->GetInteger("Core", "frame_skip", 0); 67 Settings::values.frame_skip = glfw_config->GetInteger("Core", "frame_skip", 0);
68 68
69 // Renderer
70 Settings::values.bg_red = (float)glfw_config->GetReal("Renderer", "bg_red", 1.0);
71 Settings::values.bg_green = (float)glfw_config->GetReal("Renderer", "bg_green", 1.0);
72 Settings::values.bg_blue = (float)glfw_config->GetReal("Renderer", "bg_blue", 1.0);
73
69 // Data Storage 74 // Data Storage
70 Settings::values.use_virtual_sd = glfw_config->GetBoolean("Data Storage", "use_virtual_sd", true); 75 Settings::values.use_virtual_sd = glfw_config->GetBoolean("Data Storage", "use_virtual_sd", true);
71 76
diff --git a/src/citra/default_ini.h b/src/citra/default_ini.h
index fc02a3ceb..1dd971926 100644
--- a/src/citra/default_ini.h
+++ b/src/citra/default_ini.h
@@ -41,6 +41,13 @@ gpu_refresh_rate =
41# 0 (default): No frameskip, 1: x2 frameskip, 2: x4 frameskip, 3: x8 frameskip, etc. 41# 0 (default): No frameskip, 1: x2 frameskip, 2: x4 frameskip, 3: x8 frameskip, etc.
42frame_skip = 42frame_skip =
43 43
44[Renderer]
45# The clear color for the renderer. What shows up on the sides of the bottom screen.
46# Must be in range of 0.0-1.0. Defaults to 1.0 for all.
47bg_red =
48bg_blue =
49bg_green =
50
44[Data Storage] 51[Data Storage]
45# Whether to create a virtual SD card. 52# Whether to create a virtual SD card.
46# 1 (default): Yes, 0: No 53# 1 (default): Yes, 0: No
diff --git a/src/citra_qt/config.cpp b/src/citra_qt/config.cpp
index ac250e0a5..fb85121b3 100644
--- a/src/citra_qt/config.cpp
+++ b/src/citra_qt/config.cpp
@@ -53,6 +53,12 @@ void Config::ReadValues() {
53 Settings::values.frame_skip = qt_config->value("frame_skip", 0).toInt(); 53 Settings::values.frame_skip = qt_config->value("frame_skip", 0).toInt();
54 qt_config->endGroup(); 54 qt_config->endGroup();
55 55
56 qt_config->beginGroup("Renderer");
57 Settings::values.bg_red = qt_config->value("bg_red", 1.0).toFloat();
58 Settings::values.bg_green = qt_config->value("bg_green", 1.0).toFloat();
59 Settings::values.bg_blue = qt_config->value("bg_blue", 1.0).toFloat();
60 qt_config->endGroup();
61
56 qt_config->beginGroup("Data Storage"); 62 qt_config->beginGroup("Data Storage");
57 Settings::values.use_virtual_sd = qt_config->value("use_virtual_sd", true).toBool(); 63 Settings::values.use_virtual_sd = qt_config->value("use_virtual_sd", true).toBool();
58 qt_config->endGroup(); 64 qt_config->endGroup();
@@ -98,6 +104,13 @@ void Config::SaveValues() {
98 qt_config->setValue("frame_skip", Settings::values.frame_skip); 104 qt_config->setValue("frame_skip", Settings::values.frame_skip);
99 qt_config->endGroup(); 105 qt_config->endGroup();
100 106
107 qt_config->beginGroup("Renderer");
108 // Cast to double because Qt's written float values are not human-readable
109 qt_config->setValue("bg_red", (double)Settings::values.bg_red);
110 qt_config->setValue("bg_green", (double)Settings::values.bg_green);
111 qt_config->setValue("bg_blue", (double)Settings::values.bg_blue);
112 qt_config->endGroup();
113
101 qt_config->beginGroup("Data Storage"); 114 qt_config->beginGroup("Data Storage");
102 qt_config->setValue("use_virtual_sd", Settings::values.use_virtual_sd); 115 qt_config->setValue("use_virtual_sd", Settings::values.use_virtual_sd);
103 qt_config->endGroup(); 116 qt_config->endGroup();
diff --git a/src/core/settings.h b/src/core/settings.h
index 870eea958..0f4700241 100644
--- a/src/core/settings.h
+++ b/src/core/settings.h
@@ -44,6 +44,11 @@ struct Values {
44 // System Region 44 // System Region
45 int region_value; 45 int region_value;
46 46
47 // Renderer
48 float bg_red;
49 float bg_green;
50 float bg_blue;
51
47 std::string log_filter; 52 std::string log_filter;
48} extern values; 53} extern values;
49 54
diff --git a/src/video_core/renderer_opengl/renderer_opengl.cpp b/src/video_core/renderer_opengl/renderer_opengl.cpp
index 4273a177f..5e864b75e 100644
--- a/src/video_core/renderer_opengl/renderer_opengl.cpp
+++ b/src/video_core/renderer_opengl/renderer_opengl.cpp
@@ -6,6 +6,7 @@
6#include "core/hw/hw.h" 6#include "core/hw/hw.h"
7#include "core/hw/lcd.h" 7#include "core/hw/lcd.h"
8#include "core/mem_map.h" 8#include "core/mem_map.h"
9#include "core/settings.h"
9 10
10#include "common/emu_window.h" 11#include "common/emu_window.h"
11#include "common/profiler_reporting.h" 12#include "common/profiler_reporting.h"
@@ -172,7 +173,7 @@ void RendererOpenGL::LoadColorToActiveGLTexture(u8 color_r, u8 color_g, u8 color
172 * Initializes the OpenGL state and creates persistent objects. 173 * Initializes the OpenGL state and creates persistent objects.
173 */ 174 */
174void RendererOpenGL::InitOpenGLObjects() { 175void RendererOpenGL::InitOpenGLObjects() {
175 glClearColor(1.0f, 1.0f, 1.0f, 0.0f); 176 glClearColor(Settings::values.bg_red, Settings::values.bg_green, Settings::values.bg_blue, 0.0f);
176 glDisable(GL_DEPTH_TEST); 177 glDisable(GL_DEPTH_TEST);
177 178
178 // Link shaders and get variable locations 179 // Link shaders and get variable locations