From 09b58a705266e04ab517f7dcb7fa2b22c9594c44 Mon Sep 17 00:00:00 2001 From: emoose Date: Fri, 10 Jan 2020 23:23:49 +0000 Subject: [PATCH] [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. --- src/xenia/kernel/xam/xam_ui.cc | 19 ++----------------- src/xenia/kernel/xam/xam_user.cc | 2 +- 2 files changed, 3 insertions(+), 18 deletions(-) diff --git a/src/xenia/kernel/xam/xam_ui.cc b/src/xenia/kernel/xam/xam_ui.cc index 04a483f1b..69e7d85a5 100644 --- a/src/xenia/kernel/xam/xam_ui.cc +++ b/src/xenia/kernel/xam/xam_ui.cc @@ -394,23 +394,8 @@ dword_result_t XamShowDeviceSelectorUI(dword_t user_index, dword_t content_type, XELOGW("XamShowDeviceSelectorUI Content_type:(%X) device_id_ptr: %.8X overlapped:(%X)", content_type, device_id_ptr, (bool)overlapped); - // NOTE: 0xF00D0000 magic from xam_content.cc - switch (content_type) { - 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; - } + // NOTE: 0x00000001 is our dummy device ID from xam_content.cc + *device_id_ptr = 0x00000001; xe::threading::Sleep(std::chrono::milliseconds(500)); diff --git a/src/xenia/kernel/xam/xam_user.cc b/src/xenia/kernel/xam/xam_user.cc index 4600067c1..6177dd7be 100644 --- a/src/xenia/kernel/xam/xam_user.cc +++ b/src/xenia/kernel/xam/xam_user.cc @@ -885,7 +885,7 @@ dword_result_t XamProfileCreate(dword_t flags, lpdword_t device_id, qword_t xuid, pointer_t account, dword_t r7, dword_t r8, dword_t r9, dword_t r10) { - *device_id = 0xF00D0000; + *device_id = 0x00000001; X_XAMACCOUNTINFO swapped; memcpy(&swapped, account, sizeof(X_XAMACCOUNTINFO));