Commit Graph

7614 Commits

Author SHA1 Message Date
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
Gliniak 5abf67f540 [MISC] Added devkit directory to gitignore file 2024-09-18 19:30:06 +02:00
Gliniak 17ca739935 [3PP] Reverted Catch2 back to 2.x version due to incompatibility 2024-09-18 19:28:39 +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 7d385c3844 [GIT] Ignore cache directory from git searching 2024-08-25 16:53:08 +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