mirror of
				https://git.suyu.dev/suyu/suyu
				synced 2025-11-04 00:49:02 -06:00 
			
		
		
		
	android: Add DPad slide toggle
This commit is contained in:
		@@ -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()
 | 
			
		||||
 
 | 
			
		||||
@@ -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(
 | 
			
		||||
 
 | 
			
		||||
@@ -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()
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,11 @@
 | 
			
		||||
        android:title="@string/emulation_rel_stick_center"
 | 
			
		||||
        android:checkable="true" />
 | 
			
		||||
 | 
			
		||||
    <item
 | 
			
		||||
        android:id="@+id/menu_dpad_slide"
 | 
			
		||||
        android:title="@string/emulation_dpad_slide"
 | 
			
		||||
        android:checkable="true" />
 | 
			
		||||
 | 
			
		||||
    <item
 | 
			
		||||
        android:id="@+id/menu_reset_overlay"
 | 
			
		||||
        android:title="@string/emulation_touch_overlay_reset" />
 | 
			
		||||
 
 | 
			
		||||
@@ -88,6 +88,7 @@
 | 
			
		||||
    <string name="emulation_done">Done</string>
 | 
			
		||||
    <string name="emulation_toggle_controls">Toggle Controls</string>
 | 
			
		||||
    <string name="emulation_rel_stick_center">Relative Stick Center</string>
 | 
			
		||||
    <string name="emulation_dpad_slide">DPad Slide</string>
 | 
			
		||||
    <string name="emulation_toggle_all">Toggle All</string>
 | 
			
		||||
    <string name="emulation_control_scale">Adjust Scale</string>
 | 
			
		||||
    <string name="emulation_touch_overlay_reset">Reset Overlay</string>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user