From 96c8a7ee1f2fdc3302cd6b54d1b7c93faabcacab Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Tue, 17 Jan 2023 02:23:12 -0500 Subject: Android: Expose texture filtering options --- .../features/settings/model/IntSetting.java | 3 ++ .../settings/ui/SettingsFragmentPresenter.java | 33 ++++++++++++++++++++-- 2 files changed, 34 insertions(+), 2 deletions(-) (limited to 'Source/Android/app/src/main/java/org') diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java index 46d9b1fd9e..17eee510bb 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java @@ -61,6 +61,9 @@ public enum IntSetting implements AbstractIntSetting GFX_SHADER_COMPILATION_MODE(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "ShaderCompilationMode", 0), + GFX_ENHANCE_FORCE_TEXTURE_FILTERING(Settings.FILE_GFX, Settings.SECTION_GFX_ENHANCEMENTS, + "ForceTextureFiltering", 0), + GFX_ENHANCE_MAX_ANISOTROPY(Settings.FILE_GFX, Settings.SECTION_GFX_ENHANCEMENTS, "MaxAnisotropy", 0), diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java index 0a65174b11..46beddcd78 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java @@ -806,6 +806,37 @@ public final class SettingsFragmentPresenter sl.add(new SingleChoiceSetting(mContext, IntSetting.GFX_ENHANCE_MAX_ANISOTROPY, R.string.anisotropic_filtering, R.string.anisotropic_filtering_description, R.array.anisotropicFilteringEntries, R.array.anisotropicFilteringValues)); + AbstractIntSetting filteringSetting = new AbstractIntSetting() + { + @Override public int getInt(Settings settings) + { + return IntSetting.GFX_ENHANCE_FORCE_TEXTURE_FILTERING.getInt(settings); + } + + @Override public void setInt(Settings settings, int newValue) + { + BooleanSetting.GFX_ENHANCE_FORCE_FILTERING.setBoolean(settings, (newValue > 0)); + IntSetting.GFX_ENHANCE_FORCE_TEXTURE_FILTERING.setInt(settings, newValue); + } + + @Override public boolean isOverridden(Settings settings) + { + return IntSetting.GFX_ENHANCE_FORCE_TEXTURE_FILTERING.isOverridden(settings); + } + + @Override public boolean isRuntimeEditable() + { + return IntSetting.GFX_ENHANCE_FORCE_TEXTURE_FILTERING.isRuntimeEditable(); + } + + @Override public boolean delete(Settings settings) + { + return IntSetting.GFX_ENHANCE_FORCE_TEXTURE_FILTERING.delete(settings); + } + }; + sl.add(new SingleChoiceSetting(mContext, filteringSetting, R.string.texture_filtering, + R.string.texture_filtering_description, R.array.textureFilteringEntries, + R.array.textureFilteringValues)); int stereoModeValue = IntSetting.GFX_STEREO_MODE.getInt(mSettings); final int anaglyphMode = 3; @@ -827,8 +858,6 @@ public final class SettingsFragmentPresenter R.string.scaled_efb_copy, R.string.scaled_efb_copy_description)); sl.add(new SwitchSetting(mContext, BooleanSetting.GFX_ENABLE_PIXEL_LIGHTING, R.string.per_pixel_lighting, R.string.per_pixel_lighting_description)); - sl.add(new SwitchSetting(mContext, BooleanSetting.GFX_ENHANCE_FORCE_FILTERING, - R.string.force_texture_filtering, R.string.force_texture_filtering_description)); sl.add(new SwitchSetting(mContext, BooleanSetting.GFX_ENHANCE_FORCE_TRUE_COLOR, R.string.force_24bit_color, R.string.force_24bit_color_description)); sl.add(new SwitchSetting(mContext, BooleanSetting.GFX_DISABLE_FOG, R.string.disable_fog, -- cgit v1.2.3