diff options
| author | Charles Lombardo <clombardo169@gmail.com> | 2023-08-11 17:10:03 -0400 |
|---|---|---|
| committer | Charles Lombardo <clombardo169@gmail.com> | 2023-08-29 00:20:16 -0400 |
| commit | 80b329b77f58144e1e1ed1608a0fe6bf779c2610 (patch) | |
| tree | 83a8b07149804ee393f89fd308f957fe1fb7f6ca /Source/Android/app/src/main/java | |
| parent | f9959656e763555cf6314ec5d5502feefb1e7740 (diff) | |
Android: Expose color correction settings
Diffstat (limited to 'Source/Android/app/src/main/java')
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( |
