Skip to content

Allow for batch restoring save data #508

Description

@bevans10037

Is your feature request related to a problem? Please describe.
I'd like to be able to copy all of my save data back and forth between my 3DS and my computer for emulation. I can batch dump the 3DS save data easily, and copy it through to my emulator's save data folder through a basic Python script, but when it comes to restoring the data, even after it's in the right folder structure for Checkpoint, I have to go through every game individually and manually restore the data.

Describe the solution you'd like
If you want to automatically import save data to, for instance, Super Mario 3D Land, you put that save data into "saves/0x0053F SUPER MARIO 3D LAND/import" - or for importing extra data to Super Mario Maker, it would go into "extdata/0x01A05 Super Mario Maker/import".
Then, when Checkpoint is started, if it detects any folders with this structure within "3ds/Checkpoint", it tells the user that batch restore save data has been detected, and asks whether they want to import it. If so, it cycles through every game with detected data, importing the data from the "import" subfolder, and then deleting or renaming that "import" subfolder. The idea is that this would only prompt the user for input once, no matter the number of games you're restoring data for, and even if it's a mix of save data and extra data being imported together.
(You might want to use a different name for the subfolder rather than "import" too, but still.)

Describe alternatives you've considered
Restoring games' data one by one within Checkpoint is time consuming. I've tried also sending save data between my emulator and my console by setting up OnionFS's save redirection for each game, but this doesn't to my knowledge support extra data, and doesn't apply for e.g. Poke Transporter detecting save data from Pokemon VC games.

Additional context
I don't have any more context sorry. But thanks very much for all your work over the years!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions