diff options
| author | Charles Lombardo <clombardo169@gmail.com> | 2023-01-17 02:23:12 -0500 |
|---|---|---|
| committer | Charles Lombardo <clombardo169@gmail.com> | 2023-01-17 11:13:02 -0500 |
| commit | 96c8a7ee1f2fdc3302cd6b54d1b7c93faabcacab (patch) | |
| tree | 65ceaf8e5f8618f651b1dc6a09a6d2dedb71756d /Source/Android/app/src/main | |
| parent | 23331e4367b101b8878a3fdf2dfce5e8dabbde6c (diff) | |
Android: Expose texture filtering options
Diffstat (limited to 'Source/Android/app/src/main')
4 files changed, 54 insertions, 3 deletions
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, diff --git a/Source/Android/app/src/main/res/values/arrays.xml b/Source/Android/app/src/main/res/values/arrays.xml index af3b5e29b0..4e27b8ade3 100644 --- a/Source/Android/app/src/main/res/values/arrays.xml +++ b/Source/Android/app/src/main/res/values/arrays.xml @@ -293,7 +293,7 @@ <!-- Anisotropic Filtering Preference --> <string-array name="anisotropicFilteringEntries"> - <item>@string/multiple_one</item> + <item>@string/filtering_default</item> <item>@string/multiple_two</item> <item>@string/multiple_four</item> <item>@string/multiple_eight</item> @@ -307,6 +307,18 @@ <item>4</item> </integer-array> + <!-- Texture Filtering Preference --> + <string-array name="textureFilteringEntries"> + <item>@string/filtering_default</item> + <item>@string/filtering_nearest</item> + <item>@string/filtering_linear</item> + </string-array> + <integer-array name="textureFilteringValues"> + <item>0</item> + <item>1</item> + <item>2</item> + </integer-array> + <!-- Stereoscopy Preference --> <string-array name="stereoscopyEntries"> <item>@string/stereoscopy_off</item> diff --git a/Source/Android/app/src/main/res/values/strings.xml b/Source/Android/app/src/main/res/values/strings.xml index 4ef3b33ec8..4665046fa5 100644 --- a/Source/Android/app/src/main/res/values/strings.xml +++ b/Source/Android/app/src/main/res/values/strings.xml @@ -252,6 +252,8 @@ <string name="FSAA_description">Reduces the amount of aliasing caused by rasterizing 3D graphics. This makes the rendered picture look less blocky. Heavily decreases emulation speed and sometimes causes issues.</string> <string name="anisotropic_filtering">Anisotropic Filtering</string> <string name="anisotropic_filtering_description">Enhances visual quality of textures that are at oblique viewing angles. Might cause issues in a small number of games.</string> + <string name="texture_filtering">Texture Filtering</string> + <string name="texture_filtering_description">Overrides the texture scaling filter selected by the game. Any option except \'Default\' will alter the look of the game\'s textures and might cause issues in a small number of games.</string> <string name="post_processing_shader">Post-Processing Effect</string> <string name="post_processing_shader_description">Apply a post-processing effect after finishing a frame</string> <string name="postprocessing_shader">Post Processing Shader</string> @@ -753,6 +755,11 @@ It can efficiently compress both junk data and encrypted Wii data. <string name="multiple_eight">8x</string> <string name="multiple_sixteen">16x</string> + <!-- Texture Filtering Preference --> + <string name="filtering_default">Default</string> + <string name="filtering_nearest">Force Nearest</string> + <string name="filtering_linear">Force Linear</string> + <!-- Stereoscopy Preference --> <string name="stereoscopy_off">Off</string> <string name="stereoscopy_side_by_side">Side-by-Side</string> |
