summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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