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
Fix savestates in Bluetooth passthrough mode #4651
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Parlane
approved these changes
Jan 12, 2017
1f41b0f
to
2607e8d
Compare
|
Temporarily closing while I investigate something I broke |
1458321
to
29cf230
Compare
|
This should now be working as explained in the PR description. |
29cf230
to
c6a7edd
Compare
|
What happens if we try to load a state made with a emulated Wiimote in passthrough mode or vice-versa? |
|
You can't. Dolphin will detect it and prevent the state from loading. |
c6a7edd
to
4309161
Compare
0a8d3d9
to
903eb6e
Compare
This fixes savestates when using Bluetooth passthrough by keeping track of pending transfer commands and discarding them on state load, so that the emulated software receives a reply to IOS requests as expected. With this change, savestates in BT passthrough should work as long as no Wiimote is connected when creating the savestate and when restoring it. Yes, I know this is an important limitation -- but that is probably the best we can do, and it's still better than completely broken savestates.
903eb6e
to
0df2ca7
Compare
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This fixes savestates when using Bluetooth passthrough by keeping track of pending transfer commands and discarding them on state load, so that the emulated software receives a reply to IOS requests as expected.
With this change, savestates in BT passthrough should work as noted in the following table:
(remotes were not disconnected after saving)
(i.e., disconnected after saving)
* On the first connection attempt, the game will realise that the Wiimote has disconnected. A remote can then be connected. Also, you may need to connect then disconnect a Wiimote first before loading the state; otherwise the adapter may get confused.
Basically, as long as there's no Bluetooth connection, or the Bluetooth connections all match (which are the most common cases), then it should work fine.
This PR also gets rid of the static state, which was previously needed because the transfer callbacks were static methods.