[desktop] fix save data location, orphaned profiles finder #2678

Merged
crueter merged 2 commits from fix/profiles into master 2025-10-07 01:32:10 +02:00

2 commits

Author SHA1 Message Date
9076fa25fa
oops
All checks were successful
eden-license / license-header (pull_request) Successful in 25s
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-10-05 18:21:55 -04:00
33b7f39f65
[desktop] fix save data location, orphaned profiles finder
All checks were successful
eden-license / license-header (pull_request) Successful in 23s
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>
2025-10-05 17:46:37 -04:00