summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2023-08-11 17:10:03 -0400
committerCharles Lombardo <clombardo169@gmail.com>2023-08-29 00:20:16 -0400
commit80b329b77f58144e1e1ed1608a0fe6bf779c2610 (patch)
tree83a8b07149804ee393f89fd308f957fe1fb7f6ca /Source/Android/app/src/main/java
parentf9959656e763555cf6314ec5d5502feefb1e7740 (diff)
Android: Expose color correction settings
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt12
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/FloatSetting.kt3
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.kt6
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.kt1
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.kt1
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt71
6 files changed, 84 insertions, 10 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt
index 60042ceb8e..e0171f9831 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/BooleanSetting.kt
@@ -595,6 +595,18 @@ enum class BooleanSetting(
"ArbitraryMipmapDetection",
true
),
+ GFX_CC_CORRECT_COLOR_SPACE(
+ Settings.FILE_GFX,
+ Settings.SECTION_GFX_COLOR_CORRECTION,
+ "CorrectColorSpace",
+ false
+ ),
+ GFX_CC_CORRECT_GAMMA(
+ Settings.FILE_GFX,
+ Settings.SECTION_GFX_COLOR_CORRECTION,
+ "CorrectGamma",
+ false
+ ),
GFX_STEREO_SWAP_EYES(Settings.FILE_GFX, Settings.SECTION_STEREOSCOPY, "StereoSwapEyes", false),
GFX_HACK_EFB_ACCESS_ENABLE(
Settings.FILE_GFX,
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/FloatSetting.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/FloatSetting.kt
index 99b73251e7..ec5bda11cc 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/FloatSetting.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/FloatSetting.kt
@@ -10,7 +10,8 @@ enum class FloatSetting(
) : AbstractFloatSetting {
// These entries have the same names and order as in C++, just for consistency.
MAIN_EMULATION_SPEED(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "EmulationSpeed", 1.0f),
- MAIN_OVERCLOCK(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "Overclock", 1.0f);
+ MAIN_OVERCLOCK(Settings.FILE_DOLPHIN, Settings.SECTION_INI_CORE, "Overclock", 1.0f),
+ GFX_CC_GAME_GAMMA(Settings.FILE_GFX, Settings.SECTION_GFX_COLOR_CORRECTION, "GameGamma", 2.35f);
override val isOverridden: Boolean
get() = NativeConfig.isOverridden(file, section, key)
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.kt
index 256e68007e..22bb47528b 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.kt
@@ -119,6 +119,12 @@ enum class IntSetting(
"MaxAnisotropy",
0
),
+ GFX_CC_GAME_COLOR_SPACE(
+ Settings.FILE_GFX,
+ Settings.SECTION_GFX_COLOR_CORRECTION,
+ "GameColorSpace",
+ 0
+ ),
GFX_STEREO_MODE(Settings.FILE_GFX, Settings.SECTION_STEREOSCOPY, "StereoMode", 0),
GFX_STEREO_DEPTH(Settings.FILE_GFX, Settings.SECTION_STEREOSCOPY, "StereoDepth", 20),
GFX_STEREO_CONVERGENCE_PERCENTAGE(
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.kt
index b363104703..27291718dc 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/Settings.kt
@@ -135,6 +135,7 @@ class Settings : Closeable {
const val SECTION_LOGGER_OPTIONS = "Options"
const val SECTION_GFX_SETTINGS = "Settings"
const val SECTION_GFX_ENHANCEMENTS = "Enhancements"
+ const val SECTION_GFX_COLOR_CORRECTION = "ColorCorrection"
const val SECTION_GFX_HACKS = "Hacks"
const val SECTION_DEBUG = "Debug"
const val SECTION_EMULATED_USB_DEVICES = "EmulatedUSBDevices"
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.kt
index 3b67dbd9e8..8101d9efbf 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragment.kt
@@ -272,6 +272,7 @@ class SettingsFragment : Fragment(), SettingsFragmentView {
titles[MenuTag.DEBUG] = R.string.debug_submenu
titles[MenuTag.GRAPHICS] = R.string.graphics_settings
titles[MenuTag.ENHANCEMENTS] = R.string.enhancements_submenu
+ titles[MenuTag.COLOR_CORRECTION] = R.string.color_correction_submenu
titles[MenuTag.STEREOSCOPY] = R.string.stereoscopy_submenu
titles[MenuTag.HACKS] = R.string.hacks_submenu
titles[MenuTag.STATISTICS] = R.string.statistics_submenu
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt
index 0947e4f294..99b95bb7e3 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.kt
@@ -72,9 +72,8 @@ class SettingsFragmentPresenter(
&& GpuDriverHelper.supportsCustomDriverLoading()
) {
this.gpuDriver =
- GpuDriverHelper.getInstalledDriverMetadata() ?: GpuDriverHelper.getSystemDriverMetadata(
- context.applicationContext
- )
+ GpuDriverHelper.getInstalledDriverMetadata()
+ ?: GpuDriverHelper.getSystemDriverMetadata(context.applicationContext)
}
}
@@ -713,12 +712,12 @@ class SettingsFragmentPresenter(
)
)
sl.add(
- SwitchSetting(
- context,
- BooleanSetting.MAIN_WII_WIILINK_ENABLE,
- R.string.wii_enable_wiilink,
- R.string.wii_enable_wiilink_description
- )
+ SwitchSetting(
+ context,
+ BooleanSetting.MAIN_WII_WIILINK_ENABLE,
+ R.string.wii_enable_wiilink,
+ R.string.wii_enable_wiilink_description
+ )
)
sl.add(
SingleChoiceSetting(
@@ -1333,6 +1332,13 @@ class SettingsFragmentPresenter(
R.array.textureFilteringValues
)
)
+ sl.add(
+ SubmenuSetting(
+ context,
+ R.string.color_correction_submenu,
+ MenuTag.COLOR_CORRECTION
+ )
+ )
val stereoModeValue = IntSetting.GFX_STEREO_MODE.int
val anaglyphMode = 3
@@ -1429,6 +1435,53 @@ class SettingsFragmentPresenter(
}
}
+ private fun addColorCorrectionSettings(sl: ArrayList<SettingsItem>) {
+ sl.apply {
+ add(HeaderSetting(context, R.string.color_space, 0))
+ add(
+ SwitchSetting(
+ context,
+ BooleanSetting.GFX_CC_CORRECT_COLOR_SPACE,
+ R.string.correct_color_space,
+ R.string.correct_color_space_description
+ )
+ )
+ add(
+ SingleChoiceSetting(
+ context,
+ IntSetting.GFX_CC_GAME_COLOR_SPACE,
+ R.string.game_color_space,
+ 0,
+ R.array.colorSpaceEntries,
+ R.array.colorSpaceValues
+ )
+ )
+
+ add(HeaderSetting(context, R.string.gamma, 0))
+ add(
+ FloatSliderSetting(
+ context,
+ FloatSetting.GFX_CC_GAME_GAMMA,
+ R.string.game_gamma,
+ R.string.game_gamma_description,
+ 2.2f,
+ 2.8f,
+ "",
+ 0.01f,
+ true
+ )
+ )
+ add(
+ SwitchSetting(
+ context,
+ BooleanSetting.GFX_CC_CORRECT_GAMMA,
+ R.string.correct_sdr_gamma,
+ 0
+ )
+ )
+ }
+ }
+
private fun addHackSettings(sl: ArrayList<SettingsItem>) {
sl.add(HeaderSetting(context, R.string.embedded_frame_buffer, 0))
sl.add(