diff --git a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java index ca714ce1b..d88572476 100644 --- a/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java +++ b/src/android/app/src/main/java/org/citra/citra_android/ui/settings/SettingsFragmentPresenter.java @@ -244,6 +244,7 @@ public final class SettingsFragmentPresenter { Setting shadersAccurateMul = null; Setting resolutionFactor = null; Setting vsyncEnable = null; + Setting filterMode = null; if (!mSettings.get(SettingsFile.SETTINGS_DOLPHIN).isEmpty()) { hardwareRenderer = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_HW_RENDERER); @@ -251,6 +252,7 @@ public final class SettingsFragmentPresenter { shadersAccurateMul = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_SHADERS_ACCURATE_MUL); resolutionFactor = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_RESOLUTION_FACTOR); vsyncEnable = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_USE_VSYNC); + filterMode = mSettings.get(SettingsFile.SETTINGS_DOLPHIN).get(SettingsFile.SECTION_RENDERER).getSetting(SettingsFile.KEY_FILTER_MODE); } else { mView.passSettingsToActivity(mSettings); } @@ -260,6 +262,7 @@ public final class SettingsFragmentPresenter { sl.add(new CheckBoxSetting(SettingsFile.KEY_SHADERS_ACCURATE_MUL, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.shaders_accurate_mul, R.string.shaders_accurate_mul_description, true, shadersAccurateMul)); sl.add(new SliderSetting(SettingsFile.KEY_RESOLUTION_FACTOR, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.internal_resolution, R.string.internal_resolution_description, 10, "x", 1, resolutionFactor)); sl.add(new CheckBoxSetting(SettingsFile.KEY_USE_VSYNC, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.vsync, R.string.vsync_description, false, vsyncEnable)); + sl.add(new CheckBoxSetting(SettingsFile.KEY_FILTER_MODE, SettingsFile.SECTION_RENDERER, SettingsFile.SETTINGS_DOLPHIN, R.string.linear_filtering, R.string.linear_filtering_description, true, filterMode)); } private void addAudioSettings(ArrayList sl) { diff --git a/src/android/app/src/main/java/org/citra/citra_android/utils/SettingsFile.java b/src/android/app/src/main/java/org/citra/citra_android/utils/SettingsFile.java index 7aff90bee..1e78afe81 100644 --- a/src/android/app/src/main/java/org/citra/citra_android/utils/SettingsFile.java +++ b/src/android/app/src/main/java/org/citra/citra_android/utils/SettingsFile.java @@ -69,6 +69,7 @@ public final class SettingsFile { public static final String KEY_BACKGROUND_BLUE = "bg_blue"; public static final String KEY_BACKGROUND_GREEN = "bg_green"; public static final String KEY_FACTOR_3D = "factor_3d"; + public static final String KEY_FILTER_MODE = "filter_mode"; public static final String KEY_LAYOUT_OPTION = "layout_option"; public static final String KEY_SWAP_SCREEN = "swap_screen"; diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 8dc3af3d1..15a03b935 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -55,6 +55,8 @@ Show the number of frames rendered per second as a measure of emulation speed. Enable V-Sync Synchronizes the game frame rate to the refresh rate of your device. + Enable linear filtering + Enables linear filtering, which causes game visuals to appear smoother. Enable hardware renderer Uses hardware to emulate 3DS graphics. When enabled, game performance will be significantly improved. Enable hardware shader