-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Improve behavior of savestates made while game is assuming the state of the inserted memory card. #9027
base: master
Are you sure you want to change the base?
Improve behavior of savestates made while game is assuming the state of the inserted memory card. #9027
Conversation
f4dc5a6
to
5a775fb
Compare
26f5d7d
to
c8f027e
Compare
c8f027e
to
07a1542
Compare
Considering this prevents save corruption, we should merge this once it is reviewed and good to go. |
07a1542
to
57964e0
Compare
Is this still planning to be merged? |
Considering I've yet to see anyone yell about corrupted savedata in the many years this issue has potentially existed, it's probably not particularly critical. If you want to merge it sure, if not eh, that's probably okay. I'll rebase it tomorrow just in case. |
57964e0
to
337b0d4
Compare
This comment has been minimized.
This comment has been minimized.
337b0d4
to
68a7885
Compare
There was a request for me to rebase this on Discord, so I did. I will note, however, that looking back on this I'm not 100% sure this whole DisableWrites() -> wait for a few frames approach is even necessary at all. It's probably okay but it would probably also work just fine if we, immediately after loading the state is done but before handing back to the actual emulation logic, just run the
code in the relevant I will also note that we should probably fix folder memory cards not storing their card ID / header before considering merging this, as this will make the situtation where you suddenly have a 'different' memory card after loading a savestate much more likely. |
Fixes https://bugs.dolphin-emu.org/issues/12220
This looks pretty convoluted but I hope the comments make it clear what's happening and why.