eden/src/yuzu
crueter badd913bee
[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: #2678
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2025-10-07 01:32:09 +02:00
..
applets [fs] temporarely disable nca verification (#298) 2025-09-05 00:04:37 +02:00
configuration [dist, docs] Clearer wording for settings, guidelines for new settings (#2570) 2025-09-29 19:41:01 +02:00
debugger [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
multiplayer [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
util [cmake] enable clang-cl and WoA builds (#348) 2025-09-09 20:47:49 +02:00
about_dialog.cpp [meta] allow customisation of auto-updater, remove hardcoded title names and fix dup title names (#2588) 2025-10-01 05:07:59 +02:00
about_dialog.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
aboutdialog.ui [cmake, frontend] feat: CPMUtil + dependency viewer (#238) 2025-08-11 22:27:29 +02:00
bootmanager.cpp [common] use libc++ provided jthread instead of in-house one (which deadlocks on FBSD 14) (#351) 2025-10-01 06:59:35 +02:00
bootmanager.h Fix more typos 2024-01-15 23:26:53 +00:00
breakpad.cpp User Data Migration from Citron, Sudachi, and Yuzu (#91) 2025-05-08 22:16:07 +00:00
breakpad.h qt: implement automatic crash dump support 2023-10-08 11:35:53 -04:00
CMakeLists.txt [cmake] update CI deps, feat: sirit CI + new CI spec (#2655) 2025-10-04 09:27:13 +02:00
compatdb.cpp Removed telemetry and anonymized SCM (git) strings 2025-04-04 03:40:47 +02:00
compatdb.h Removed telemetry and anonymized SCM (git) strings 2025-04-04 03:40:47 +02:00
compatdb.ui fix a large variety of issues (#101) 2025-05-11 23:58:25 +00:00
compatibility_list.cpp Update fmt to allow for v11 2025-04-10 01:11:22 +02:00
compatibility_list.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
deps_dialog.cpp [cmake, frontend] feat: CPMUtil + dependency viewer (#238) 2025-08-11 22:27:29 +02:00
deps_dialog.h [cmake, frontend] feat: CPMUtil + dependency viewer (#238) 2025-08-11 22:27:29 +02:00
deps_dialog.ui [cmake, frontend] feat: CPMUtil + dependency viewer (#238) 2025-08-11 22:27:29 +02:00
discord.h chore: make yuzu REUSE compliant 2022-07-27 12:53:49 +02:00
discord_impl.cpp [compat] fix solaris Qt build (#194) 2025-08-15 04:12:45 +02:00
discord_impl.h yuzu: Replace httplib with QtNetworkRequest 2023-07-21 16:53:06 -06:00
game_list.cpp [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
game_list.h [qt] move addons row to rightmost side (#2610) 2025-09-29 18:41:28 +02:00
game_list_p.h [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
game_list_worker.cpp [qt] move addons row to rightmost side (#2610) 2025-09-29 18:41:28 +02:00
game_list_worker.h [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
hotkeys.cpp [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
hotkeys.h hid_core: Move hid to it's own subproject 2024-01-05 11:41:15 -06:00
Info.plist [macos] associate .XCI/NSP file extensions (#2617) 2025-09-29 18:43:13 +02:00
install_dialog.cpp [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
install_dialog.h general: Convert source file copyright comments over to SPDX 2022-04-23 05:55:32 -04:00
loading_screen.cpp general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
loading_screen.h Update some files with Qt 5.15.2 best practices in mind 2022-05-29 09:21:52 -07:00
loading_screen.ui QT: Fix the loading screen 'H' switch logo to not glitch out 2019-02-05 18:24:15 -07:00
main.cpp [desktop] fix save data location, orphaned profiles finder (#2678) 2025-10-07 01:32:09 +02:00
main.h [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
main.ui [Frontend] add X links to About and Help (#272) 2025-08-16 17:32:18 +02:00
migration_dialog.cpp Properly migrate internal NAND, Load, etc. directories (#167) 2025-06-11 22:57:13 +00:00
migration_dialog.h Options for Data Migration (#95) 2025-05-10 15:40:15 +00:00
migration_worker.cpp [desktop] fix save data location, orphaned profiles finder (#2678) 2025-10-07 01:32:09 +02:00
migration_worker.h [desktop] Fix migration options (#220) 2025-06-27 06:03:19 +00:00
play_time_manager.cpp [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
play_time_manager.h [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
precompiled_headers.h CMake: Consolidate common PCH headers 2022-11-30 18:30:30 -05:00
startup_checks.cpp [compat] fix solaris Qt build (#194) 2025-08-15 04:12:45 +02:00
startup_checks.h [compat] fix solaris Qt build (#194) 2025-08-15 04:12:45 +02:00
update_checker.cpp [ci] Minor change to fix building (#2644) 2025-10-01 21:09:27 +02:00
update_checker.h Update checker (#132) 2025-05-28 02:23:51 +00:00
user_data_migration.cpp [desktop] Fix migration options (#220) 2025-06-27 06:03:19 +00:00
user_data_migration.h [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
vk_device_info.cpp [qt] refactor: qt_common lib (#94) 2025-09-15 17:21:18 +02:00
vk_device_info.h vk_device_info: Check only affected Intel drivers 2023-06-18 16:15:51 -04:00
yuzu.qrc Rename Yuzu logo to Eden 2025-04-13 01:15:36 +01:00
yuzu.rc Rename Yuzu logo to Eden 2025-04-13 01:15:36 +01:00