From fcbf08ca984e7a0250bf6c0973f4b6071c20209f Mon Sep 17 00:00:00 2001 From: Charles Lombardo Date: Tue, 4 Apr 2023 13:15:27 -0400 Subject: [PATCH] android: Add DPad slide toggle --- .../java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt | 6 ++++++ .../src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt | 2 +- .../java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt | 2 +- src/android/app/src/main/res/menu/menu_overlay_options.xml | 5 +++++ src/android/app/src/main/res/values/strings.xml | 1 + 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt index 79383b1dd5..c7e44a0fbc 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt @@ -223,6 +223,7 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { popup.menuInflater.inflate(R.menu.menu_overlay_options, popup.menu) popup.menu.findItem(R.id.menu_rel_stick_center).isChecked = EmulationMenuSettings.joystickRelCenter + popup.menu.findItem(R.id.menu_dpad_slide).isChecked = EmulationMenuSettings.dpadSlide popup.setOnMenuItemClickListener { when (it.itemId) { @@ -266,6 +267,11 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback { EmulationMenuSettings.joystickRelCenter = it.isChecked true } + R.id.menu_dpad_slide -> { + it.isChecked = !it.isChecked + EmulationMenuSettings.dpadSlide = it.isChecked + true + } R.id.menu_reset_overlay -> { binding.drawerLayout.close() resetInputOverlay() diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt index 97e0ba3df3..7bff0a9cd4 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt @@ -127,7 +127,7 @@ class InputOverlay(context: Context, attrs: AttributeSet?) : SurfaceView(context } for (dpad in overlayDpads) { - if (!dpad.updateStatus(event, EmulationMenuSettings.dpadSlideEnable)) { + if (!dpad.updateStatus(event, EmulationMenuSettings.dpadSlide)) { continue } NativeLibrary.onGamePadButtonEvent( diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt index e51ac1cc11..021698d15a 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt @@ -26,7 +26,7 @@ object EmulationMenuSettings { .putBoolean(Settings.PREF_MENU_SETTINGS_JOYSTICK_REL_CENTER, value) .apply() } - var dpadSlideEnable: Boolean + var dpadSlide: Boolean get() = preferences.getBoolean(Settings.PREF_MENU_SETTINGS_DPAD_SLIDE, true) set(value) { preferences.edit() diff --git a/src/android/app/src/main/res/menu/menu_overlay_options.xml b/src/android/app/src/main/res/menu/menu_overlay_options.xml index 151f305fb6..36c710f143 100644 --- a/src/android/app/src/main/res/menu/menu_overlay_options.xml +++ b/src/android/app/src/main/res/menu/menu_overlay_options.xml @@ -14,6 +14,11 @@ android:title="@string/emulation_rel_stick_center" android:checkable="true" /> + + diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml index 441d889785..70bff57499 100644 --- a/src/android/app/src/main/res/values/strings.xml +++ b/src/android/app/src/main/res/values/strings.xml @@ -88,6 +88,7 @@ Done Toggle Controls Relative Stick Center + DPad Slide Toggle All Adjust Scale Reset Overlay