[XAM] Simplify XamShowDeviceSelectorUI, update an old device ID

Storing the content type inside the device ID from DeviceSelectorUI shouldn't be needed now.
AFAIK it was only used so that we could extract it later inside XamContentGetDeviceData, but that wasn't actually how GetDeviceData was meant to work.
This commit is contained in:
emoose 2020-01-10 23:23:49 +00:00 committed by illusion
parent eca7c7efc7
commit 2cb5ee9b24
2 changed files with 3 additions and 18 deletions

View File

@ -409,23 +409,8 @@ dword_result_t XamShowDeviceSelectorUI(dword_t user_index, dword_t content_type,
XELOGW("XamShowDeviceSelectorUI Content_type:(%X) device_id_ptr: %.8X overlapped:(%X)", XELOGW("XamShowDeviceSelectorUI Content_type:(%X) device_id_ptr: %.8X overlapped:(%X)",
content_type, device_id_ptr, (bool)overlapped); content_type, device_id_ptr, (bool)overlapped);
// NOTE: 0xF00D0000 magic from xam_content.cc // NOTE: 0x00000001 is our dummy device ID from xam_content.cc
switch (content_type) { *device_id_ptr = 0x00000001;
case 1: // save game
*device_id_ptr = 0x00000001 | 0x0001;
break;
case 2: // marketplace
*device_id_ptr = 0x00000001 | 0x0002;
break;
case 3: // title/publisher update?
*device_id_ptr = 0x00000001 | 0x0003;
break;
default:
XELOGW("XamShowDeviceSelectorUI Unhandled Content_type:(%X)", content_type);
assert_unhandled_case(content_type);
*device_id_ptr = 0x00000001 | 0x0001;
break;
}
xe::threading::Sleep(std::chrono::milliseconds(500)); xe::threading::Sleep(std::chrono::milliseconds(500));

View File

@ -885,7 +885,7 @@ dword_result_t XamProfileCreate(dword_t flags, lpdword_t device_id,
qword_t xuid, qword_t xuid,
pointer_t<X_XAMACCOUNTINFO> account, dword_t r7, pointer_t<X_XAMACCOUNTINFO> account, dword_t r7,
dword_t r8, dword_t r9, dword_t r10) { dword_t r8, dword_t r9, dword_t r10) {
*device_id = 0xF00D0000; *device_id = 0x00000001;
X_XAMACCOUNTINFO swapped; X_XAMACCOUNTINFO swapped;
memcpy(&swapped, account, sizeof(X_XAMACCOUNTINFO)); memcpy(&swapped, account, sizeof(X_XAMACCOUNTINFO));