Super Scope support added, some other changes #276
Merged
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.
What has been done:
P.D. Sorry for the big change! I think that input is a more suitable name, now that we have more controlling devices in addition to pad controllers.
SUPER SCOPE USAGE
first, we might use detectSuperScope() on boot to detect Super Scope presence. Other way is to force detection by populating snes_sscope to 1 manually, but we dont need to do that if we call this function. We need to call this function everytime Scope gets disconnected from the system, a usefull way to do it is inside this conditional:
Here is a brief explanation of every variable we might be using:
for scope_down, scope_now, scope_held, scope_last, we need to mask our bits with this usefull bits:
And that's most of it. You can look inside the example file to have an idea of how you can program Super Scope games.
MOUSE USAGE UPDATE
Same as Super Scope, mouse uses detectMouse() to populate snes_mouse to 1, so It can be called at boot and like this: