Commit Graph

7527 Commits

Author SHA1 Message Date
Gliniak d6f0ab6a7e [UI] Implemented Host Notifications
Splitted clases into:
 - ImGuiNotification
 - ImGuiHostNotification
 - ImGuiGuestNotification

To differentiate between Xenia toast notifications and notifications from titles itself

Adhoc:
Changed Screenshot into toast notification and switched from being binded to F10 to F12
2024-08-25 14:06:28 +02:00
The-Little-Wolf 4abbfa0b04 Xam App
Recording more unknown app messages for future reference.

    Xam message 2B001 is called in Toy Story Mania!

    Xmp messages 7002F and 70044 are called on the start of all dashboard versions before the Kinect update. When 70044 is set to return X_E_FAIL you can access the xbox music player but when it succeeds the emulator locks up and you are forced to close it manually (no crash). The music player can't be access at all past version 5787 and instead goes back to the previous screen as if it is closing itself down. 7002B (NXE and Kinect) and 70053 (Blades) are called when trying to access the music, picture, and video libraries.

    Messenger is only called when using netplay with dashboard versions 5759 to 5787. After that an "xbox live is currently unavailable" messaged is displayed on 3 of the tabs (marketplace, xbox live, and games) blocking any internet related messages from appearing on versions 6683 to 6717.

    Xlivebase message 5008C is called on the start of dashboard versions 1888 to 2858 and 50094 is called instead from versions 4532 to 4552. LogonGetHR is called on the startup of dashboard (netplay version)

    XGI message B0036 is called after clicking on xbox live in the arcade library (v5759 to 5787) or from the game library (v6683 to v6717). B0021 is sent in the games Fatal Fury Special and Beijing 2008. B003D is used by UFC 2009 (netplay build).
2024-08-24 19:36:42 +02:00
Gliniak 83ccb47563 [Kernel] Label MmQueryStatistics as high frequency call 2024-08-24 15:22:04 +02:00
Gliniak e04e0d3bb3 [XMP] Added dummy message: XMPCreateUserPlaylistEnumerator 2024-08-24 15:07:54 +02:00
Adrian b802894037 Implemented: MD5 guest functions 2024-08-24 15:07:18 +02:00
Gliniak 0ad1e3d585 [Kernel] MmSetAddressProtect: Disable changing protection in executable range 2024-08-18 10:29:18 +02:00
Gliniak 365a220b74 [XAM] XamContentGetCreator: Use deferred overlap 2024-08-17 11:26:46 +02:00
Gliniak 9ba96d46d1 [Kernel] Removed obsolete message in regards to previous change
Updated log message to provide more info
2024-08-16 21:01:42 +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 c68b09d717 [XAM] Added Stub: XAutomationpUnbindController 2024-08-13 17:57:25 +02:00
Gliniak cf50de3832 [XBDM] Added Stub for: DmIsFastCAPEnabled
Added memory allocating for DmAllocatePool
2024-08-13 17:36:24 +02:00
Gliniak 504e832b49 [Kernel] Added dummy XFileBasicInformation for NtSetInformationFile
This will prevent assertion spam in some games
Mostly games uses it for cache files after renaming to enable writing to file
2024-08-12 19:20:59 +02:00
Gliniak feb88ee6b1 [GPU] Check page access only once for specific range 2024-08-10 21:33:56 +02:00
Gliniak 1864f3d9f2 [D3D12] Redesigned page access for gpu buffer allocation 2024-08-10 20:58:53 +02:00
Gliniak 320102db34 Revert "[GPU] Reset mip levels for non-mipmapped type"
This reverts commit eeb96f91a5.
2024-08-10 18:15:16 +02:00
Gliniak 1fdf250f7d [Kernel] Fixed race condition crash related to missing ke_timestamp_bundle_ptr_ 2024-08-10 16:30:31 +02:00
Gliniak 4c6e0ff685 [Kernel] Added returning allocated size from MmAllocatePhysicalMemoryEx 2024-08-10 16:29:46 +02:00
Adrian adce6c0919 [XAM] Error check count in XUserStatsEnumerator
Fix Homefront from crashing
2024-08-08 20:00:52 +02:00
Radosław Gliński eeb96f91a5
[GPU] Reset mip levels for non-mipmapped type
This prevent issue where fetch is partially invalid and contains invalid mip_page and mip_level for BaseMap type
2024-07-15 22:56:53 +02:00
Gliniak 5d3240d492 [CI] Changed VS version to see if it will prevent triggering AV 2024-07-08 21:43:43 +02:00
Gliniak bd77aae7d0 [XAM] Fixed issue with looking for double .header suffix 2024-07-06 13:02:57 +02:00
NicknineTheEagle a7acce50a6 [XAM] Trim content name when resolving its path 2024-07-06 08:47:37 +02:00
NicknineTheEagle a8421bbce1 [XAM] Fixed checks in async functions 2024-07-06 08:47:37 +02:00
NicknineTheEagle c4e930ed4c Proper 4:3 support 2024-07-01 08:55:15 +02:00
Gliniak 49166f0bd1 [Emulator] Added summary window to Install Content option 2024-06-27 11:40:40 +02:00
NicknineTheEagle d6767dcd66 [XAM] Implemented XamShowMarketplaceDownloadItemsUI 2024-06-27 07:51:24 +02:00
NicknineTheEagle 6df0904e86 [XAM] Implemented XamShowMarketplaceUI 2024-06-25 20:50:14 +02:00
NicknineTheEagle 738c8dbd11 [HID] Added keyboard_user_index cvar 2024-06-19 13:01:21 +02:00
NicknineTheEagle 5610116131 [HID] Don't pass XInput input while UI pop-up is open 2024-06-19 13:01:21 +02:00
NicknineTheEagle db02755075 Fixed namespace usage 2024-06-19 13:01:21 +02:00
Vonce e4408b6bc3 Screenshot functionality Added
Added a screenshot functionality based on this pr https://github.com/xenia-project/xenia/pull/2074 and added some minor adjustments.

GUI wise, "take screenshot" is under the Display menu and the keyboard shortcut to take it is F10

The screenshots folder will save to where xenia.exe or xenia_canary.exe is located. As for save paths, it will only use the id of the game due to illegal characters in some titles.
2024-06-19 08:05:58 +02:00
NicknineTheEagle 34322ebb41 [XAM] Set license mask for XBLA titles as well 2024-06-18 16:30:22 +02:00
NicknineTheEagle 16affb94d4 [XAM] Added storage device select UI 2024-06-18 07:35:36 +02:00
NicknineTheEagle e5c8f00e26 [Kernel] Fixed XamShowSigninUI 2024-06-17 08:59:11 +02:00
NicknineTheEagle c004d669c2 [Emulator] Removed legacy title re-launching code 2024-06-16 09:37:04 +02:00
Gliniak ec267c348a [LINT] Fixed lint issues after clang-format update 2024-06-13 20:56:56 +02:00
Gliniak ce990e2828 [HID] Added support for joystick deadzones
- Simplified logic for connected controllers
2024-06-01 14:54:01 +02:00
Gliniak b3f2ab0e96 Merge branch 'master' of https://github.com/xenia-project/xenia into canary_experimental 2024-05-31 22:43:59 +02:00
Adrian f2f8bba081 [XAM] XamUserGetName return Win32 code instead of HResult 2024-05-30 13:10:07 +02:00
Adrian a688f87f55 [VFS] Clear registered devices if launch failed 2024-05-25 20:33:19 +02:00
Triang3l 3d30b2eec3 [Vulkan] Shader memory export (#145) 2024-05-25 16:31:50 +03:00
Gliniak ff692589c7 [Kernel] Changed location of internal_display_resolution in config
This is to better represents usecase of this option as guest related setting
2024-05-20 20:12:31 +02:00
Gliniak 6ebb522270 [Kernel] Added option to use PAL-50 mode 2024-05-20 20:08:52 +02:00
frazier_g c01c06d19b Make guest debugger usable 2024-05-19 18:50:43 +02:00
Triang3l 210ac4b2d2 [GPU] Fix gamma ramp writing after RegisterFile API change (#2262) 2024-05-18 23:53:09 +03:00
Triang3l 8e7301f4d8 [SPIR-V] Use a helper class for most if/else branching
Simplifies emission of the blocks themselves (including inserting blocks
into the function's block list in the correct order), as well as phi after
the branching.

Also fixes 64bpp storing with blending in the fragment shader interlock
render backend implementation (had a typo that caused the high 32 bits to
overwrite the low ones).
2024-05-16 23:05:49 +03:00
Gliniak 5bbba85c70 Implemented: SHA512 guest functions
- XeCryptSha512Init
- XeCryptSha512Update
- XeCryptSha512Final
2024-05-15 20:34:51 +02:00
Triang3l 3189a0e259 [GPU] Check memexport stream constant upper bits in range gathering 2024-05-12 20:26:14 +03:00
Triang3l a3304d252f [Base/GPU] Cleanup float comparisons and NaN and -0 in clamping
C++ relational operators are supposed to raise FE_INVALID if an argument is
NaN, use std::isless/greater[equal] instead where they were easy to locate
(though there are other places possibly, mostly min/max and clamp usage was
checked).

Also fixes a copy-paste error making the CPU shader interpreter execute
MINs as MAXs instead.
2024-05-12 19:21:37 +03:00