Commit graph

211 commits

Author SHA1 Message Date
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
crueter
2482846cf6
[core] fix msvc comp (#2567)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2567
2025-09-24 21:50:18 +02:00
PavelBARABANOV
45263ee7aa
LoadIdTokenCache stub (#2531)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2531
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com>
2025-09-24 19:30:00 +02:00
lizzie
f19bbda517
[common] remove ranges polyfill (#2546)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2546
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-09-24 19:29:48 +02:00
Maufeat
34302300d9
add missing service for acc:u0 for fc26 (#2548)
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2548
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Co-committed-by: Maufeat <sahyno1996@gmail.com>
2025-09-21 20:50:10 +02:00
lizzie
9d2681ecc9
[cmake] enable clang-cl and WoA builds (#348)
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.

Compiling on clang is *dramatically* faster so this should be useful for CI.

Co-authored-by: crueter <crueter@eden-emu.dev>
Co-authored-by: crueter <crueter@crueter.xyz>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-09-09 20:47:49 +02:00
crueter
982b171f30
[desktop] fix random qt annoyances (#226)
Removes that silly QLayout message and improves consistency thereof for
other QLayouts

Still work to be done but this is all that's needed rn

Signed-off-by: crueter <crueter@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/226
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2025-08-08 01:25:00 +02:00
crueter
9dfe3cece0
[desktop, core] yuzu -> Eden, eden -> Eden
Signed-off-by: crueter <crueter@eden-emu.dev>
2025-07-19 00:12:21 -04:00
JPikachu
b2e602325c profile_manager: Implement firmware avatar selector (#205)
Adds an option to set a user's profile image from the avatars in the firmware. Background color can be changed with a color picker. Also modifies profile image saving to account for this, and as a result images are now saved as JPEG with 100% quality. Any PNG, JPEG, or BMP can now also be used in the image file picker instead of just JPEG.

Using ryujinx's implementation and other parts of the yuzu codebase for reference.

Credit: Torzu, lui

Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/56
Co-authored-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
Co-committed-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>

Co-authored-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion>
Co-authored-by: Maufeat <sahyno1996@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/205
Co-authored-by: JPikachu <jpikachu@noreply.localhost>
Co-committed-by: JPikachu <jpikachu@noreply.localhost>
2025-06-26 18:39:28 +00:00
Pavel Barabanov
dbd745138e returned several services 2025-05-12 03:56:25 +03:00
Pavel Barabanov
5608ab1cd4
everything related to the FW 20 has been deleted. 2025-05-11 20:18:26 -04:00
swurl
f786802b9b User Data Migration from Citron, Sudachi, and Yuzu (#91)
Includes citron, sudachi, yuzu

currently broken, because the eden dir is always made early?

Signed-off-by: swurl <swurl@swurl.xyz>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/91
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-08 22:16:07 +00:00
Pavel Barabanov
d55e400c7c started adding services for firmware 20.0.0 without implementation 2025-05-03 06:15:23 +03:00
Pavel Barabanov
b66ebe638b Qlauncher firmware 19 2025-04-14 14:18:13 -04:00
crueter
9cef9f5dce Update fmt to allow for v11
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-10 01:11:22 +02:00
darktux
2011cdd333 Added v18.0.0 stubs and updated tzdb_to_nx 2025-04-04 03:40:48 +02:00
Briar
b1ec0e9dec Switch default username to eden 2025-04-01 18:38:41 +02:00
Liam
2945ef5999 acc: add account manager for acc:u1 2024-02-24 22:25:34 -05:00
Narr the Reg
ae802f2245 service: am: Fix GetMainAppletAvailableUsers for user creation 2024-02-16 12:13:10 -06:00
Andrew Pilley
d523e188e6 Update based on feedback 2024-01-17 18:14:05 -08:00
Andrew Pilley
813e852dd5 Allow -u to accept a username string in addition to index, and suppress the User selector even if settings requires it to be shown for one instance only. 2024-01-17 10:31:00 -08:00
german77
27d5b89fbd service: acc: Only save profiles when profiles have changed 2024-01-13 14:28:29 -06:00
german77
65b1508d0d service: acc: Ensure proper profile size 2023-11-05 09:28:22 -06:00
liamwhite
f7b2c6c154 Merge pull request #11791 from german77/bufferx
service: hle: Allow to access read buffer A and X directly
2023-10-18 09:21:58 -04:00
german77
ecf98d37b8 service: hle: Allow to access read buffer A and X directly 2023-10-16 23:36:46 -06:00
Narr the Reg
c9fe01204f service: acc: Implement functions needed for profile select (#11653) 2023-10-17 05:12:55 +02:00
Liam
5f2c56cd15 core: remove ResultVal type 2023-08-08 11:09:37 -04:00
Liam
caf76a5603 core: implement GetGaiStringErrorRequest, IContextRegistrar 2023-07-22 23:29:45 -04:00
german77
8da09657e6 service: account: Save user profile folder on first user creation 2023-06-03 00:05:50 -07:00
Liam
5be8a74b0c general: fix spelling mistakes 2023-03-12 11:33:01 -04:00
Liam
ea36f70e02 hle: rename legacy errors to Results 2023-03-06 20:58:42 -05:00
Liam
d7e9461b71 service: move hle_ipc from kernel 2023-03-01 10:39:49 -05:00
liamwhite
7b8304614c Merge pull request #9832 from liamwhite/hle-mp
service: HLE multiprocess
2023-03-01 10:38:20 -05:00
Narr the Reg
932cf55052 core: Update service function tables to 16.0.0+ 2023-02-24 18:17:36 -06:00
Liam
1c3a93e7c4 service: refactor server architecture
Converts services to have their own processes
2023-02-21 12:19:25 -05:00
Liam
c68577384a general: rename CurrentProcess to ApplicationProcess 2023-02-13 19:03:12 -05:00
Liam
5a712bb51a general: fix compile for Apple Clang 2022-11-22 22:22:28 -05:00
bunnei
6a447fd764 core: hle: service: acc: Fix ListOpenContextStoredUsers/StoreOpenContext.
- These APIs are used to capture the opened users and allow that state to be persisted across processes.
- They are not intended to just return the system opened users, that is what ListOpenUsers is for.
- Fixes the launch hang with Bayonetta 3.
2022-11-02 16:09:30 -07:00
Liam
09777eea76 kernel: remove KWritableEvent 2022-10-12 20:29:29 -04:00
FearlessTobi
d841898d4d core/acc: Make CheckAvailability use LOG_DEBUG
Previously it was spamming the logs in certain multiplayer games like Puyo Puyo Tetris.
2022-08-27 03:08:21 +02:00
german77
07090f96d4 service: ac: Replace intances of ProfileData with UserData 2022-07-14 16:33:07 -05:00
german77
c7890ebccc core: Replace all instances of ResultCode with Result 2022-06-26 20:21:37 -05:00
Morph
2b87305d31 general: Convert source file copyright comments over to SPDX
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
ameerj
e70b4f3fc5 common: Reduce unused includes 2022-03-19 15:01:31 -04:00
ameerj
22e01068e1 core: Reduce unused includes 2022-03-19 02:23:32 -04:00
Morph
e47b5e6a26 general: Rename NewUUID to UUID, and remove the previous UUID impl
This completes the removal of the old UUID implementation.
2022-02-05 13:56:21 -05:00
Morph
26f74468c4 profile: Migrate to the new UUID implementation 2022-02-05 13:56:21 -05:00
Lioncash
1a50cb9468 service/acc: Update unknown function names
Switchbrew has the function names now.
2022-01-21 15:33:22 -05:00
Morph
41a0c088ba general: Get the current process program id directly from the system
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04 16:59:39 -04:00
Morph
10508e7af2 general: Rename GetTitleID to GetProgramID 2021-11-04 16:57:16 -04:00