BernardoGiordano / Checkpoint

Fast and simple homebrew save manager for 3DS and Switch.
GNU General Public License v3.0
2.53k stars 151 forks source link

Feature Request: Per-device save support for Switch games (e.g. Animal Crossing) #324

Open ThatNerdyPikachu opened 4 years ago

ThatNerdyPikachu commented 4 years ago

Is your feature request related to a problem? Please describe. Certain games for the Switch, such as Animal Crossing: New Horizons, do not use saves per-user. Instead, they use one save, for the device.

Describe the solution you'd like Allow the access of these saves via Checkpoint.

Describe alternatives you've considered I've considered no alternatives.

piepie62 commented 4 years ago

Not sure about Bernardo, but I was completely unaware that devicewide saves existed. We'll have to figure out how it fits into the interface and how it works behind the scenes

ThatNerdyPikachu commented 4 years ago

I was unaware too, it seems to be used only in AC.

Anyways, libnx's fsOpen_SaveData currently is this:

Result fsOpen_SaveData(FsFileSystem* out, u64 application_id, AccountUid uid) {
    FsSaveDataAttribute attr;

    memset(&attr, 0, sizeof(attr));
    attr.application_id = application_id;
    attr.uid = uid;
    attr.save_data_type = FsSaveDataType_Account;

    return fsOpenSaveDataFileSystem(out, FsSaveDataSpaceId_User, &attr);
}

It sets the save_data_type to Account. To mount AC's save, just change it to Device. (FsSaveDataType_Device)

That's how you do it on the backend, anyways. No clue how you want to implement it on the front end, but I'll leave that up to you :)

BernardoGiordano commented 4 years ago

Quick update: support is being worked on and will probably be ready for this weekend. I don't have games supporting Device Saves so that's what will slow me down the most.

RathX commented 4 years ago

Good to hear! Do you already know if it will be possible to change the owner of villagers? I.e. change the owner of villager A from User Account A to User Account B?

GriffinG1 commented 4 years ago

@RathX This thread would be the better place to ask about any save editing.

huynht12 commented 4 years ago

Can i make a folder for AC in the atmosphere's title/content folder and put in there a cheat file with the cheat i want to activate?

GriffinG1 commented 4 years ago

This has nothing to do with this issue, nor is this something for the issue tracker. I suggest joining our discord for questions like that. @huynht12

uaevuon commented 4 years ago

Quick update: support is being worked on and will probably be ready for this weekend. I don't have games supporting Device Saves so that's what will slow me down the most.

Doesn't hulu use device save?

ioistired commented 4 years ago

Anyways, libnx's fsOpen_SaveData currently is this:

That's all well and good @ThatNerdyPikachu but how do you check if a title uses Device or Account type saves?

ioistired commented 4 years ago

nvm, I figured it out

https://github.com/FlagBrew/Checkpoint/blob/4395619de0d0b480dfc81c9c3dfd2944a446af0f/switch/source/title.cpp#L251

Bubelbub commented 4 years ago

I don't have games supporting Device Saves so that's what will slow me down the most.

Do you have an amazon wish list or something similar? 😉 Then I wanted to support you by buying you Animal Crossing 😛.

ioistired commented 4 years ago

I've heard Hulu also uses device saves.

Gianlupisa1 commented 4 years ago

Any news?

ioistired commented 4 years ago

I've made a small tool to serve as a stop-gap until device saves are implemented: https://github.com/iomintz/acnh-backup-restore

Elionna commented 4 years ago

Until Checkpoint is updated, Just use JKSV, it supports device saves

https://github.com/J-D-K/JKSV/releases

Corgano commented 4 years ago

Any progress on this?

mspykerez commented 3 years ago

Update?