Commit Graph

7686 Commits

Author SHA1 Message Date
The-Little-Wolf d6ed8af4e7 [Xam/Avatar] - Stubbing Avatar Functions
Stubbing avatar functions and leaving notes for future reference
2025-01-02 20:38:56 +01:00
The-Little-Wolf 95df198d8a [Xbox] kXNotification Additions
- Discovered new unknown kXNotificationID use by XNotifyBroadcast together and wanted to record them before I forget them.
- Changed kXNotificationID  to kXNotification
- Added kXNotificationSystemPXLiveSystemUpdate
2025-01-02 18:19:21 +01:00
Gliniak b757601f01 [XAM] XamUserGetName: Fixed issue introduced in previous commit 2025-01-01 18:43:52 +01:00
Gliniak 3f0a7f171f [XAM] XamUserGetName: Prevent false-positive in MS defender 2025-01-01 14:14:57 +01:00
Adrian ceb94e019a [XAM/UI] Implemented profile passcode UI 2025-01-01 00:26:13 +01:00
Gliniak fe85be8817 [XAM] Fixed possible crash caused by printing invalid characters in XamUserGetGamerTag and XamUserGetName 2024-12-30 19:47:10 +01:00
Gliniak c3301d9281 [Base] Fixed issue with initialization deadlock on Proton
For whatever reason Proton doesn't like it when Xenia is compiled with 2022 MSVC
2024-12-30 16:41:47 +01:00
Gliniak 1ba30c519c [HID] Fixed issues with double input in specific config HID configuration.
This was the case in hid set to "any" or to "winkey" and game that requires input from any user
2024-12-30 15:43:40 +01:00
Adrian 3dac88113f [XBDM] Implemented DmSetMemory and DmGetMemory 2024-12-29 18:35:44 +01:00
The-Little-Wolf 160d80d5cc [Xam/Enum] Implement EnumerateMediaObjects Functions
According to xam versions 8955 and 12611 all EnumerateMediaObjects are the same function and only return 0x80004001
2024-12-29 17:08:43 +01:00
Gliniak 580b1f4345 [XAM] Fixed nullptr crash in XamShowMessageBoxUI 2024-12-27 10:25:20 +01:00
Gliniak 9dfb0d0b68 [Base] Moved IsUseNexusForGameBarEnabled from emulator_window to system.h
This will remove direct usage of system specific code from emulator_window
2024-12-26 23:42:31 +01:00
Gliniak bcc3c3172d [Base] Added NtSystemClock to_local for quick time conversion to current timezone
- Changed achievement reward time to local time (in UI)
2024-12-26 23:42:31 +01:00
Gliniak c3586bc165 [C++] Uplift version to C++20 2024-12-26 23:42:31 +01:00
Gliniak a6e3d77504 [HID] Report passthrough as keyboard type and subtype device.
- Added enums for: X_INPUT_DEVTYPE and X_INPUT_DEVSUBTYPE
- Fixed issue with xinput failure with keyboard flag received
2024-12-23 15:50:00 +01:00
Gliniak 2e521383c2 [HID] Fixed some issues with controller/passthrough visibility.
- Moved X_INPUT flags from kernel to HID
- Added ability to return input type from driver
2024-12-23 10:43:27 +01:00
Gliniak 11f14e8488 [HID] Fixed spam caused by incorrect controller visibility
- Little cleanup in HID related code
2024-12-21 19:51:01 +01:00
Adrian 3d79874828 [XAM] Fixed profile setting for preferred color
Fixes Supreme Commander from crashing.
2024-12-21 14:58:16 +01:00
The-Little-Wolf 919f7403e2 [Xam/UI] - Implement XamShowMarketplaceUIEx & XamShowForcedNameChangeUI
Xam version 4548 and up XamShowMarketplaceUI transfers its params to XamShowMarketplaceUIEx.
2024-12-20 08:00:43 +01:00
Gliniak 263c722a40 [XAM] Added X_ACHIEVEMENT_UNLOCK_TIME ctor to support unix timestamp 2024-12-18 20:59:27 +01:00
Gliniak b98ff2d278 [XAM] Added specific ctor for X_ACHIEVEMENT_UNLOCK_TIME
Added method X_ACHIEVEMENT_UNLOCK_TIME::to_time_point
2024-12-18 20:32:52 +01:00
Gliniak ef8619b0a8 [HID] Fixed issue with controller input introduced in previous commit.
Added option to switch keyboard working mode.
2024-12-18 20:11:38 +01:00
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
Margen67 2596aef111 [CI] Use main branch of actions 2024-12-16 19:49:10 -08: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 b449937553 [CI] Removed VS2019 build from CI
Build on VS2022 is finally marked as clean, so there is no need to waste resources to generate 2019 and 2022 builds
2024-12-14 23:01:33 +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 d94940f850 Replace /GS- with NoBufferSecurityCheck
This is how it's supposed to be done.
Stops this from being spammed:
cl : command line  warning D9025: overriding '/GS' with '/GS-' [D:\a\xenia-canary\xenia-canary\build\glslang-spirv.vcxproj]
2024-12-13 13:01:07 -08: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
Margen67 0132cb9a14 Add /Ob3, remove /Oy
/Ob3 might improve performance;
https://learn.microsoft.com/en-us/cpp/build/reference/ob-inline-function-expansion?view=msvc-170
/Oy is implied by /O2;
https://learn.microsoft.com/en-us/cpp/build/reference/o1-o2-minimize-size-maximize-speed?view=msvc-170
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