Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request] Opposite d-pad input resolution options #897

Open
blkerby opened this issue Jan 15, 2024 · 0 comments
Open

[Feature request] Opposite d-pad input resolution options #897

blkerby opened this issue Jan 15, 2024 · 0 comments

Comments

@blkerby
Copy link

blkerby commented Jan 15, 2024

Currently, if the option to allow pressing opposite d-pad directions simultaneously is disabled, the Windows and Linux versions of the emulator have different behavior from each other:

  • In the Linux version, the last button pressed will take priority.
  • In the Windows version, left always take priority over right, and up always takes priority over down.

It would be useful if there could be settings to customize this behavior. A "Neutral" option, where pressing opposite inputs results in no input, would be especially useful. With the current behavior, in some competitive games (Super Metroid for example), players could gain an advantage by using keyboard or other device that can output opposite directions simultaneously; even when the emulator "Allow Left+Rt/Up+Dn" option is disabled, the current resolution methods can make it free to instantly switch from one direction to the opposite direction in a single frame. A "Neutral" option would help level the playing field by more closely resembling the capabilities of an SNES controller, where switching to an opposite direction requires passing through a neutral position (where neither of the two opposite directions would register). For this reason "Neutral" would arguably be a good default setting. It could also work if there were no options and "Neutral" just became the consistent behavior across platforms.

If settings for this are added, it may be ideal to have one setting for left/right and a separate one for up/down. In some situations it is standard to have "Neutral" left/right resolution but "Absolute Up" up/down; for instance this is the default behavior of HitBox controllers.

Additional context: In Super Metroid speedrunning and competitive play, it is disallowed to play using a controller/system that allows pressing opposite directions. It is also disallowed to "abuse" the way that a system's SOCD resolution works (https://www.speedrun.com/supermetroid?h=Any&rules=game&x=9d8v96lk). Recently, in competitive Super Metroid randomizer play, a trick called "underwater wall jumping" has become popular, and it relies on quick switches between left/right inputs. When executing this trick, my understanding is it could be hard for a player to avoid abusing the way that SOCD resolution currently works in snes9x, because the "Last Input" or "Absolute Left" resolution will inherently make the trick easier.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant