Browse Source
[desktop] fix save data location, orphaned profiles finder (#2678)
[desktop] fix save data location, orphaned profiles finder (#2678)
Previously, if the user had their NAND in a nonstandard location, profiles.dat would be read from the standard Eden path and thus return effectively garbage data. What this would result in is: - The Qt profile manager would be completely nonfunctional - "Open Save Data Location" would put you into the completely wrong place - Games would read from incorrect locations for their saves To solve this, I made it so that profiles.dat is re-read *after* QtConfig initializes. It's not the perfect solution, but it works. Additionally, this adds an orphaned profiles finder: - walks through the save folders in nand/user/save/000.../ - for each subdirectory, checks to see if profiles.dat contains a corresponding UUID - If not, the profile is "orphaned". It may contain legit save data, so let the user decide how to handle it (famous last words) - Empty profiles are just removed. If they really matter, they're instantly recreated anyways. The orphaned profiles check runs right *after* the decryption keys check, but before the game list ever gets populated Signed-off-by: crueter <crueter@eden-emu.dev> Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2678 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Reviewed-by: MaranBr <maranbr@eden-emu.dev>pull/2696/head
No known key found for this signature in database
GPG Key ID: 425ACD2D4830EBC6
11 changed files with 156 additions and 17 deletions
-
2docs/user/Architectures.md
-
4src/common/fs/fs_types.h
-
5src/core/file_sys/savedata_factory.cpp
-
92src/core/hle/service/acc/profile_manager.cpp
-
5src/core/hle/service/acc/profile_manager.h
-
38src/qt_common/qt_content_util.cpp
-
3src/qt_common/qt_content_util.h
-
15src/qt_common/qt_game_util.cpp
-
3src/qt_common/qt_game_util.h
-
5src/yuzu/main.cpp
-
1src/yuzu/migration_worker.cpp
Write
Preview
Loading…
Cancel
Save
Reference in new issue