Commit Graph

52 Commits

Author SHA1 Message Date
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
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
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
b187ffeef7 [UI] Fixed crash while opening titles menu while not being logged in 2024-12-16 19:36:33 +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
Gliniak
3318ab5d4c [3PP] Uplifted FMT version and adjusted messages 2024-12-12 20:28:11 +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
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
feafc3809c [XAM] Implemented XamProfileCreateEnumerator & XamProfileEnumerate 2024-11-25 08:49:38 +01:00
Gliniak
996b874d74 [Profile] Added option to modify Gamertag 2024-11-01 22:43:44 +01:00
Gliniak
d2921a09eb [UI] Fixed inconsistency in slot id 2024-10-18 21:12:17 +02:00
NicknineTheEagle
060954f0c3 [XAM] Implement XamShowSigninUI 2024-10-12 18:51:36 +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
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
e409a384ec [Kernel] Removed XAM specific entities from KernelState 2024-09-28 10:14:59 +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
Adrian
1a9ff8fe67 [App] Add notifications for hotkeys & XNotifyQueueUI 2024-08-27 22:02:00 +02:00
NicknineTheEagle
a8421bbce1 [XAM] Fixed checks in async functions 2024-07-06 08:47:37 +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
db02755075 Fixed namespace usage 2024-06-19 13:01:21 +02:00
NicknineTheEagle
16affb94d4 [XAM] Added storage device select UI 2024-06-18 07:35:36 +02:00
Gliniak
341192f6df [Codacy] Removed most of issues under "Performance" category 2024-01-20 18:34:29 +01:00
Adrian
6a23f1457b [XAM] Plugin Functions 2023-06-15 21:16:31 +02:00
chss95cs@gmail.com
2fa2f1a78c Add more wrapper functions to ppc_context_t in kernel, want to switch…
… over to referencing state through ppc_context as much as possible, it'll make implementing things like kernel processes much easier in the future

Move forward definitions of kernel types into kernel_fwd.h

Stub implementation of  XamLoaderGetMediaInfoEx
Partially implement XamSetDashContext
implement XamGetDashContext
Stub implementation of XamUserIsUnsafeProgrammingAllowed
Stub implementation of XamUserGetSubscriptionType
Expanded the supported object types for ObReferenceObjectByHandle and wrapped the logic for encoding the type in a constexpr function
ObReferenceObjectByName was taking lpstring_t for first param, but the function actually takes X_ANSI_STRING ptr

NtReleaseMutant actually does not return anything from KeReleaseMutant, it just checks the handle and returns whether it was invalid.

Changed the raise/lower irql functions to just set the irql on the pcr instead of setting it on field of Processor, processor is a shared object and irql is per-thread

Semi-stub implementation of KeGetImagePageTableEntry. I locked at it in the HV and got it so the values are in the same range the HV returns + actually reflect the page & memory range, but i doubt its equal to the values the hv returns on real hw. Used by modern dashboards, don't know for what.
Log error message for ObDereferenceObject w/ null ptr.

Allocate a special fixed page that dashboards reference, currently don't know what the data on that page is supposed to be.
Add current_irql field to X_KPCR
Added Device object member of XObject::Type enum
Added some notes about other gpu registers, found a table of register names and indices in xam
2023-04-23 10:39:52 -04:00
chss95cs@gmail.com
c1d922eebf Minor decoder optimizations, kernel fixes, cpu backend fixes 2022-11-05 10:50:33 -07:00
Triang3l
fe3f0f26e4 [UI] Image post-processing and full presentation/window rework
[GPU] Add FXAA post-processing
[UI] Add FidelityFX FSR and CAS post-processing
[UI] Add blue noise dithering from 10bpc to 8bpc
[GPU] Apply the DC PWL gamma ramp closer to the spec, supporting fully white color
[UI] Allow the GPU CP thread to present on the host directly, bypassing the UI thread OS paint event
[UI] Allow variable refresh rate (or tearing)
[UI] Present the newest frame (restart) on DXGI
[UI] Replace GraphicsContext with a far more advanced Presenter with more coherent surface connection and UI overlay state management
[UI] Connect presentation to windows via the Surface class, not native window handles
[Vulkan] Switch to simpler Vulkan setup with no instance/device separation due to interdependencies and to pass fewer objects around
[Vulkan] Lower the minimum required Vulkan version to 1.0
[UI/GPU] Various cleanup, mainly ComPtr usage
[UI] Support per-monitor DPI awareness v2 on Windows
[UI] DPI-scale Dear ImGui
[UI] Replace the remaining non-detachable window delegates with unified window event and input listeners
[UI] Allow listeners to safely destroy or close the window, and to register/unregister listeners without use-after-free and the ABA problem
[UI] Explicit Z ordering of input listeners and UI overlays, top-down for input, bottom-up for drawing
[UI] Add explicit window lifecycle phases
[UI] Replace Window virtual functions with explicit desired state, its application, actual state, its feedback
[UI] GTK: Apply the initial size to the drawing area
[UI] Limit internal UI frame rate to that of the monitor
[UI] Hide the cursor using a timer instead of polling due to no repeated UI thread paints with GPU CP thread presentation, and only within the window
2022-01-29 13:22:03 +03:00
gibbed
12ec728989 [Kernel] Use tables for export groups. 2022-01-09 14:16:37 -06:00
gibbed
3ad0a7dab2 [Kernel] Suffix export functions with _entry. 2022-01-09 12:17:03 -06:00
Triang3l
6ce5330f5f [UI] Loop thread to main thread WindowedAppContext 2021-08-28 19:38:24 +03:00
Gliniak
6c9662d17e [XAM/UI] Added Stubs For:
- XamShowPartyUI
 - XamShowCommunitySessionsUI
2021-04-06 23:39:40 -05:00
gibbed
dd25e69e66 [HID] Pass 'is active' callback to input drivers. 2020-11-27 05:23:21 -06:00
gibbed
f8e6ac4108 Defer XAM UI functions & other improvements.
- [Kernel] Fix global locking in kernel dispatch thread.
- [Kernel] Improve CompleteOverlappedDeferred/CompleteOverlappedDeferredEx.
- [XAM] Identify unknowns in XamNotifyCreateListener/XNotifyListener.
- [XAM] Defer XamShowMessageBoxUI.
- [XAM] Defer XamShowKeyboardUI.
- [XAM] Fix cancel handling in XamShowKeyboardUI.
- [XAM] Defer XamShowDeviceSelectorUI.
- [XAM] Defer XamShowDirtyDiscErrorUI.
2020-11-27 05:15:17 -06:00
Triang3l
91d5ba444a [Base/Kernel] Add and use truncating null-terminating string copying 2020-11-15 11:27:59 -06:00
Cancerous
596f1691c0 [XAM] - correct storage device ID fixes saving and storage detection in many games
most of the games this can be evidenced in are Unreal Engine titles or games that otherwise do not work in master yet but it can be shown in Saints Row 2 that does work in the master branch
this ID was found from debugging games where storage device detection wasn't working and reverse engineering of Unreal Engine 3
2020-07-07 01:57:40 -05:00
gibbed
5bf0b34445 C++17ification.
C++17ification!

- Filesystem interaction now uses std::filesystem::path.
- Usage of const char*, std::string have been changed to
  std::string_view where appropriate.
- Usage of printf-style functions changed to use fmt.
2020-04-07 16:09:41 -05:00
gibbed
8d5d70c77f [XAM] Don't allow an empty title.
[XAM] Don't allow an empty titles because ImGui explodes otherwise.
2020-02-29 15:47:19 -06:00
emoose
313e81ec38 [Kernel] Add XN_SYS_UI notifications to XamShow*UI exports 2019-08-04 03:57:06 +01:00
Jonathan Goyvaerts
c1af632562 Replace all gflag implementations with cvar implementations 2019-08-03 02:34:07 +02:00
Margen67
896ac4a682 Update documentation.
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
gibbed
7ae0e2b8e5 [Kernel] Fix Travis whining. 2018-11-20 16:05:45 -06:00
gibbed
4f2326e5d7 [Kernel] Oops. 2018-11-20 15:52:15 -06:00
gibbed
d7fc74d788 [Kernel] Move xam_ui to new shim convention. 2018-11-20 14:53:00 -06:00
gibbed
394105d359 [CPU/Kernel] Cleanup and rework of how kernel exports are declared. 2018-11-20 13:03:17 -06:00
gibbed
d0561d046b [Kernel] Handle title being null in XamShowMessageBoxUI. 2018-05-23 13:30:59 -05:00
Ben Vanik
b02ca62388 Fixing most remaining C++ warnings in clang. 2016-01-01 18:37:33 +00:00
Ben Vanik
990d973c74 New ppc opcode decoder.
Seems to work and match up with the old decoder (which may be bad).
Old decoder remains until all functionality is replaced.
2015-12-27 22:53:05 -08:00