Commit Graph

6219 Commits

Author SHA1 Message Date
Gliniak f6ae651cc2 [HID] Enable Keyboard Passthru
Thanks Adrian for figuring out missing XINPUT_KEYSTROKE_VALIDUNICODE flag.
Thanks Clippy95 for figuring out shift and capslock
2024-12-17 08:59:13 +01:00
Gliniak b187ffeef7 [UI] Fixed crash while opening titles menu while not being logged in 2024-12-16 19:36:33 +01:00
Xphalnos c8c62fc07c [Base] Fixed compilation error in math.h 2024-12-16 18:55:46 +01:00
Gliniak cfd965342a [XAM] Fixed issue with lack of loaded achievements while switching profile in-game 2024-12-15 14:16:17 +01:00
Gliniak 2fc36721b4 [Kernel] Removed useless GameInfoWrapper class
It was added back in 2016 and never really used.
I tested few games and never saw GameInfo.bin in XNA games or any other game
2024-12-14 20:51:16 +01:00
Gliniak e8a92c1073 [Kernel] Split achievements backends from manager and interface 2024-12-14 18:32:53 +01:00
Gliniak 45332299b2 [UI] Added played game list and achievements UI.
This will be functional after GPD & SPA implementation, for now shows info about currently booted title
2024-12-14 18:18:35 +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
Margen67 1d51ff5bfd Replace invalid vectorextensions
IA32 never existed for x64, see:
https://learn.microsoft.com/en-us/cpp/build/reference/arch-x64?view=msvc-140#syntax
Fixes this:
cl : command line  warning D9002: ignoring unknown option '/arch:IA32' [D:\a\xenia-canary\xenia-canary\build\xenia-app.vcxproj]
2024-12-13 11:03:07 -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
Adrian 41771055f8 [XAM] Fixed datatype for uint32_t user settings 2024-12-12 10:31:56 +01:00
Gliniak e93373660f [Kernel] AchievementManager: Added Interface for attaching custom implementations 2024-12-10 22:21:24 +01:00
Gliniak 0368e06b71 [XDBF] Added option to read XTHD section
This will be useful as it contains title id and version
2024-12-10 19:10:17 +01:00
Gliniak c7c5aed948 [UI] Install Content: Install savefiles to profile signed to first slot.
This will prevent installation of savefiles to non-existing profiles
2024-12-09 19:52:21 +01:00
Gliniak fadc8d5a4d [XAM/UI] Simplified profile menu drawing logic
- Removed size precalculation.
- Fixed image ratio to 1:1.
- Removed scaling code that doesn't work anyway.
  If scaling is needed then it is in achievement earned notification code.
- Removed hardcoded -1 in user_index comparation.
2024-12-04 09:53:26 +01:00
The-Little-Wolf 6a380bcd91 [Xam/Info] - Fix XamGetLanguage & XGetLanguage Implementation
XamGetLanguage:
 - Language values that are returned must match Xlanguage values
XGetLanguage:
 - Return values above 9 will default to japanese, korean, or english depending on game region
2024-12-03 15:13:32 +01:00
Adrian 61b2e15666 [XAM] Fix error code for XamUserGetIndexFromXUID 2024-12-03 14:51:25 +01:00
Adrian cfd7da696f [App] Reset dialogs on refresh 2024-12-03 14:38:47 +01:00
The-Little-Wolf c71649161e [XAM] Implemented XamUserGetIndexFromXUID
Implement XamUserGetIndexFromXUID
2024-11-29 20:42:13 +01:00
The-Little-Wolf 1a98a6eaf3 [Xam/User] - Stub XamUserCreateTitlesPlayedEnumerator
Stub of XamUserCreateTitlesPlayedEnumerator in preparation for future GPD support
2024-11-29 09:19:42 +01:00
Adrian 3ab712824e [XAM] Maintain usage of constant XUserIndexAny 2024-11-27 19:41:10 +01:00
Gliniak 2b49fc2ddc [XAM] ProfileManager: Renamed GetProfiles to GetAccounts
This is to prevent confusion between signed-in accounts (aka. Profiles) and all entries (Accounts)

Also added GetAccount to get specific instead of all of them when not needed
2024-11-26 20:28:01 +01:00
Adrian b17faf84f2 [XAM] Improve XamUserGetSubscriptionType 2024-11-25 22:18:19 +01:00
Adrian d516e8091c [XAM] XamGetStagingMode Stub 2024-11-25 22:17:20 +01:00
Adrian 4d44856b2b [XAM] Implemented XamProfileFindAccount 2024-11-25 20:46:54 +01:00
Adrian d0b15ff8c9 [Kernel] Check null pointer in RtlImageXexHeaderField 2024-11-25 19:30:11 +01:00
Adrian feafc3809c [XAM] Implemented XamProfileCreateEnumerator & XamProfileEnumerate 2024-11-25 08:49:38 +01:00
Adrian 3096bb87d4 [XAM] Improve XamUserIsUnsafeProgrammingAllowed Stub
Co-Authored-By: Pipi86 <66808852+Pipi86@users.noreply.github.com>
2024-11-25 08:48:13 +01:00
Adrian 05ae4ac6e9 [XAM] Implemented XamUserGetUserFlags & XamUserGetUserFlagsFromXUID 2024-11-25 08:47:46 +01:00
Adrian c06b1f6e98 [XAM] Correct XUID type in XamUserCreateAchievementEnumerator 2024-11-24 11:00:21 +01:00
Adrian a4156abed7 [XAM] XamGetLanguage Stub 2024-11-24 10:53:15 +01:00
Adrian 1333b4dc98 [XAM] Correct error code in XamUserGetGamerTag 2024-11-24 10:51:38 +01:00
Adrian a7a981105a [Core] Add XUID validation functions to xbox.h 2024-11-24 10:44:52 +01:00
Xphalnos fbad66e5bc [imgui] Clean implementation of rounded edges 2024-11-03 20:07:58 +01:00
Gliniak 464e9a1645 [XMP] Disable switching back to system client mode 2024-11-02 21:39:22 +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 35cc2ccd7a [XMP] Fixed issues with lack of state change and premature audio cut 2024-11-02 19:08:40 +01:00
Gliniak 3ac98ebfba [Static Analysis] Resolved some issues mentioned in Alexandr-u report 2024-11-02 19:08:34 +01:00
Gliniak b471423c1a [XMP] Added dedicated AudioMediaPlayer class 2024-11-02 16:47:52 +01:00
Gliniak 996b874d74 [Profile] Added option to modify Gamertag 2024-11-01 22:43:44 +01:00
Xphalnos cf0ee05da6 [MISC] Allow user to override process priority class 2024-11-01 14:23:55 +01:00
Xphalnos 82cb261140 [MISC] Bump DXGI to 1.6 2024-11-01 11:22:05 +01:00
Xphalnos 90fc07e400 [GUI] Settings Improvements 2024-10-28 16:45:22 +01:00
Xphalnos 0a712c0014 [3PP] Bump imgui from 1.89.5 to 1.90.0 2024-10-26 09:01:17 +02:00
Hendi 764f230dd9 [XAM] XMP: Implement playback 2024-10-23 22:04:47 +02:00
Hendi 5a76cac218 [APU] Refactor audio system to work with different frequencies/channel layouts 2024-10-23 22:04:47 +02:00
Gliniak da6afabf60 [XAM] XMP: Adjusted/Fixed size returned in message 0x0007002E 2024-10-23 20:38:37 +02:00
Xphalnos c42a54ddec [3PP] Updated: Half, Xbyak, SDL2 2024-10-22 22:16:26 +02:00
Gliniak 1c4527c1e7 [Kernel] Fixed applying TUs to multi disc games 2024-10-22 20:05:35 +02:00
Gliniak 32cebd7a11 [UI] Fixed assertion caused by style push/pop mismatch 2024-10-22 19:49:16 +02:00
Xphalnos 1c9783ca3c [imgui] Makes the window edges rounded 2024-10-20 20:22:37 +02:00
EmiGITs 0712132ed0 [CPU] Added disable_context_promotion option
This disable ContextPromotionPass that causes instability in some games
2024-10-20 20:08:56 +02:00
Margen67 8af296a200 [GPU] Custom resolution
Does not work without patches.
2024-10-19 03:38:21 -07:00
Margen67 6c0f026824 [GPU] Fix internal_display_resolution condition 2024-10-18 13:05:16 -07:00
Gliniak d2921a09eb [UI] Fixed inconsistency in slot id 2024-10-18 21:12:17 +02:00
Gliniak 0949ebfb38 [XAM] Fixed issue with removing savefiles and searching for header in specific condition 2024-10-18 17:48:54 +02:00
Margen67 90259bef6a [CPU] Add note to cpu option 2024-10-16 03:40:53 -07:00
Margen67 b93ad3e82a [Emulator] Tie window size to resolution 2024-10-16 03:40:53 -07:00
Margen67 731c6057de Canaryize
Co-Authored-By: illusion0001 <37698908+illusion0001@users.noreply.github.com>
2024-10-13 15:11:47 -07:00
Gliniak 85458c811f [XAM] Fixed issues with reading savefiles that are loaded via: XamContentAggregate 2024-10-13 15:29:04 +02:00
NicknineTheEagle e85a59ca90 [Input] Update last controller var in GetKeystroke as well 2024-10-13 10:15:21 +02:00
NicknineTheEagle 060954f0c3 [XAM] Implement XamShowSigninUI 2024-10-12 18:51:36 +02:00
NicknineTheEagle 842161ca9b [Input] Add last used controller tracker 2024-10-12 18:51:36 +02:00
Gliniak 0a0cd2a882 [XAM] Fixed license for extracted XBLA games
This fixes bug introduced few days ago that prevented XBLA games from going into full game mode.
2024-10-12 16:54:47 +02:00
Gliniak 5a5fe97efb [XAM] Added XamMediaVerification stubs
- Create
- Close
- Verify
- FailedBlocks
- Inject

Thanks: Nicknine & Adrian
2024-10-09 18:48:00 +02:00
Gliniak 36453829df [XAM] Added overlap to XamContentGetLicenseMask
Also added logic for skipping "discs" as they don't have a license
2024-10-07 18:45:16 +02:00
Gliniak 06dc06b8ca [XAM] Fallback to config license_mask in case of old header version 2024-10-07 18:31:41 +02:00
Gliniak 5696d55575 [XAM] Auto login freshly created profiles if possible 2024-10-06 21:47:28 +02:00
Gliniak 9e4b2e343f [XAM] Allow content to read license from header 2024-10-06 21:15:50 +02:00
Gliniak 1cda06d5bf [UI] Added info in profile menu about not signed in profiles
Also changed slot ordering to start from 1 instead of 0
2024-10-06 20:12:21 +02:00
Gliniak 32b3151132 [Profile] UI: Skip current draw in case of failure.
This should resolve random crash while removing profile
2024-10-05 14:27:43 +02:00
Gliniak 487f4407c3 [Premake] Removed unused hid-demo project 2024-10-05 10:03:35 +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
Gliniak 9ba0f18c82 [Emulator] Restrict mouse fullscreen toggle to left-click 2024-10-02 21:49:32 +02:00
NicknineTheEagle a3bd34122b [Emulator] Send XNotification after installing content package 2024-10-01 19:35:18 +02:00
NicknineTheEagle d00dd5a83d [XAM] Send UI close notification on a separate thread 2024-10-01 19:35:18 +02:00
NicknineTheEagle 23242f21ce Adjusted comments 2024-10-01 19:35:18 +02:00
Gliniak 952526a78e [Util] Added crypto utils required for decrypting/encrypting account data.
Thanks Emoose for implementation
2024-09-28 10:54:48 +02:00
Gliniak e409a384ec [Kernel] Removed XAM specific entities from KernelState 2024-09-28 10:14:59 +02:00
Radosław Gliński 6f65ec382c
[XAM] Fixed typo in: XamUserGetMembershipTier 2024-09-27 20:10:04 +02:00
Adrian 7003e54e51 [Patcher] Check for missing entries and use relative paths 2024-09-25 19:18:34 +02:00
Adrian 2fcf8c1163 [XAM] Replace constant with named error in GetSubscriptionType 2024-09-23 20:57:46 +02:00
Antonio de Sousa 1fd501db01 [Emulator] Change default config value for query_occlusion_fake_sample_count 2024-09-23 12:28:10 +02:00
Pipi86 6a8a6d15c0 [Kernel] Removed typos from xlast.h and xlast.cc 2024-09-23 09:25:59 +02:00
Xphalnos 25e9836343 [Misc] Removing unused files + misc fixes 2024-09-23 08:19:18 +02:00
NicknineTheEagle 6cba5ba7e6 Convert STFS filenames from Win-1252 to UTF-8 2024-09-22 21:38:55 +02:00
Gliniak 60b31af811 [3PP] Replaced cpptoml with tomlplusplus
Also adjusted code that used cpptoml to be used with toml++ and some more changes
2024-09-22 20:41:52 +02:00
Gliniak d246e3bc70 [XAM] XamShowSigninUI: Send signin and UI close notification with delay from separate thread
This is to prevent situation when game waits for notification, but receives it beforehand
2024-09-21 22:35:03 +02:00
Adrian 629707b935 [XLast] Presence string parser
Thanks Gliniak for parser.
2024-09-21 19:31:53 +02:00
Gliniak abc1d4aefa [XAM] Fixed issue with lack of property modification 2024-09-21 18:55:51 +02:00
Adrian 12bf52b363 [XLast] Add presence getters 2024-09-21 18:16:46 +02:00
Gliniak 854b7df2ba [Kernel] Added Property class and storing them for user 2024-09-21 17:40:30 +02:00
Gliniak eb785c8e35 [XAM] Fixed old typo in: XGIUserSetPropertyEx
It was taking Context instead of Property data.
2024-09-21 09:55:18 +02:00
Gliniak 86bd62125d [Kernel] Implemented Game Info Database
This aggregates XDBF and XLAST into one entity.

Replaced UserData::Key into more versatile AttributeKey for future usage in properties
2024-09-20 19:29:37 +02:00
Gliniak 2709a5d3e8 [Emulator] Improvements to EmulatorWindow::RunTitle
- Use reference instead of copy for provided path
 - Extended error logging for special cases
2024-09-19 22:08:42 +02:00
Xphalnos ecc92e4082 Third-party: Update a lot of submodules 2024-09-17 19:58:40 +02:00
Gliniak edc829f3e6 [CPU] Check for modification of base_address during patch application 2024-09-15 17:13:04 +02:00
Gliniak f95a1e591b [XAM] Fixed issue with invalid path returned while searching for publisher type path 2024-09-13 19:52:29 +02:00
Gliniak d232bdbecf [UTIL] Fixed bug in TranslateUnicodeString code
It was incorrectly copying length in bytes instead
of character count which was causing out of bounds access and string corruption
2024-09-13 12:21:21 +02:00