Commit Graph

6175 Commits

Author SHA1 Message Date
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
Gliniak c7c71b5b6b [XBDM] Added support for mounting DEVKIT partition.
For now it is hardcoded to be created in Xenia executable directory
2024-09-13 08:55:42 +02:00
Gliniak 4c2a5d39ab [XAM] Added support for searching publisher paths 2024-09-09 18:52:09 +02:00
Gliniak 71de56416d [Kernel] Cleanup in TU applying code.
Externally it is still applied via: ApplyTitleUpdate
But internally it is splitted into:
 - FindTitleUpdate
 - LoadTitleUpdate
 - IsPatchSignatureProper
 - ApplyTitleUpdate

Added host window with warning about TU incompatibility
2024-09-07 18:26:00 +02:00
Gliniak 0ee6c77d91 [Kernel] Update ExLoadedCommandLine based on executable name 2024-09-05 22:41:35 +02:00
Adrian 2c087406d6 [Kernel] Runtime Module Patching
Fixes source games TUs
2024-09-04 21:18:28 +02:00
Gliniak 616dbfe34e [XEX] Fixed issue with patch applying failure for some executables 2024-09-04 21:04:47 +02:00
The-Little-Wolf 0deafaf9f9 [Kernel] Notification ID Changes
Based off of pull request  xenia-project#2047. Convert magic numbers numbers to enum to improve readability. Includes currently unused one for future use.
2024-09-02 08:24:43 +02:00
Gliniak 5f5be06680 [Memory] Preallocate whole physical range for GPU.
Seems like GPU has direct access to whole RAM and can request anything.

Removed check for page access as all pages are now available for gpu
2024-09-01 22:21:28 +02:00
Gliniak ed843f35f8 [GPU] Added janky(?) support for register: D1MODE_V_COUNTER
Put internal_display_resolution into graphics_system

Thanks Beeanyew for initial implementation
2024-08-31 23:37:21 +02:00
Gliniak 4452e300ac [Emulator] Changed default config values for:
- mount_cache: false -> true
 - framerate_limit: 60 -> 0
 - font_size: 12 -> 14
 - apu_max_queued_frames: 64 -> 8
2024-08-31 21:48:34 +02:00
Gliniak 94473eda19 [APU] Changed default value of apu_max_queued_frames to 8.
Added ability to set it even lower to 4. However this might impact CPU usage.
2024-08-31 20:39:48 +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 59eed7818f [Kernel] Fixed remaining issues with APC
Seems like processing APC never overwrites initial result value in favor of APC
2024-08-29 19:47:18 +02:00
Gliniak 2044013b50 [Kernel] Fixed issue with incorrect return code for APC 2024-08-28 22:56:38 +02:00
Adrian c430a1748a [Kernel] Check for null hmodule_ptr in XexLoadImage 2024-08-28 15:49:46 +02:00
Hyper a867320a87 [Kernel] Implemented XexLoadImageFromMemory 2024-08-27 22:14:21 +02:00
Adrian 1a9ff8fe67 [App] Add notifications for hotkeys & XNotifyQueueUI 2024-08-27 22:02:00 +02:00
Gliniak 9c8a575b76 [UI] Host Notification: Replace previous notification in case of new one 2024-08-27 20:48:22 +02:00
Adrian ee210db096 [App] Added host notification for Zar creation and extraction on completion 2024-08-26 22:48:17 +02:00
Adrian f01317591a [App] Run zar extraction and creation in separate thread 2024-08-25 21:08:10 +02:00
Gliniak 3a42d9e787 [XAM] XamContentGetDeviceName param change
XamContentGetDeviceName was using lpu16string_t for output parameter
This could cause string parse error (conversion to utf16/utf8)
2024-08-25 20:21:05 +02:00
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 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