Commit Graph

158 Commits

Author SHA1 Message Date
Radosław Gliński
d2cf0167fd [XAM/User] Added flag for local profile
It should fix games where right now there is no profile found.

Example: EA Sports games
2020-12-03 01:21:33 -06:00
Gliniak
c3d48eb2fa [XAM/Net] Implemented WSASetLastError 2020-11-29 10:48:29 -06:00
gibbed
215f2a340b [XAM] Ensure items returned is set in enumerate.
[XAM] Ensure items returned is set in xeXamEnumerate.
2020-11-29 02:03:44 -06:00
gibbed
319699130a [XAM] Improvement rollup. Content, enumerators...
- [Kernel] Create guest object for XEnumerator.
- [XAM] Split content data into host/guest variants.
- [XAM] Correct message return type from RESULT to HRESULT.
- [XAM] Add a new dummy content device for ODD.
- [XAM] Implement XamContentAggregateCreateEnumerator.
- [XAM] Implement XamGetPrivateEnumStructureFromHandle.
- [XAM] Implement XMsgCompleteIORequest (sketchy).
- [XAM] Implement XamGetOverlappedResult (sketchy).
- [XAM] Implement XamTaskSchedule (sketchy).
2020-11-27 14:19:30 -06:00
gibbed
5328b72268 [XAM] Split content device exports to a new file. 2020-11-27 14:19:30 -06:00
gibbed
f8d663cd1e [XAM] Rename NUI export group. 2020-11-27 14:19:30 -06:00
gibbed
1481735d36 [XAM] Rework how export groups are registered. 2020-11-27 14:19:30 -06:00
gibbed
42b1427087 [XAM] Split enum exports to a new file. 2020-11-27 14:19:30 -06: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
gibbed
49dc0e9c39 [XAM] Rollup of user fixes.
- [XAM] Fix XamUserGetXUID type mask handling.
- [XAM] Fix XamGetUserName return values.
- [XAM] Fix XamGetUserName copy size.
- [XAM] Implement XamGetUserGamerTag.
- [XAM] Fix XamUserCheckPrivilege handling of all users.
- [XAM] Stub XamUserGetMembershipTier.
2020-11-17 19:58:30 -06:00
Cancerous
94b9616b3a [XAM] Raise the size of the dummy HDD to 20GB.
- [XAM] Raise the size of the dummy HDD to 20GB.
- [XAM] Rename unknown field to device_type in X_CONTENT_DEVICE_DATA.
2020-11-15 15:04:40 -06:00
Triang3l
91d5ba444a [Base/Kernel] Add and use truncating null-terminating string copying 2020-11-15 11:27:59 -06:00
Radosław Gliński
f8d7652dc4 [Kernel] Remove remaining SHIM usage from xam_net (#1671) 2020-11-14 19:30:56 +03:00
gibbed
2b8f347b0b [XAM] Stub xuids usage xeXamUserReadProfileSettingsEx.
[XAM] Stub valid xuids usage xeXamUserReadProfileSettingsEx.
2020-10-26 16:07:37 -05:00
Gliniak
10db913ca2 [Kernel/Xam] XNotifyGetNext - Overall improvements 2020-10-26 15:43:51 -05:00
Gliniak
4f5c313fe3 [Kernel/XAM] Added Support For: XamContentDeleteInternal
Now some EA games should have working savefiles
2020-08-25 20:51:01 +03: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
Gliniak
e80115020e [Kernel/XAM] Implemented XamContentCreateInternal 2020-05-18 14:07:07 -05:00
gibbed
087247184d [XAM] Dummy MAC address in *XNetGetTitleXnAddr.
[XAM] Dummy MAC address in NetDll_XNetGetTitleXnAddr.
2020-04-20 06:31:02 -05:00
gibbed
f631b02bcf [XAM] Fix xeXamUserReadProfileSettingsEx.
[XAM] Fix xeXamUserReadProfileSettingsEx.

- Properly calculate initial buffer_offset.
- Don't set buffer_size_ptr when its initial value is non-zero.
2020-04-13 17:55:15 -05:00
gibbed
a8c3682b6f [XAM] Modify default user XUID.
[XAM] Modify default user XUID. Fixes behavior in NeoGeo Battle
Coliseum and possibly others. ("You do not have permissions to
perform this operation.")
2020-04-13 14:28:32 -05:00
gibbed
230015f9ca [XAM] Add default case.
[XAM] Add default case in xeXamUserReadProfileSettingsEx.
2020-04-13 14:27:46 -05:00
gibbed
6ab003dbf8 [Kernel] Reformat license mask description.
[Kernel] Reformat license mask description to include newlines.
2020-04-13 12:57:14 -05:00
gibbed
a7d4d6ee70 [Kernel] Use structures in XmpApp. 2020-04-13 12:57:14 -05:00
gibbed
ae7555e9ff [Kernel] Rename UnknownFEApp to XamApp. 2020-04-13 12:57:14 -05:00
gibbed
e03368c37e [XAM] Fix args of XamUser*ProfileSettings(Ex).
- Update arguments of XamUserReadProfileSettings/
  XamUserReadProfileSettingsEx.
- Fix arguments of XamUserWriteProfileSettings.
2020-04-13 12:57:14 -05:00
gibbed
3c8493dea2 [XAM] Clean up user index handling & stub.
- Clean up user index handling in XamUserGetXUID,
  XamUserGetSigninState, XamUserReadProfileSettings,
  XamUserWriteProfileSettings, XamUserCheckPrivilege,
  XamUserContentRestrictionGetFlags, XamUserAreUsersFriends.
  A user index of 0xFF does not mean anything special and is outright
  invalid.
- Move XamUserReadProfileSettings code to new
  xeXamUserReadProfileSettingsEx.
- Implement XamUserReadProfileSettings/XamUserReadProfileSettingsEx
  which now call xeXamUserReadProfileSettingsEx.
- Reorganized xeXamUserReadProfileSettingsEx so that the needed buffer
  size is checked before user index is validated, so that calls to
  determine necessary buffer size return correctly instead of an error
  about invalid user index.
- Stub XamUserIsOnlineEnabled.
2020-04-13 12:57:14 -05:00
gibbed
e99916b352 [Kernel] Clean up XAM registration function declarations. 2020-04-13 12:57:14 -05:00
Gliniak
a87c3785ee Template for 0xFE message: 0x21012
FYI: This message don't have length
2020-04-13 10:39:29 -05:00
Rados??aw Gli??ski
64dbd9936e "Template" for 0xFE message: 0x22005 2020-04-13 10:39:29 -05:00
Sandy Carter
df65de231f filesystem: use std for DeleteFolder
Remove custom platform implementation of `DeleteFolder` and replace two
uses with `std::filesystem::remove_all` which removes a file or
directory with all its contents.
2020-04-09 09:44:48 -05:00
Sandy Carter
69bcf59c79 filesystem: use std for CreateFolder
Remove custom platform implementation of `CreateFolder` and replace uses
with `std::filesystem::create_directories` which creates paths
recursively.
2020-04-09 09:44:48 -05:00
Sandy Carter
c8e64da4eb filesystem: use std for PathExists
Remove custom platform implementation of `PathExists` and replace uses
with `std::filesystem::exists`.
2020-04-09 09:44:48 -05:00
gibbed
c51cba080b Fix some bad string formats. 2020-04-08 13:05:37 -05:00
gibbed
a48bb71c2f Overhaul logging. 2020-04-07 16:09:41 -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
Triang3l
821a9897ef [Kernel/XAM] Even more detailed rationale for XNotifyGetNext param_ptr null check 2020-03-23 10:46:51 +03:00
Triang3l
61bcd467a6 [Kernel/XAM] Rationale for XNotifyGetNext param_ptr null check 2020-03-23 10:38:45 +03:00
Gliniak
4f8cdd9967 [Kernel/XAM] XNotifyGetNext: Check for nullptr for param_ptr 2020-03-22 15:38:31 -05:00
Gliniak
5558c8aafe [XAM/Network] Implemented NetDll___WSAFDIsSet 2020-03-03 17:07:49 -06: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
gibbed
c19a052b96 [XAM] Don't use strncpy for XamUserGetName. 2019-09-12 03:41:02 -05:00
gibbed
2780e7b1a6 Add user_country cvar, rename game_language cvar.
- [Kernel] Rename game_language cvar to user_language.
- [Kernel] Recategorize user_language to XConfig.
- [Kernel] Add user_country cvar, used instead of hardcoded value in XConfig.
- [XAM] Use user_country cvar for xeXamGetLocaleEx instead of
  xeExGetXConfigSetting.
2019-09-04 23:02:55 -05:00
gibbed
d58544b406 [XAM] Fix incomplete locale tables. 2019-09-04 23:02:55 -05:00
gibbed
858923898f [XAM] Implement a number of language/locale related functions.
[XAM] Implement XamGetLocale, XamGetOnlineCountryFromLocale,
  XamGetOnlineCountryString, XamGetCountryString, XamGetLanguageString,
  XamGetLanguageLocaleString, XamGetOnlineLanguageAndCountryString,
  XamGetLocaleString, XamGetLocaleFromOnlineCountry,
  XamGetLanguageFromOnlineLanguage, XamGetOnlineLanguageString,
  XamGetCountryFromOnlineCountry, and XamGetLocaleEx.
2019-09-04 20:03:25 -05:00
emoose
b22d76f0f9 [Kernel] Add XLiveBase 0x58046 stub 2019-08-21 02:00:57 -05:00
gibbed
6ab7720951 [Kernel] Fix stray whitespace in license_mask definition. 2019-08-14 14:15:56 -05:00
illusion98
c021c7741d [Kernel] Add license mask as a config variable 2019-08-14 10:25:24 -05:00
emoose
313e81ec38 [Kernel] Add XN_SYS_UI notifications to XamShow*UI exports 2019-08-04 03:57:06 +01:00