Dolphin, the GameCube and Wii emulator - Forums

Full Version: New Feature needs your testing: Saving as individual GCI files [Updated 2013-09-27]
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
branch: memcard_directory
important links: source builds


Testing would be appreciated for the branch memcard_directory,
this branch adds the ability to store saves as individual gci files instead of the current raw memorycard image containing all of your saves.

This branch should reduce the number of lost saves by only writing to the modified saves
if corruption occurs, no longer will you lose all of your save files, but only the save of the game you were playing.

--EDIT-- apparently this needs to be more prominent Wink

This branch also stores the gci save in the savestate, which will allow games such as Zelda to work better with savestates. Keep in mind, this means when you use savestates you are also loading the gci file that existed at the time of the savestate. You *WILL* overwrite any updated progress in your existing gci file for this game.

This branch will also allow you to add gci files using the OS file tools rather than the memory card manager

To test, set the Slot to GCI Folder and start a game
When switching to a build from a different branch you will need to set the Slot back to memorycard

Test to see if your games save correctly, test savestates, report any errors related to the savedata that occur

--Update--
added some sanity checking that rejects invalid gci files and files that have more blocks than free space is available.
Save blocks are now loaded on demand if they are not for the current game, which probably only occurs with the wii sysmenu, gc ipl, FireEmblem Wii,.
but not SSBM, and probably not MGS
SSBM only checks for the direntry for Pikmin so it won't load the saveblocks, i imagine MGS is the same way
Making big .raw files obsolete for most people is an automatic +1 from me. Haven't tested that yet, but the idea sounds awesome (I know, I wrote the idea on the issue tracker Big Grin ) and props to you for coming up with an implementation so soon.
Awesome! I've been wishing for something like this for a while. I'll go ahead and test it out. Another nice feature would be the ability to extract all gci files from a memory card dump.
(09-26-2013, 11:29 AM)moosehunter Wrote: [ -> ]Another nice feature would be the ability to extract all gci files from a memory card dump.
already implemented Smile
first use of the GCI directory will extract them all into the proper location

alternatively, open in the memcard manager and choose extract all from the context (rightclick) menu
Pokemon Colosseum's encrypted save works fine, but when you launch the game with a .raw memory card selected, it hangs at the opening Genius Sonority logo.

Edit: Never mind. I kept testing it, and it started crashing when using the GCI folder.
Edit 2: Turns out it happens on the current master too. Using the JITIL recompiler fixes it. I'll try to get info for a bug report.

It seems to be working fine so far with creating new files and overwriting old ones.

Another nice feature now that single GC saves are being implemented would be some sort of save backup system. Maybe something that lets the user keep a backup of the past x saves, with an option to keep it off, or to change the number of saves backed up.
Does it require the individual GCI files or can it still work with the .raw memory cards?
either or, depending on your selection of slot
choose GCI Folder for gci files
choose MemoryCard for .raw files

Note: the two are not synchronized, there is only a one time import of all files from the memory card to gci files for the first time each particular "card" is used
ie once for card <A/B><region>
Wow, this is awesome, so each game will have its own memory card/.gci file? Dolphin just keeps on getting better and better Big Grin So for my current memory card, I just need to extract the .gci files with a build from the branch you posted? Will this be merged into the 4.0 branch?
many games use multiple gci files, typically games only access/write to files that share the same gamecode, but features like ssbm reading the pikmin save and giving you a trophy and MGS reading other save titles will still occur.

writes only occur to modified gci files, if something goes wrong and the write is incomplete only that gci file will be affected as the unmodified gci files are not written to. This is in contrast to a memorycard dump where on each save the entire memorycard is written to disk, and if something goes wrong everything on the memorycard can be lost

the first time you run a build from this branch with GCI Folder for the Slot device it will copy all of the gci files from your current memory card.

if by the 4.0 branch you mean the 4.0 stable build no. If you mean the development 4.0-xxx builds, then I imagine it will once the feature has been thoroughly tested
I've never had my memory card get corrupted in almost 10 years of using Dolphin. I guess I'm once again in the minority.
Pages: 1 2 3