summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt36
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/EmulationMenuSettings.kt2
-rw-r--r--src/android/app/src/main/res/menu/menu_overlay_options.xml4
-rw-r--r--src/android/app/src/main/res/values/arrays.xml18
-rw-r--r--src/android/app/src/main/res/values/strings.xml8
5 files changed, 62 insertions, 6 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 edc1a19ff..703d4623b 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
@@ -21,6 +21,7 @@ import androidx.core.view.WindowInsetsCompat
21import androidx.fragment.app.Fragment 21import androidx.fragment.app.Fragment
22import androidx.localbroadcastmanager.content.LocalBroadcastManager 22import androidx.localbroadcastmanager.content.LocalBroadcastManager
23import androidx.preference.PreferenceManager 23import androidx.preference.PreferenceManager
24import com.google.android.material.dialog.MaterialAlertDialogBuilder
24import org.yuzu.yuzu_emu.NativeLibrary 25import org.yuzu.yuzu_emu.NativeLibrary
25import org.yuzu.yuzu_emu.R 26import org.yuzu.yuzu_emu.R
26import org.yuzu.yuzu_emu.YuzuApplication 27import org.yuzu.yuzu_emu.YuzuApplication
@@ -30,12 +31,8 @@ import org.yuzu.yuzu_emu.features.settings.model.Settings
30import org.yuzu.yuzu_emu.features.settings.ui.SettingsActivity 31import org.yuzu.yuzu_emu.features.settings.ui.SettingsActivity
31import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile 32import org.yuzu.yuzu_emu.features.settings.utils.SettingsFile
32import org.yuzu.yuzu_emu.model.Game 33import org.yuzu.yuzu_emu.model.Game
33import org.yuzu.yuzu_emu.utils.DirectoryInitialization 34import org.yuzu.yuzu_emu.utils.*
34import org.yuzu.yuzu_emu.utils.DirectoryInitialization.DirectoryInitializationState 35import org.yuzu.yuzu_emu.utils.DirectoryInitialization.DirectoryInitializationState
35import org.yuzu.yuzu_emu.utils.DirectoryStateReceiver
36import org.yuzu.yuzu_emu.utils.EmulationMenuSettings
37import org.yuzu.yuzu_emu.utils.InsetsHelper
38import org.yuzu.yuzu_emu.utils.Log
39import org.yuzu.yuzu_emu.utils.SerializableHelper.parcelable 36import org.yuzu.yuzu_emu.utils.SerializableHelper.parcelable
40 37
41class EmulationFragment : Fragment(), SurfaceHolder.Callback, Choreographer.FrameCallback { 38class EmulationFragment : Fragment(), SurfaceHolder.Callback, Choreographer.FrameCallback {
@@ -281,6 +278,35 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback, Choreographer.Fram
281 startConfiguringControls() 278 startConfiguringControls()
282 true 279 true
283 } 280 }
281 R.id.menu_toggle_controls -> {
282 val preferences =
283 PreferenceManager.getDefaultSharedPreferences(YuzuApplication.appContext)
284 val optionsArray = BooleanArray(15)
285 for (i in 0..14) {
286 optionsArray[i] = preferences.getBoolean("buttonToggle$i", i < 13)
287 }
288
289 MaterialAlertDialogBuilder(requireContext())
290 .setTitle(R.string.emulation_toggle_controls)
291 .setMultiChoiceItems(
292 R.array.gamepadButtons,
293 optionsArray
294 ) { _, indexSelected, isChecked ->
295 preferences.edit()
296 .putBoolean("buttonToggle$indexSelected", isChecked)
297 .commit()
298 }
299 .setPositiveButton(android.R.string.ok) { _, _ ->
300 refreshInputOverlay()
301 }
302 .setNeutralButton(R.string.emulation_toggle_all) { _, _ ->
303 EmulationMenuSettings.showOverlay = !EmulationMenuSettings.showOverlay
304 refreshInputOverlay()
305 }
306 .show()
307
308 true
309 }
284 R.id.menu_reset_overlay -> { 310 R.id.menu_reset_overlay -> {
285 binding.drawerLayout.close() 311 binding.drawerLayout.close()
286 resetInputOverlay() 312 resetInputOverlay()
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 937f13fea..e51ac1cc1 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
@@ -57,6 +57,6 @@ object EmulationMenuSettings {
57 set(value) { 57 set(value) {
58 preferences.edit() 58 preferences.edit()
59 .putBoolean(Settings.PREF_MENU_SETTINGS_SHOW_OVERLAY, value) 59 .putBoolean(Settings.PREF_MENU_SETTINGS_SHOW_OVERLAY, value)
60 .apply() 60 .commit()
61 } 61 }
62} 62}
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 75c84cdf3..b9341c508 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
@@ -6,6 +6,10 @@
6 android:title="@string/emulation_touch_overlay_edit" /> 6 android:title="@string/emulation_touch_overlay_edit" />
7 7
8 <item 8 <item
9 android:id="@+id/menu_toggle_controls"
10 android:title="@string/emulation_toggle_controls" />
11
12 <item
9 android:id="@+id/menu_reset_overlay" 13 android:id="@+id/menu_reset_overlay"
10 android:title="@string/emulation_touch_overlay_reset" /> 14 android:title="@string/emulation_touch_overlay_reset" />
11 15
diff --git a/src/android/app/src/main/res/values/arrays.xml b/src/android/app/src/main/res/values/arrays.xml
index 7e25f12b8..6d909ddae 100644
--- a/src/android/app/src/main/res/values/arrays.xml
+++ b/src/android/app/src/main/res/values/arrays.xml
@@ -135,4 +135,22 @@
135 <item>3</item> 135 <item>3</item>
136 </integer-array> 136 </integer-array>
137 137
138 <string-array name="gamepadButtons">
139 <item>A</item>
140 <item>B</item>
141 <item>X</item>
142 <item>Y</item>
143 <item>L</item>
144 <item>R</item>
145 <item>ZL</item>
146 <item>ZR</item>
147 <item>+</item>
148 <item>-</item>
149 <item>@string/gamepad_d_pad</item>
150 <item>@string/gamepad_left_stick</item>
151 <item>@string/gamepad_right_stick</item>
152 <item>@string/gamepad_home</item>
153 <item>@string/gamepad_screenshot</item>
154 </string-array>
155
138</resources> 156</resources>
diff --git a/src/android/app/src/main/res/values/strings.xml b/src/android/app/src/main/res/values/strings.xml
index 5c31fb322..ea9290df5 100644
--- a/src/android/app/src/main/res/values/strings.xml
+++ b/src/android/app/src/main/res/values/strings.xml
@@ -85,6 +85,7 @@
85 <string name="emulation_exit">Exit Emulation</string> 85 <string name="emulation_exit">Exit Emulation</string>
86 <string name="emulation_done">Done</string> 86 <string name="emulation_done">Done</string>
87 <string name="emulation_toggle_controls">Toggle Controls</string> 87 <string name="emulation_toggle_controls">Toggle Controls</string>
88 <string name="emulation_toggle_all">Toggle All</string>
88 <string name="emulation_control_scale">Adjust Scale</string> 89 <string name="emulation_control_scale">Adjust Scale</string>
89 <string name="emulation_touch_overlay_reset">Reset Overlay</string> 90 <string name="emulation_touch_overlay_reset">Reset Overlay</string>
90 <string name="emulation_touch_overlay_edit">Edit Overlay</string> 91 <string name="emulation_touch_overlay_edit">Edit Overlay</string>
@@ -173,4 +174,11 @@
173 <string name="cpu_accuracy_unsafe">Unsafe</string> 174 <string name="cpu_accuracy_unsafe">Unsafe</string>
174 <string name="cpu_accuracy_paranoid">Paranoid (Slow)</string> 175 <string name="cpu_accuracy_paranoid">Paranoid (Slow)</string>
175 176
177 <!-- Gamepad Buttons -->
178 <string name="gamepad_d_pad">D-Pad</string>
179 <string name="gamepad_left_stick">Left Stick</string>
180 <string name="gamepad_right_stick">Right Stick</string>
181 <string name="gamepad_home">Home</string>
182 <string name="gamepad_screenshot">Screenshot</string>
183
176</resources> 184</resources>