Add confirmation and removal to bindings menu

This makes the following improvements to the gamepad bindings menu:

- The menu now shows a hint that you can press a button while any of
  the bind options are selected (or that you can navigate away from
  those options)
- Instead of button presses immediately setting a binding, they now
  ask for confirmation: press the same button a second time to confirm
- You can now remove a binding, the same way you add it (this has the
  same type of confirmation)
- This menu used to be inconsistent with pretty much every other menu
  in the game by showing a permanent title and description for the menu
  itself ("Game Pad", "Change controller options.") rather than showing
  a title and description for the currently selected option.
  This inconsistency is now fixed.
This commit is contained in:
Dav999
2025-04-16 05:44:13 +02:00
committed by Ethan Lee
parent 75035047ad
commit d730528118
7 changed files with 182 additions and 44 deletions

View File

@@ -46,9 +46,7 @@
<string english="unlock secret lab" translation="" explanation="menu option"/>
<string english="game pad" translation="" explanation="menu option"/>
<string english="Game Pad Options" translation="" explanation="title" max="20"/>
<string english="Game Pad" translation="" explanation="title" max="20"/>
<string english="Rebind your controller&apos;s buttons and adjust sensitivity." translation="" explanation="" max="38*5"/>
<string english="Change controller options." translation="" explanation="" max="38*2"/>
<string english="language" translation="" explanation="menu option"/>
<string english="Language" translation="" explanation="title" max="20"/>
<string english="Change the language." translation="" explanation="" max="38*2"/>
@@ -135,19 +133,30 @@
<string english="disable cutscenes" translation="" explanation="menu option"/>
<string english="enable cutscenes" translation="" explanation="menu option"/>
<string english="analog stick sensitivity" translation="" explanation="menu option"/>
<string english="Stick Sensitivity" translation="" explanation="title" max="20"/>
<string english="Change the sensitivity of the analog stick." translation="" explanation="" max="38*3"/>
<string english="Low" translation="" explanation="analog stick sensitivity, game pad menu"/>
<string english="Medium" translation="" explanation="analog stick sensitivity, game pad menu"/>
<string english="High" translation="" explanation="analog stick sensitivity, game pad menu"/>
<string english="bind flip" translation="" explanation="menu option"/>
<string english="Bind Flip" translation="" explanation="title" max="20"/>
<string english="bind enter" translation="" explanation="menu option"/>
<string english="Bind Enter" translation="" explanation="title" max="20"/>
<string english="bind menu" translation="" explanation="menu option"/>
<string english="Bind Menu" translation="" explanation="title" max="20"/>
<string english="bind restart" translation="" explanation="menu option. In-game death key to restart at checkpoint"/>
<string english="Bind Restart" translation="" explanation="title" max="20"/>
<string english="bind interact" translation="" explanation="menu option"/>
<string english="Bind Interact" translation="" explanation="title" max="20"/>
<string english="Flip is bound to: " translation="" explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
<string english="Enter is bound to: " translation="" explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
<string english="Menu is bound to: " translation="" explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
<string english="Restart is bound to: " translation="" explanation="in-game death key to restart at checkpoint. Controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
<string english="Interact is bound to: " translation="" explanation="controller binds, bound to A, B, X, Y, etc. These strings end with a space!" max="32"/>
<string english="Press a button...|(or press ↑↓)" translation="" explanation="the arrows represent up/down buttons, or stick movement... So: press a controller button, or navigate away" max="38*2"/>
<string english="Add {button}?|Press again to confirm" translation="" explanation="Bind the X button to this action? Press X again to really add it" max="38*2"/>
<string english="Remove {button}?|Press again to confirm" translation="" explanation="Remove the binding of the X button for this action? Press X again to really remove it" max="38*2"/>
<string english="Interact is currently Enter!|See speedrunner options." translation="" explanation="the Interact action can't be configured now because it's the same as the Enter action. There's an option in the Speedrunner options to split it off" max="38*2"/>
<string english="ERROR: No language files found." translation="" explanation="" max="38*3"/>
<string english="Language folder:" translation="" explanation="" max="39"/>
<string english="Repository language folder:" translation="" explanation="Language folder from the Git repository" max="39"/>