barbudreadmon / fbalpha-backup-dontuse-ty

Deprecated port of Final Burn Alpha to Libretro (v0.2.97.43).
61 stars 43 forks source link

Add d-pad support for analog games #112

Closed jdstorm closed 7 years ago

jdstorm commented 7 years ago

This commit makes it possible to play games like outrun and shangon using a d-pad again.

jdstorm commented 7 years ago

I'm not sure why the second commit was added to this pull request. Do I have to create a branch for each request?

Alcaro commented 7 years ago

Either that or put multiple fixes in the same PR. I have no real preference for either of them.

barbudreadmon commented 7 years ago

If both analog and dpad are pressed at the same time, you ignore the analog ? Makes no sense, it should be the other way around.

jdstorm commented 7 years ago

I was thinking that it would be better to ignore the analog in case the output is noisy. I had a controller which was generating small random values all the time.

dankcushions commented 7 years ago

For when I did something similar in mame2003 i introduced the same deadzone threshold for analog input as retroarch does: https://github.com/libretro/mame2003-libretro/blob/master/src/libretro/libretro.c#L428

i think this would work well here :)

barbudreadmon commented 7 years ago

What does mean "0.5 force" ? 50% ?

dankcushions commented 7 years ago

@barbudreadmon yep! sorry just thinking about your purposes here - you are using analog sticks to map to an actual analog function, so you probably want a much smaller deadzone. 0.1 or 0.2 or something like that. actually most games probably have a built in deadzone of their own.

barbudreadmon commented 7 years ago

Yes, that's what i was thinking, wouldn't make much sense to have analog sticks if we ignre them below 50%.

RetroUp commented 7 years ago

My vote is 5% deadzone.

The default deadzone in MAME is 0.3 - 30%. That was set over a decade ago when it was common for cheap analog controllers to be jumpy. Most modern controllers don't have this problem. Now a default value of 0.05 - 5% in MAME is ideal. I assume the same would be true in FBA.

Also the default satuation zone in MAME is .85. I think .95 is better for same reason.

barbudreadmon commented 7 years ago

Well, i'm still worried, i think i encountered a game which used both analog and dpad while reworking inputs.

jdstorm commented 7 years ago

Ok, I didn't think there was any games like that. I guess it would be better to only enable the d-pad hack when you don't have an analog stick, but I don't know how to do that.

RetroUp commented 7 years ago

These have both SDI - Strategic Defense Initiative Blades of Steel Forgotten Worlds Puzz Loop 2 VS Block Breaker Major League Rambo III NEOCD

barbudreadmon commented 7 years ago

Yes, now i remember, that was rambo 3. Need to think of a proper way to handle those.

barbudreadmon commented 7 years ago

rambo3 should be no issue because those are alternative controls selected by a dipswitch (which is disabled at the moment).

Games like sdi are more tricky since they use both at the same time for different things, which make it kinda unplayable without remapping at the moment. I suppose we'll need to use the right stick for those special cases where both a dpad/stick and a stick is needed, then we'll be able to use dpad as a fallback for left stick for any game.

If you wanna talk more about this, please use issue #102 .I'm closing this PR, since it is not the proper way to handle this and would cause more issues.

I'll try to take a look next week.