Skip to content
Snippets Groups Projects
Commit 21ad5f5c authored by Charles Lombardo's avatar Charles Lombardo
Browse files

android: Add optional androidDefault property to settings

Certain settings have specific defaults for Android only. This lets us reflect them in the Kotlin side with very little code.
parent 45280a03
No related branches found
No related tags found
No related merge requests found
......@@ -9,6 +9,8 @@ interface AbstractSetting {
val key: String
val category: Settings.Category
val defaultValue: Any
val androidDefault: Any?
get() = null
val valueAsString: String
get() = ""
......
......@@ -7,17 +7,18 @@ import org.yuzu.yuzu_emu.utils.NativeConfig
enum class BooleanSetting(
override val key: String,
override val category: Settings.Category
override val category: Settings.Category,
override val androidDefault: Boolean? = null
) : AbstractBooleanSetting {
CPU_DEBUG_MODE("cpu_debug_mode", Settings.Category.Cpu),
FASTMEM("cpuopt_fastmem", Settings.Category.Cpu),
FASTMEM_EXCLUSIVES("cpuopt_fastmem_exclusives", Settings.Category.Cpu),
RENDERER_USE_SPEED_LIMIT("use_speed_limit", Settings.Category.Core),
USE_DOCKED_MODE("use_docked_mode", Settings.Category.System),
USE_DOCKED_MODE("use_docked_mode", Settings.Category.System, false),
RENDERER_USE_DISK_SHADER_CACHE("use_disk_shader_cache", Settings.Category.Renderer),
RENDERER_FORCE_MAX_CLOCK("force_max_clock", Settings.Category.Renderer),
RENDERER_ASYNCHRONOUS_SHADERS("use_asynchronous_shaders", Settings.Category.Renderer),
RENDERER_REACTIVE_FLUSHING("use_reactive_flushing", Settings.Category.Renderer),
RENDERER_REACTIVE_FLUSHING("use_reactive_flushing", Settings.Category.Renderer, false),
RENDERER_DEBUG("debug", Settings.Category.Renderer),
PICTURE_IN_PICTURE("picture_in_picture", Settings.Category.Android),
USE_CUSTOM_RTC("custom_rtc_enabled", Settings.Category.System);
......@@ -27,7 +28,9 @@ enum class BooleanSetting(
override fun setBoolean(value: Boolean) = NativeConfig.setBoolean(key, value)
override val defaultValue: Boolean by lazy { NativeConfig.getBoolean(key, true) }
override val defaultValue: Boolean by lazy {
androidDefault ?: NativeConfig.getBoolean(key, true)
}
override val valueAsString: String
get() = if (boolean) "1" else "0"
......
......@@ -7,13 +7,14 @@ import org.yuzu.yuzu_emu.utils.NativeConfig
enum class IntSetting(
override val key: String,
override val category: Settings.Category
override val category: Settings.Category,
override val androidDefault: Int? = null
) : AbstractIntSetting {
CPU_ACCURACY("cpu_accuracy", Settings.Category.Cpu),
REGION_INDEX("region_index", Settings.Category.System),
LANGUAGE_INDEX("language_index", Settings.Category.System),
RENDERER_BACKEND("backend", Settings.Category.Renderer),
RENDERER_ACCURACY("gpu_accuracy", Settings.Category.Renderer),
RENDERER_ACCURACY("gpu_accuracy", Settings.Category.Renderer, 0),
RENDERER_RESOLUTION("resolution_setup", Settings.Category.Renderer),
RENDERER_VSYNC("use_vsync", Settings.Category.Renderer),
RENDERER_SCALING_FILTER("scaling_filter", Settings.Category.Renderer),
......@@ -27,7 +28,9 @@ enum class IntSetting(
override fun setInt(value: Int) = NativeConfig.setInt(key, value)
override val defaultValue: Int by lazy { NativeConfig.getInt(key, true) }
override val defaultValue: Int by lazy {
androidDefault ?: NativeConfig.getInt(key, true)
}
override val valueAsString: String
get() = int.toString()
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment