fix: Replace SDL controller calls with joystick ones in Joystick
.
#665
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #632
Proposed changes
This is enough of a fix to resolve the issue in #632, but there are a few other edge cases that investigation brought up that may cause a similar issue in the future.
Joystick
was using calls toSDK_GameController(*)
functions. On Windows 11 at least, theSDK_Controller*
returned fromSDL_GameControllerOpen
inJoystick
's constructor was null, causing the unique ID building to be quite sparse. Thus, the Joystick's guid would match it's unique ID, causing profiles to fail to load automatically on startup. These changes resolve that, though some other oddities outlined in my comment in #632 do still persist.