Commit Graph

6747 Commits

Author SHA1 Message Date
Gliniak
27d9cb8cfc [XAM] Added missing nullptr check.
This partially fixes Fable 2 main menu crashes.
Figure out why game tries to save invalid data.
2025-03-10 19:25:00 +01:00
Gliniak
f833effd07 [XAM] Implemented XamParseGamerTileKey 2025-03-10 18:33:45 +01:00
Gliniak
b9ecfd5d78 [XAM] Fixed incorrect setting order being used.
Instead of: Title->Profile->Default
It used: Title->Default
2025-03-10 18:32:39 +01:00
Gliniak
0d06cdd649 [XAM] Removed overlap from XamUserReadProfileSettings. It currently breaks games for whatever reason.
- Updated params for: XamParseGamerTileKey, XamWriteGamerTile
2025-03-09 23:50:54 +01:00
Gliniak
1544349499 [XAM] Settings: Added specific default settings list 2025-03-09 23:33:13 +01:00
Gliniak
01fc219fc2 [HID] Fixed issue with controller spamming message.
This was caused by not ignoring cases when title provides unsupported flags.
For example support for big button controller.
2025-03-08 22:52:50 +01:00
The-Little-Wolf
34b7085ed3 [XAM/USER] - Implement XamUserCreateTitlesPlayedEnumerator
Implement of XamUserCreateTitlesPlayedEnumerator
2025-03-08 21:11:53 +01:00
Gliniak
5979274998 [HID/SDL] Return controller subtype instead of forcing gamepad 2025-03-08 20:44:43 +01:00
Gliniak
5af7e1540b [Emulator] Added extended logging on initialization 2025-03-08 19:20:08 +01:00
Gliniak
d2f350d0d3 [XAM] UserTracker: Added option to return user specific list of contexts and properties 2025-03-08 18:12:36 +01:00
Gliniak
da89b6a0c3 [XAM] Added missing is_empty check while reading setting data 2025-03-08 17:31:30 +01:00
Gliniak
6666b803fd [XAM] Added missing nullptr check during Spa loading 2025-03-07 20:58:45 +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
The-Little-Wolf
ccf7adf015 [XAM/APP] Recording more Xam app messages
- Recording more xam app messages for future reference
- Removed mistakes from messenger_app.h
- Added missing buffer_ptr, buffer_length to unknown message id logs
2025-03-06 18:32:16 +01:00
Adrian
60318a5db6 [Module] Include XEX_SYSTEM_FLAGS in the log 2025-02-26 19:22:43 +01:00
Michael Oliver
9555e7bde4 [Patcher] Ensure hash is checked when loading title plugins
Fixes bug where plugin loader would load all defined plugins if at least one was valid
2025-02-26 15:25:26 +01:00
The-Little-Wolf
ac6692fc65 [Xbox] - More Notification IDs
- Removed unknown ids
- Removed assumed total
- Added notes
- Added kXNotificationSystemXLiveTitleUpdate
- Corrected multiple ids to include their version number
- Fixed Typo
2025-02-26 08:35:10 +01:00
Gliniak
c373208c97 [UI] Disable showing notifications while making screenshot 2025-02-25 21:38:45 +01:00
Gliniak
78f97f8ff3 [Memory] Added allocation of 40k at the start of xex range.
Titles can access it and take value from it.
2025-02-22 19:32:10 +01:00
The-Little-Wolf
fbacd3c12d [Xam/Xam_NUI] - Implement XamShowNuiHardwareRequiredUI
- Implement XamShowNuiHardwareRequiredUI
- Add notes to XamShowNuiTroubleshooterUI
2025-02-07 09:02:45 +01:00
The-Little-Wolf
180be3664e [Xboxkrnl/Xconfig] - add xboxkrnl_xconfig.h
- Add xboxkrnl_xconfig.h to hold known Xconfig flags
- Implement more xeExGetXConfigSetting cases
2025-02-07 08:29:13 +01:00
Adrian
b7b707ddd2 [3PP] Uplift utfcpp 2025-02-01 23:43:49 +01:00
nikolay-kyosev
9a0ed48168 A fix for the release build crash on linux. 2025-01-27 18:21:14 +01:00
Adrian
a4412ad40d [APP] Fixed potential string corruption 2025-01-26 17:16:00 +01:00
Marco Rodolfi
de1ad7aaf5 [build] Add missing linker libraries to xenia-ui 2025-01-20 18:03:23 +01:00
Marco Rodolfi
d90c320dda [filesystem] Moved generic methods to platform independent code 2025-01-20 18:03:23 +01:00
Marco Rodolfi
753698ea20 [linux_platform] Implement a bunch of missing functions necessaries to make Xenia build correctly under Linux
With this part fixed and a function readapted from the original codebase to fix the different signature, we should have a compiling Linux build now.
2025-01-20 18:03:23 +01:00
The-Little-Wolf
3f196f4b62 [CPU/CPU_FLAGS] - Display known PVR values to user in config
- Add known PVR values to config.toml
2025-01-19 23:02:59 +01:00
Marco Rodolfi
00c94f28a1 [memory] Rebase of xenia#2230 on latest canary.
See xenia-project#2230 for an explanation of the changes. I've added additional cleanups as requested and clang-tidy additional suggestions.
2025-01-19 22:40:01 +01:00
Marco Rodolfi
f58fab1d2c [compiler] Misc changes to make this emulator properly compile under Linux with Clang 2025-01-19 21:37:29 +01:00
Marco Rodolfi
0dc0f18abb [misc] Fix runtime Linux problems derived from a different initialization order on instancing classes. 2025-01-19 21:10:04 +01:00
Marco Rodolfi
2a232abc09 [UI] Implement folder and file save routines for the Linux GUI. 2025-01-19 20:49:30 +01:00
Gliniak
0c13ab334b [Lint] Fixed lint 2025-01-19 19:28:28 +01:00
Marco Rodolfi
9703038b71 [UI] Implement keycode handling for Linux with additional keys from xenia#2234 2025-01-19 18:23:16 +01:00
Marco Rodolfi
8d841693ff [cpu] Fix System-V ABI guest to host and host to guest thunk emitters for Linux
Upstream changes made from xenia-project#1339 and xenia-project#2228 back to canary builds. This fixes various emulation crashes caused from different calling conventions on System-V ABI platforms compared to Windows standard.
2025-01-19 16:36:52 +01:00
The-Little-Wolf
b9be601fad [CPU/x64_sequences] - MAX_V128 fixs
- change e.vandps to e.vorps in MAX_V128 to ensure NaN instructions matches real hardware
2025-01-18 20:00:56 +01:00
The-Little-Wolf
de79cb3db4 [Xboxkrnl/XConfig] add user audio config
- Allows for user to set their audio type in the config
- Record audio flags and how they function
2025-01-18 14:55:20 +01:00
Gliniak
0474053931 [GPU] Improvements to GPU settings modification
- Renamed CommonGPUSetting to GPUSetting
- Removed readback_resolve and memexport from d3d12 exclusive option. In the future it will be available for Vulkan too.
- Removed unused enum class: gpu_cvar
- Removed OS specific code from emulator_window
2025-01-17 20:40:53 +01:00
Gliniak
85695692a7 [Base] Fixed issues with thread priority introduced in previous commit 2025-01-17 19:51:18 +01:00
Marco Rodolfi
55bbb28a80 [threading] Linux fixes on setting an incorrect priority
This call was failing since SCHED_FIFO doesn't support negative priorities, but only positive ones, see third paragraph of scheduling policies: https://man7.org/linux/man-pages/man7/sched.7.html.

Additionally Linux do provice up to 99 levels, but I've limited myself to the required UNIX standard of 32, and split the priority levels evenly from that.

I've also added a couple of rows to debug additional issues in the future like this.
2025-01-17 09:56:43 +01:00
The-Little-Wolf
4d7b30e844 [Xam/XamUser] - Stub XamUserGetOnlineLanguageFromXUID
- Stubs XamUserGetOnlineLanguageFromXUID and have it return cvars::user_language
- Leave notes for future implementation once we have proper profile support
2025-01-17 08:32:46 +01:00
Adrian
ae23222ba8 [Emulator] Validate module is an executable before launching 2025-01-17 08:04:49 +01:00
Adrian
d99d053408 [Patcher] Replace stoi with from_string for parsing plugin title id 2025-01-16 15:08:20 +01:00
Gliniak
1688ea5d69 [Kernel] Replaced TranslateAnsiString with TranslateAnsiPath for file paths.
This removes paths that starts or ends with whitespace characters
2025-01-14 22:45:43 +01:00
Gliniak
e80d4effa1 [Kernel] IsValidPath: Removed ; and = from invalid characters list
Path like: fxprefabs;scale=fx_dropship_02_fade.* is processed as a proper one internally and it expects no file error instead of invalid parameter
2025-01-14 21:05:00 +01:00
Gliniak
57da74814b [XAM] Fixed issue with missing DLCs due to invalid XUID 2025-01-12 17:01:20 +01:00
The-Little-Wolf
a77213dcdb [Xam/Xam_Profile] - Stub XamProfileCreate and more
- Move XamProfileFindAccount
- Leave notes for XamProfileOpen
- Stub XamProfileCreate
2025-01-12 16:31:39 +01:00
Adrian
e134bbccd1 [App] Fixed RunTitle crash via hotkey 2025-01-12 16:11:16 +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
cdd3f161fa [XAM] Fixed invalid param count in XNetUnregisterKey 2025-01-10 21:20:06 +01:00