Commit Graph

923 Commits

Author SHA1 Message Date
Zephyron
20250c3e31 fix: add missing NCA encryption type support and patch handling
Changes:
- Add missing encryption type cases to all switch statements
- Only call CreatePatchMetaStorage() when both tables are present
- Update assertions to allow partial table combinations

Fixes loading for Hades II, Pokémon Legends: Z-A, and other games
with newer NCA structures.

Reported-by: Dr.Stug@citron-emu.org
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-24 16:25:38 +10:00
collecting
c3492232c1 Fix patch_manager.cpp 2025-10-22 01:21:16 +00:00
collecting
bde2434956 Fix savedata_factory.cpp 2025-10-22 01:20:49 +00:00
collecting
cd742e7633 feat(fs): Implement Autoloader (W.I.P.) 2025-10-21 20:55:16 +00:00
collecting
ab39e75ac1 feat(fs): Implement Autoloader (W.I.P.) 2025-10-21 20:54:17 +00:00
collecting
4db51f9353 feat(fs): Implement Autoloader (W.I.P.) 2025-10-21 20:52:26 +00:00
Zephyron
98c6ac8961 core/filesystem: Implement accurate SaveData system
- Add transactional ExtraData with journaling (6 service functions)
- Implement atomic commit with crash recovery
- Add HOS-compliant path normalization
- Fix all ResultUnknown returns and add 9 HOS error codes
- Add directory journaling with /0 (committed) and /1 (working)
- Implement cross-tree directory moves

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-21 17:49:59 +10:00
Zephyron
df14b96c6b feat: Add romfslite mod folder support (Atmosphere 1.9.5)
Support the romfslite folder type introduced in Atmosphere 1.9.5 for
memory-optimized mod loading. The emulator now detects and loads
romfslite folders the same way as romfs folders.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-10-11 20:24:18 +10:00
Zephyron
af223e445f feat: Enhance audio renderer with new features and simplify Android UI indicators
Audio Core:
- Add support for splitter previous volume reset (REV 13+)
- Implement new audio processing time limits (REV 14-15)
- Add voice channel resource limits and effect processing v3
- Support float biquad filters for improved audio quality
- Enhance error handling to prevent audio system crashes

Android UI:
- Simplify FPS, RAM, and thermal indicator views
- Remove complex backgrounds and icons for cleaner display
- Reduce view sizes and improve text-based rendering
- Maintain color-coded status indicators for performance metrics

Core System:
- Improve file system save data space handling
- Enhance kernel synchronization error handling
- Add new error modules and result codes
- Fix potential infinite loops in handle operations

These changes improve audio processing capabilities while providing a cleaner,
more performant Android UI experience.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-23 21:26:59 +10:00
collecting
09ef525ef2 Fix null pointer dereference in patch_manager.cpp line 362 2025-09-22 08:54:03 +00:00
Zephyron
12c3e4b92c Revert "fix: resolve X11 macro conflicts with enum values and Qt constants"
This reverts commit c32ac3b3c1.
2025-09-14 20:15:29 +10:00
Zephyron
c32ac3b3c1 fix: resolve X11 macro conflicts with enum values and Qt constants
Rename Success enums and fix Qt event types to avoid X11 macro conflicts.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-09-14 20:09:09 +10:00
Zephyron
1abbc3d475 fix: prevent crash when detecting newer updates in NCA integrity verification
- Change storage assignment from SetDataStorage() method to direct array indexing to prevent crashes when newer game updates are detected.
- The previous method was incorrectly handling storage info assignment for integrity verification layers.

Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-06-11 18:47:25 +10:00
Zephyron
b2d9cf4a01 chore: update project branding to CITRON
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:11:33 +10:00
Zephyron
5e16e20427 chore: update project branding to Citron
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:08:59 +10:00
Zephyron
bfb82e577c chore: update project branding to citron
Signed-off-by: Zephyron <zephyron@citron-emu.org>
2025-05-06 16:06:48 +10:00
Liam
c7174d5f61 general: fix asan errors 2024-02-26 19:28:49 -05:00
Liam
22b91afa69 fs: add ISaveDataTransferProhibiter, stub FindSaveDataWithFilter 2024-02-23 12:17:24 -05:00
liamwhite
0da6704fc2 Merge pull request #13073 from FearlessTobi/fsp-srv-ipc
fsp: Migrate remaining interfaces to cmif serialization
2024-02-23 11:34:06 -05:00
liamwhite
d12d9dad40 Merge pull request #12982 from FearlessTobi/fs-rewrite-part0
fs: Add FileSystemAccessor and use cmif serialization
2024-02-22 12:34:47 -05:00
liamwhite
9e1a67b950 fs: add missing mutex header for member (#13106) 2024-02-21 16:43:05 +01:00
FearlessTobi
ef50277124 Address review comments pt. 2 2024-02-19 19:22:51 +01:00
FearlessTobi
ba70dc4c13 Address review comments 2024-02-19 19:20:46 +01:00
FearlessTobi
934e420e36 fs: Refactor to use cmif serialization 2024-02-19 19:20:46 +01:00
FearlessTobi
d5e4617ab5 fs: Add FileSystemAccessor classes 2024-02-19 19:20:40 +01:00
FearlessTobi
b5a17b501b Address review comments 2024-02-19 19:11:07 +01:00
FearlessTobi
2b18957365 fs: Add and use fs_save_data_types.h 2024-02-19 19:06:31 +01:00
FearlessTobi
310c1f50be scope_exit: Make constexpr
Allows the use of the macro in constexpr-contexts.
Also avoids some potential problems when nesting braces inside it.
2024-02-19 16:00:46 +01:00
Liam
270d07be2f ns: rewrite IPlatformServiceManager 2024-02-18 10:32:21 -05:00
Leystryku
4f387b0b74 file_sys: Fix nacp field cache_storage_max_index datatype 2024-02-18 06:00:42 +01:00
Narr the Reg
2ff45cd0da Merge pull request #12756 from liamwhite/applet-multiprocess-hwc
general: applet multiprocess
2024-02-11 20:58:28 -06:00
Liam
4677fd3f64 am: use applet program loading for tested versions 2024-02-10 12:38:19 -05:00
Narr the Reg
816d03f7d9 service: bcat: Address review issues 2024-02-10 00:23:23 -06:00
t895
f2fb761bac vfs: Fix getting URI filename 2024-01-26 09:57:22 -05:00
FearlessTobi
975deb7528 Address review comments and fix compilation problems 2024-01-25 16:43:53 -05:00
FearlessTobi
2c049ae06d fs: Add path class 2024-01-25 16:42:06 -05:00
FearlessTobi
c60ab6bbf6 fs/errors: Unify naming of result codes 2024-01-25 16:42:06 -05:00
FearlessTobi
cc09c265e1 fs: Replace Mode enum by OpenMode enum 2024-01-25 16:42:05 -05:00
FearlessTobi
0f9288e38d vfs: Move vfs files to their own directory 2024-01-25 16:40:42 -05:00
liamwhite
d45561ace0 Merge pull request #12499 from Kelebek1/time
Rework time services
2024-01-25 14:19:01 -05:00
Kelebek1
e4915fb7d2 Rework time service to fix time passing offline. 2024-01-24 04:26:55 +00:00
t895
03fa91ba3c android: Add addon delete button
Required some refactoring of retrieving patches in order for the frontend to pass the right information to ContentManager for deletion.
2024-01-19 20:54:50 -05:00
Liam
aae9eea532 fsp-srv: use program registry for SetCurrentProcess 2024-01-11 11:28:52 -05:00
liamwhite
ab513c378a Merge pull request #12599 from german77/settings
service: set: Use official names
2024-01-07 20:40:56 -05:00
german77
8e27a485d8 service: set: Rename files 2024-01-06 23:16:03 -06:00
t895
53d4dbacf0 android: Re-add global save manager
Reworked to correctly collect and import/export saves that could exist in either /nand/user/save/000...000/<user id> or /nand/user/save/account/<user id raw string>
2024-01-04 00:56:40 -05:00
Liam
d1c99c5d52 ips_layer: prevent out of bounds access with offset exceeding module size 2023-12-28 01:16:51 -05:00
Liam
31bf57a310 general: properly support multiple memory instances 2023-12-22 21:52:49 -05:00
liamwhite
360418f1a1 Merge pull request #12290 from liamwhite/deferred-path-split
Improve path splitting speed
2023-12-16 11:47:29 -05:00
Liam
d597383ab2 fs: don't enumerate hidden savedata size file 2023-12-09 14:05:16 -05:00