diff options
| author | David Marcec <dmarcecguzman@gmail.com> | 2018-10-10 21:38:43 +1100 |
|---|---|---|
| committer | David Marcec <dmarcecguzman@gmail.com> | 2018-10-10 21:38:43 +1100 |
| commit | 3d75c9cd7a75f7ef97e2e14fc2eb15e4bba92934 (patch) | |
| tree | a4fd0d5c6ed5e11fa5eb0229b9dd9ab4e06885de /src/core/hle/service/hid/hid.cpp | |
| parent | 46cdeb4549dbd549f9700967c25c089594f3b4ff (diff) | |
Added GetLedPattern and HandheldVariant
HandheldVariant is for specific games which expect handheld controllers to be at position 8(kirby), however this doesn't fix all games as some games require handhelds to be at position 0(snipperclips)
Diffstat (limited to 'src/core/hle/service/hid/hid.cpp')
| -rw-r--r-- | src/core/hle/service/hid/hid.cpp | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index dfee289d2..4c0d96cc2 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp @@ -421,9 +421,14 @@ private: } void GetPlayerLedPattern(Kernel::HLERequestContext& ctx) { - IPC::ResponseBuilder rb{ctx, 2}; + IPC::RequestParser rp{ctx}; + auto npad_id = rp.PopRaw<u32>(); + IPC::ResponseBuilder rb{ctx, 4}; rb.Push(RESULT_SUCCESS); - LOG_WARNING(Service_HID, "(STUBBED) called"); + rb.PushRaw<u64>(applet_resource->GetController<Controller_NPad>(HidController::NPad) + .GetLedPattern(npad_id) + .raw); + LOG_DEBUG(Service_HID, "called"); } void SetNpadJoyHoldType(Kernel::HLERequestContext& ctx) { @@ -513,6 +518,8 @@ private: } void SetNpadHandheldActivationMode(Kernel::HLERequestContext& ctx) { + IPC::RequestParser rp{ctx}; + auto mode = rp.PopRaw<u32>(); IPC::ResponseBuilder rb{ctx, 2}; rb.Push(RESULT_SUCCESS); LOG_WARNING(Service_HID, "(STUBBED) called"); |
