Fix PAD stick range#74
Conversation
|
This looks correct, and should account for the transients I was worried about, I'll test metaforce with this sometime today or tomorrow for regressions. |
|
According to a user of a GameCube controller with a Mayflash adapter, this also improved stick handling for them as well |
If that's the case, then checking metaforce would be a bit redundant. I'm fine with merging this as-is. |
|
Before it is, I just did some testing and this breaks sticks completely when combined with @caseif axis remapping PR. Will try to figure out why soon. |
|
Oh, yeah better get that figured out, it's probably an issue with ranges, iirc SDL uses a signed 16bit value for sticks, GC doesn't so the ranges must be scaled |
|
Axis remapping PR is bugged in general I think, following up with a comment on it shortly |
|
I just tested this on top of the latest version of #73 and it seems to work well now - I think the issue was just the overflow rather than any actual incompatibility with this PR. |
|
I can also confirm that the latest changes to caseif's PR fixed input for my modern controllers, and is compatible with my PR |
In the port project which shall not be named, sticks would act like they were fully tilted long before the stick was actually physically at full tilt. I was able to reproduce this behavior on Xbox Series X, Xbox One, and DualSense controllers.
Scaling the range after the deadzone math brings Aurora inline with Dolphin Emulator's behavior, in so far as I can perceive visually anyways.
Probably shouldn't be merged until more ports (I.E. Metaforce) and more controllers are tested to ensure this doesn't cause regressions.