summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main
diff options
context:
space:
mode:
authorCharles Lombardo <clombardo169@gmail.com>2023-01-17 02:23:12 -0500
committerCharles Lombardo <clombardo169@gmail.com>2023-01-17 11:13:02 -0500
commit96c8a7ee1f2fdc3302cd6b54d1b7c93faabcacab (patch)
tree65ceaf8e5f8618f651b1dc6a09a6d2dedb71756d /Source/Android/app/src/main
parent23331e4367b101b8878a3fdf2dfce5e8dabbde6c (diff)
Android: Expose texture filtering options
Diffstat (limited to 'Source/Android/app/src/main')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/model/IntSetting.java3
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/features/settings/ui/SettingsFragmentPresenter.java33
-rw-r--r--Source/Android/app/src/main/res/values/arrays.xml14
-rw-r--r--Source/Android/app/src/main/res/values/strings.xml7
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>