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

Pressing Opposing and / or Multiple Directional Inputs causes glitched behavior. #92

Open
ghost opened this issue Apr 24, 2018 · 3 comments

Comments

@ghost
Copy link

ghost commented Apr 24, 2018

Description

Sent here as per libretro/RetroArch#6573 (comment) Tagging @twinaphex since he assisted with the other cores.

When simultaenously pressing, quickly alternating between, and / or holding both left and right (or up and down in some games) directions at the same time, unusual behavior can be observed. For example, in "New Adventure Island", if both Up and Down are held at the same time, Master Higgins will use a different animation than normal and if performed in the air, he'll hover indefinitely. In "Die Hard (Japan)", the player can get stuck spinning in place indefinitely if they press any 3 directions at once, or press directions at a fast enough speed to register as being pressed simultaneously. The latter example will softlock the player, preventing any further progress.

There could be many more games that exhibit similar symptoms when pressing opposing or multiple directional inputs, but I can't test every game.

Standalone emulators like FCEUX and several other RetroArch cores have an option disabled by default labeled Allow Opposing Directions. I feel it'd be best if this core adopted this as well.


Expected behavior

Pressing left and right / up and down simultaneously is not physically possible except on a keyboard (unless the d-pad has been remapped to buttons) and shouldn't be allowed, at least by default. It's also banned universally on speedrun.com. Standalone emulators like FCEUX and several other RetroArch cores have an option disabled by default labeled Allow Opposing Directions. I feel it'd be best if this core adopted this as well.


Actual behavior

Video of issue in Die Hard: https://streamable.com/i61vi

See also:
2018-04-24--171844_1600x900
2018-04-24--171839_1600x900


Steps to reproduce the bug

  • Load New Adventure Island or Die Hard (Japan)
  • For New Adventure Island, press and hold both Up and Down
    • For Die Hard (Japan), press and hold any 3 directions.
  • Observe

Bisect Results

Did not bisect. Pretty sure issue has been present since Day 1.


Version/Commit

  • RetroArch Version: 1.7.2 24b694d
  • beetle-pce-fast core commit version: 11f7aaa

Environment information

  • OS: Debian 9 (Stretch) Stable x86_64
  • Compiler: gcc 3.6.0 64-bit
@negativeExponent
Copy link
Contributor

this is already fixed on latest commit

@i30817
Copy link

i30817 commented Sep 18, 2020

From this? #161

@negativeExponent
Copy link
Contributor

negativeExponent commented Sep 18, 2020

my bad. its not on pce_fast. should be easy to add though...

https://github.com/libretro/beetle-supergrafx-libretro/blob/20ce77366a09fa4c5dc3aa6897b5c65e2b43834b/libretro.cpp#L1036-L1043

but to be honest. such feature should be a frontend option.

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

2 participants