Commit Graph

173 Commits

Author SHA1 Message Date
Gliniak
6446150a5e [Cmake] Moved tests to separate folders 2026-03-06 19:59:38 +01:00
Herman S.
71c5702ee8 [Build] Convert build system to raw cmake and remove premake layer 2026-03-04 17:37:36 +09:00
Gliniak
9bfaff5040 [XAM] Fixed issue with XamContentCreate reassigning already assigned symlinks 2026-02-19 21:02:45 +01:00
Herman S.
4b6ac45650 [VFS/Posix] Fix Rename to properly handle guest paths
And ensure string_views aren't pointing at freed memory by saving
a reference to the result of path_to_utf8
2026-01-10 17:53:39 +01:00
Gliniak
b8b33ecabf [VFS] XContent: Added support for SVOD normal layout with multiple files 2026-01-05 19:04:37 +01:00
Gliniak
56697f1be6 [VFS] Fixed invalid read size when extracting memory mapped files 2025-11-17 08:51:45 +01:00
Margen67
8b6cb9c287 [Premake, 3PP] Formatting/cleanup 2025-08-11 21:03:31 -07:00
Margen67
25d6f8269a [premake] Cleanup 2025-07-27 02:46:43 -07:00
Gliniak
4182852a4b [Base] Split of xbox.h file
- Splitted into: kernel.h and xam.h
- Removed UpdateSpaData from KernelState into ContentManager
2025-07-26 21:25:32 +02:00
Margen67
3eef564ff8 [format] Require EOF newline 2025-07-19 14:42:21 -07:00
Margen67
4cb783bf22 Header cleanup 2025-07-19 14:42:21 -07:00
Gliniak
fe739208b6 [VFS] Rewrote STFS to use memory mapping
- Replaced old-style buffer, buffer_length with std::span
- Added STFS and SVOD specific Entry and File classes
- Other smaller improvements
2025-05-14 21:38:02 +02:00
Gliniak
dd112ed462 [XAM] Multiple Profile/Dashboard related changes.
- Replaced multiple unknown parameters with proper named ones
- Added code to support creation of profile from dashboard initial run
- Added flag to remove ODD from being enumerated in devices (probably valid but not sure)
2025-05-06 23:10:18 +02:00
Gliniak
9434cc89c9 [XAM] Fixed specific edge-case when DLCs or Installed Data wouldn't be visible
This was caused by including flag "exclude common" for enumerations without xuid

- Added enum XContentFlag
2025-05-05 19:53:36 +02:00
Gliniak
2a4ca1a1b7 [VFS] Added fallback if conversion of 1252->UTF8 fails 2025-05-03 20:58:14 +02:00
Gliniak
5ba6c2b840 [VFS] Improved initial loading time during "Install Content" 2025-04-19 16:54:25 +02:00
Gliniak
56703e52e2 [UI] Redesigned "Install Content" window
- Added ID for each ImGui window
- Added filesystem::CreateFolder function
2025-04-18 21:55:58 +02:00
Gliniak
31d715d100 [Premake] Removed unused/unnecessary subprojects.
- Testing currently doesn't work
- VFS Dump is unused. You can use internal function for it
- Demos are only for fun
- Trace Dump & Trace Viewer (unsure, but ok)

You can re-enable them by changing values: enableTests and enableMiscSubprojects in main premake file.

In the future there should be xb command support to overwrite them
2025-04-15 09:04:16 +02:00
Xphalnos
7479ccc292 [Misc] Fix Some Warnings on Clang Build with Windows + Adding constexpr 2025-03-27 17:52:18 +01:00
Xphalnos
5f918ef28d [Misc] Replaced const with constexpr where possible 2025-03-25 19:50:37 +01:00
Gliniak
b7066c7a15 [VFS] Fixed "Install Content" option on Linux 2025-03-18 22:37:34 +01:00
Gliniak
1110cdd372 [Kernel] Added support for writing/reading GPD files
This breaks settings in games that are using them and savefiles in games that use settings to store progress
2025-03-07 11:59:48 +01:00
Gliniak
09be7e874a [All] Fixed multiple issues during build on Linux
- Added some fixes introduced by RodoMa92 in PR198

- Lack of AVX2 extension (should be done differently in the future)
- Disable deprecated-volatile warning
- Added missing override in posix EventInfo, ImGui notification class and XContent class
- Removed not used XAudio2.h include in XMP
- Fixed missing switch-case in XObject
- Added fugly template in native_list.h
- Fixed multiple smaller issues
2025-01-10 21:41:45 +01:00
Gliniak
d660a82997 [XContent] Aggregate license mask from all licenses while installing package
This should fix issues with some DLCs
2025-01-05 17:59:15 +01:00
Margen67
3acf3fdcd1 Never specify /O1
Leaving it as /O2 might improve performance.
Stops this from being spammed:
cl : command line  warning D9025: overriding '/O2' with '/O1' [D:\a\xenia-canary\xenia-canary\build\glslang-spirv.vcxproj]

/Os is implied by /O1;
https://learn.microsoft.com/en-us/cpp/build/reference/o1-o2-minimize-size-maximize-speed?view=msvc-170
2024-12-13 13:01:06 -08:00
Gliniak
a295ec1bbd [Base] Removed useless path_to_utf8 conversion while using fmt
Default filesystem::path formatter was added to fmt around 2022
2024-12-13 19:04:31 +01:00
Gliniak
3318ab5d4c [3PP] Uplifted FMT version and adjusted messages 2024-12-12 20:28:11 +01:00
Gliniak
d393725353 Revert "[VFS] Fixed crash on filename extraction from path."
This reverts commit 02f5316562.

It's not needed anymore thanks to 6cba5ba7e6
2024-11-02 19:54:16 +01:00
Gliniak
3ac98ebfba [Static Analysis] Resolved some issues mentioned in Alexandr-u report 2024-11-02 19:08:34 +01:00
Gliniak
9e4b2e343f [XAM] Allow content to read license from header 2024-10-06 21:15:50 +02:00
Gliniak
9bdd07590c [XAM] Implementation of: Profile Manager & Profiles Support
Thanks Emoose for Account Encrypt/Decrypt code!
2024-10-05 10:03:35 +02:00
NicknineTheEagle
6cba5ba7e6 Convert STFS filenames from Win-1252 to UTF-8 2024-09-22 21:38:55 +02:00
Gliniak
02f5316562 [VFS] Fixed crash on filename extraction from path.
Names are in CP1252 which fails conversion to utf8.
2024-08-31 18:15:13 +02:00
Gliniak
651fdc0344 [Kernel] Added support for XFileDispositionInformation
This is set and used in 415607DD to overwrite savefile
2024-08-16 20:40:53 +02:00
Gliniak
49584ff664 [VFS] Change file attributes or timestamps.
Changing these options is only viable for r/w mounted host devices (Cache)
Changing attributes works only on windows
Changing timestamps is mocked and logged to see if there is any title that uses it
2024-08-15 17:17:44 +02:00
Gliniak
ec267c348a [LINT] Fixed lint issues after clang-format update 2024-06-13 20:56:56 +02:00
Adrian
a688f87f55 [VFS] Clear registered devices if launch failed 2024-05-25 20:33:19 +02:00
Adrian
5efcc6a71b [Emulator] Launch file based on signature instead of file extension 2024-03-21 15:22:32 +01:00
Gliniak
b9061e6292 [LINT] Linted files + Added lint job to CI 2024-03-12 19:19:30 +01:00
Gliniak
6f287a9597 [Emulator] Improvements to launch_data
Added support for autoload titles on boot with:
- Specific launch data
- Specific xex
- Restarting into packages: XamContentLaunchImageFromFileInternal
2024-02-11 13:11:39 +01:00
Gliniak
74b52711a3 [Kernel] Added Support For: XFileRenameInformation 2024-01-29 22:03:58 +01:00
disjtqz
ee424ae14a [Kernel] nonintrusive guest to host object mapping 2023-10-14 15:01:12 +02:00
Gliniak
e613134793 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2023-10-02 10:07:05 +02:00
Gliniak
f6b5424a9f [VFS] Fixed invalid month decoding in decode_fat_timestamp 2023-09-14 12:32:51 +03:00
Gliniak
0f331b5313 [Testing] Added test project for vfs
- Added test case for: decode_fat_timestamp
- Changed location of: decode_fat_timestamp
2023-09-14 12:32:51 +03:00
Gliniak
9554f82c10 [VFS] More cleanup in Zarchive loader 2023-09-04 21:09:40 +02:00
Gliniak
9496c04ac5 [VFS] Zarchive cleanup & style changes 2023-09-03 21:31:17 +02:00
Romain Tisserand
2cd2d1d620 [VFS] Add support for loading ZArchive files 2023-09-03 21:16:34 +02:00
Gliniak
e191f2d8d0 Separation of STFS, SVOD into different entities 2023-09-03 19:37:22 +02:00
Gliniak
c1bd30eb7f Fixed invalid month decoding in decode_fat_timestamp 2023-09-02 10:49:58 +02:00