Emulator Issues #9573closed
Savestates created while recording a Wii game don't save whole filesystem state
Basically, savestates save and restore "/tmp"... but never touch anything else, even when you're recording. Therefore, it's easy to cause a desync with a recording that loads a in-game save: if you try to continue from a savestate, the save data will be missing. Generally affects every Wii game which supports saves. Probably easy to fix.
Example of how to reproduce this, for completeness:
- Start recording Twilight Princess Wii
- Press A+B to start, click yes to the "create a new memory file" prompt, start a new file
- Make a savestate
- Press home, reset, then go through to the save screen; "create a new memory file" doesn't appear
- Stop recording, save the recording.
- Load the recording, and load the savestate.
- Let recording play through to the save screen
- Observe desync: the "create a new memory file" prompt appears
Updated by magumagu9 over 7 years ago
The savestate code for GC memory cards special-cases movies; see https://github.com/dolphin-emu/dolphin/blob/5e50c37c138e28821079c165b0cd72702ff9154f/Source/Core/Core/HW/EXI_DeviceMemoryCard.cpp#L510 and https://github.com/dolphin-emu/dolphin/blob/5e50c37c138e28821079c165b0cd72702ff9154f/Source/Core/Core/HW/EXI_DeviceMemoryCard.cpp#L239 . It's a little tricky to set up because "Start Recording Input" puts you into the wrong mode by default. but it appears to work otherwise.
Updated by JMC4789 over 7 years ago
Wii Games really don't work well at all with savestates. I've crashed Dolphin outright by having HID devices connected during a load-state.
I have a feeling savestates need to be completely rethought on Wii; simply loading a savestate for a game as you boot the game will usually crash the game, crash audio or crash Dolphin.
Updated by leoetlino over 6 years ago
- Status changed from New to Accepted
In my opinion, savestates should save the whole state, including the NAND filesystem, but this would make states a bit larger... On the other hand, not including the NAND will cause various issues and inconsistencies.
- Status changed from Work started to Fixed
- Fixed in set to 5.0-17850