eden/src/core
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: https://git.eden-emu.dev/eden-emu/eden/pulls/2678
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2025-10-07 01:32:09 +02:00
..
arm [android] Legacy build flavor (#51) 2025-10-05 05:41:20 +02:00
crypto [core] Remove key hashes and hash checks (#2552) 2025-09-23 05:06:31 +02:00
debugger [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
file_sys [desktop] fix save data location, orphaned profiles finder (#2678) 2025-10-07 01:32:09 +02:00
frontend [tools, cmake] refactor: update/hash check scripts, use tags for some more deps, proper CPMUtil separation (#2666) 2025-10-05 03:04:53 +02:00
hle [desktop] fix save data location, orphaned profiles finder (#2678) 2025-10-07 01:32:09 +02:00
internal_network [common] remove ranges polyfill (#2546) 2025-09-24 19:29:48 +02:00
loader [meta] fix license headers (#2547) 2025-09-21 21:58:59 +02:00
memory [tools, cmake] refactor: update/hash check scripts, use tags for some more deps, proper CPMUtil separation (#2666) 2025-10-05 03:04:53 +02:00
tools [cmake] enable clang-cl and WoA builds (#348) 2025-09-09 20:47:49 +02:00
CMakeLists.txt [cmake] whole-program LTO, prefer lld on clang (#2581) 2025-09-27 22:40:08 +02:00
constants.cpp service: acc: Replace default image with a 32x32 image 2023-03-05 16:36:19 -06:00
constants.h service: acc: Replace default image with a 32x32 image 2023-03-05 16:36:19 -06:00
core.cpp [cmake] enable clang-cl and WoA builds (#348) 2025-09-09 20:47:49 +02:00
core.h [meta] remove MicroProfile (#185) 2025-08-06 07:48:11 +02:00
core_timing.cpp [meta] remove MicroProfile (#185) 2025-08-06 07:48:11 +02:00
core_timing.h core_timing: handle concurrent unscheduling of looping events 2023-12-23 15:36:46 -05:00
cpu_manager.cpp [meta] remove MicroProfile (#185) 2025-08-06 07:48:11 +02:00
cpu_manager.h Fix typos in src/core (#12625) 2024-01-08 13:31:48 -06:00
device_memory.cpp core: Define HAS_NCE macro 2023-11-25 00:47:36 -05:00
device_memory.h Core: Initial implementation of device memory mapping 2024-01-18 21:12:30 -05:00
device_memory_manager.h Port changes from Early Access 2025-04-04 03:40:46 +02:00
device_memory_manager.inc [cmake] enable clang-cl and WoA builds (#348) 2025-09-09 20:47:49 +02:00
gpu_dirty_memory_manager.h Core: Eliminate core/memory dependancies. 2024-01-18 21:12:30 -05:00
guest_memory.h Solves warning about GuestMemory having internal linkage. 2025-04-04 03:40:47 +02:00
hardware_properties.h [dynarmic] jit fix branch v2 (#203) 2025-08-27 06:49:50 +02:00
memory.cpp [cmake] enable clang-cl and WoA builds (#348) 2025-09-09 20:47:49 +02:00
memory.h Revert "[heap_tracker] Use ankerl map instead of rb tree (#249)" (#382) 2025-09-04 16:04:42 +02:00
perf_stats.cpp [core] Fix buiding with fmt 10 (#2524) 2025-09-19 17:02:53 +02:00
perf_stats.h
precompiled_headers.h CMake: Consolidate common PCH headers 2022-11-30 18:30:30 -05:00
reporter.cpp [core] Fix buiding with fmt 10 (#2524) 2025-09-19 17:02:53 +02:00
reporter.h service: move hle_ipc from kernel 2023-03-01 10:39:49 -05:00