From ad323dd9d8f0d5166fb9b5b8f70531e20e2cc286 Mon Sep 17 00:00:00 2001 From: Gliniak Date: Sun, 5 Jan 2025 10:09:32 +0100 Subject: [PATCH] [HID] Fixed lack of controller input introduced in previous commit --- src/xenia/kernel/xam/xam_input.cc | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/src/xenia/kernel/xam/xam_input.cc b/src/xenia/kernel/xam/xam_input.cc index 4a81ff7d1..b07540da3 100644 --- a/src/xenia/kernel/xam/xam_input.cc +++ b/src/xenia/kernel/xam/xam_input.cc @@ -118,7 +118,9 @@ dword_result_t XamInputGetState_entry(dword_t user_index, dword_t flags, auto input_system = kernel_state()->emulator()->input_system(); auto lock = input_system->lock(); - return input_system->GetState(user_index, flags, input_state); + return input_system->GetState( + user_index, !flags ? X_INPUT_FLAG::X_INPUT_FLAG_GAMEPAD : flags, + input_state); } DECLARE_XAM_EXPORT2(XamInputGetState, kInput, kImplemented, kHighFrequency); @@ -205,9 +207,10 @@ dword_result_t XamInputGetKeystrokeEx_entry( } DECLARE_XAM_EXPORT1(XamInputGetKeystrokeEx, kInput, kImplemented); -X_HRESULT_result_t XamUserGetDeviceContext_entry(dword_t user_index, - dword_t unk, - lpdword_t out_ptr) { +X_HRESULT_result_t XamUserGetDeviceContext_entry( + dword_t user_index, + dword_t unk, // It's set to 3 for a big button + lpdword_t out_ptr) { // Games check the result - usually with some masking. // If this function fails they assume zero, so let's fail AND // set zero just to be safe.