summaryrefslogtreecommitdiff
path: root/src/common/settings_enums.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/common/settings_enums.h')
-rw-r--r--src/common/settings_enums.h37
1 files changed, 18 insertions, 19 deletions
diff --git a/src/common/settings_enums.h b/src/common/settings_enums.h
index f48fb7bd4..6cd2ac28b 100644
--- a/src/common/settings_enums.h
+++ b/src/common/settings_enums.h
@@ -47,7 +47,7 @@ enum class Language : u32 {
47 47
48enum class Region : u32 { 48enum class Region : u32 {
49 Japan, 49 Japan,
50 USA, 50 Usa,
51 Europe, 51 Europe,
52 Australia, 52 Australia,
53 China, 53 China,
@@ -114,9 +114,9 @@ enum class AnisotropyMode : u32 {
114}; 114};
115 115
116enum class AstcDecodeMode : u32 { 116enum class AstcDecodeMode : u32 {
117 CPU = 0, 117 Cpu = 0,
118 GPU = 1, 118 Gpu = 1,
119 CPUAsynchronous = 2, 119 CpuAsynchronous = 2,
120}; 120};
121 121
122enum class AstcRecompression : u32 { 122enum class AstcRecompression : u32 {
@@ -128,8 +128,8 @@ enum class AstcRecompression : u32 {
128enum class VSyncMode : u32 { 128enum class VSyncMode : u32 {
129 Immediate = 0, 129 Immediate = 0,
130 Mailbox = 1, 130 Mailbox = 1,
131 FIFO = 2, 131 Fifo = 2,
132 FIFORelaxed = 3, 132 FifoRelaxed = 3,
133}; 133};
134 134
135enum class RendererBackend : u32 { 135enum class RendererBackend : u32 {
@@ -139,19 +139,18 @@ enum class RendererBackend : u32 {
139}; 139};
140 140
141enum class ShaderBackend : u32 { 141enum class ShaderBackend : u32 {
142 GLSL = 0, 142 Glsl = 0,
143 GLASM = 1, 143 Glasm = 1,
144 SPIRV = 2, 144 SpirV = 2,
145}; 145};
146 146
147enum class GPUAccuracy : u32 { 147enum class GpuAccuracy : u32 {
148 Normal = 0, 148 Normal = 0,
149 High = 1, 149 High = 1,
150 Extreme = 2, 150 Extreme = 2,
151 MaxEnum = 3,
152}; 151};
153 152
154enum class CPUAccuracy : u32 { 153enum class CpuAccuracy : u32 {
155 Auto = 0, 154 Auto = 0,
156 Accurate = 1, 155 Accurate = 1,
157 Unsafe = 2, 156 Unsafe = 2,
@@ -165,8 +164,8 @@ enum class FullscreenMode : u32 {
165 164
166enum class NvdecEmulation : u32 { 165enum class NvdecEmulation : u32 {
167 Off = 0, 166 Off = 0,
168 CPU = 1, 167 Cpu = 1,
169 GPU = 2, 168 Gpu = 2,
170}; 169};
171 170
172enum class ResolutionSetup : u32 { 171enum class ResolutionSetup : u32 {
@@ -220,18 +219,18 @@ static std::map<std::type_index, std::map<std::string, u32>> translations = {
220static std::string empty_string{}; 219static std::string empty_string{};
221 220
222template <typename Type> 221template <typename Type>
223const std::string& TranslateEnum(Type id) { 222const std::string& CanonicalizeEnum(Type id) {
224 auto& group = translations.at(typeid(Type)); 223 auto& group = canonicalizations.at(typeid(Type));
225 for (auto& [name, value] : group) { 224 for (auto& [name, value] : group) {
226 if (static_cast<Type>(value) == id) { 225 if (static_cast<Type>(value) == id) {
227 return name; 226 return name;
228 } 227 }
229 } 228 }
230 return empty_string; 229 return invalid_string;
231} 230}
232 231
233template <typename Type> 232template <typename Type>
234static Type ToEnum(const std::string& text) { 233static Type ToEnum(const std::string& canonicalization) {
235 return static_cast<Type>(translations.at(typeid(Type)).at(text)); 234 return static_cast<Type>(canonicalizations.at(typeid(Type)).at(canonicalization));
236} 235}
237} // namespace Settings 236} // namespace Settings