diff options
| author | 2021-01-28 10:51:04 -0500 | |
|---|---|---|
| committer | 2021-01-28 10:51:04 -0500 | |
| commit | 0e125dfd43113251e1ea1164c47c2f003bd61a8c (patch) | |
| tree | 0ed3f37dbb26d38a93cdd652a175b1bff4667fce /src | |
| parent | Merge pull request #5786 from ReinUsesLisp/glsl-cbuf (diff) | |
| parent | hid: Add static_assert for Parameter size (diff) | |
| download | yuzu-0e125dfd43113251e1ea1164c47c2f003bd61a8c.tar.gz yuzu-0e125dfd43113251e1ea1164c47c2f003bd61a8c.tar.xz yuzu-0e125dfd43113251e1ea1164c47c2f003bd61a8c.zip | |
Merge pull request #5835 from Morph1984/cleanup-sixaxis-fusion
hid: Cleanup SixAxisFusionParameters
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.cpp | 7 | ||||
| -rw-r--r-- | src/core/hle/service/hid/controllers/npad.h | 6 | ||||
| -rw-r--r-- | src/core/hle/service/hid/hid.cpp | 41 |
3 files changed, 28 insertions, 26 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 265c986e2..0c227b135 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp | |||
| @@ -946,20 +946,19 @@ void Controller_NPad::SetSixAxisEnabled(bool six_axis_status) { | |||
| 946 | sixaxis_sensors_enabled = six_axis_status; | 946 | sixaxis_sensors_enabled = six_axis_status; |
| 947 | } | 947 | } |
| 948 | 948 | ||
| 949 | void Controller_NPad::SetSixAxisFusionParameters(const DeviceHandle& handle, f32 parameter1, | 949 | void Controller_NPad::SetSixAxisFusionParameters(f32 parameter1, f32 parameter2) { |
| 950 | f32 parameter2) { | ||
| 951 | sixaxis_fusion_parameter1 = parameter1; | 950 | sixaxis_fusion_parameter1 = parameter1; |
| 952 | sixaxis_fusion_parameter2 = parameter2; | 951 | sixaxis_fusion_parameter2 = parameter2; |
| 953 | } | 952 | } |
| 954 | 953 | ||
| 955 | std::pair<f32, f32> Controller_NPad::GetSixAxisFusionParameters(const DeviceHandle& handle) { | 954 | std::pair<f32, f32> Controller_NPad::GetSixAxisFusionParameters() { |
| 956 | return { | 955 | return { |
| 957 | sixaxis_fusion_parameter1, | 956 | sixaxis_fusion_parameter1, |
| 958 | sixaxis_fusion_parameter2, | 957 | sixaxis_fusion_parameter2, |
| 959 | }; | 958 | }; |
| 960 | } | 959 | } |
| 961 | 960 | ||
| 962 | void Controller_NPad::ResetSixAxisFusionParameters(const DeviceHandle& handle) { | 961 | void Controller_NPad::ResetSixAxisFusionParameters() { |
| 963 | sixaxis_fusion_parameter1 = 0.0f; | 962 | sixaxis_fusion_parameter1 = 0.0f; |
| 964 | sixaxis_fusion_parameter2 = 0.0f; | 963 | sixaxis_fusion_parameter2 = 0.0f; |
| 965 | } | 964 | } |
diff --git a/src/core/hle/service/hid/controllers/npad.h b/src/core/hle/service/hid/controllers/npad.h index bfd06372a..2e13922b9 100644 --- a/src/core/hle/service/hid/controllers/npad.h +++ b/src/core/hle/service/hid/controllers/npad.h | |||
| @@ -202,9 +202,9 @@ public: | |||
| 202 | GyroscopeZeroDriftMode GetGyroscopeZeroDriftMode() const; | 202 | GyroscopeZeroDriftMode GetGyroscopeZeroDriftMode() const; |
| 203 | bool IsSixAxisSensorAtRest() const; | 203 | bool IsSixAxisSensorAtRest() const; |
| 204 | void SetSixAxisEnabled(bool six_axis_status); | 204 | void SetSixAxisEnabled(bool six_axis_status); |
| 205 | void SetSixAxisFusionParameters(const DeviceHandle& handle, f32 parameter1, f32 parameter2); | 205 | void SetSixAxisFusionParameters(f32 parameter1, f32 parameter2); |
| 206 | std::pair<f32, f32> GetSixAxisFusionParameters(const DeviceHandle& handle); | 206 | std::pair<f32, f32> GetSixAxisFusionParameters(); |
| 207 | void ResetSixAxisFusionParameters(const DeviceHandle& handle); | 207 | void ResetSixAxisFusionParameters(); |
| 208 | LedPattern GetLedPattern(u32 npad_id); | 208 | LedPattern GetLedPattern(u32 npad_id); |
| 209 | bool IsUnintendedHomeButtonInputProtectionEnabled(u32 npad_id) const; | 209 | bool IsUnintendedHomeButtonInputProtectionEnabled(u32 npad_id) const; |
| 210 | void SetUnintendedHomeButtonInputProtectionEnabled(bool is_protection_enabled, u32 npad_id); | 210 | void SetUnintendedHomeButtonInputProtectionEnabled(bool is_protection_enabled, u32 npad_id); |
diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp index 7fd3161e8..5efc1237e 100644 --- a/src/core/hle/service/hid/hid.cpp +++ b/src/core/hle/service/hid/hid.cpp | |||
| @@ -520,6 +520,7 @@ void Hid::EnableSixAxisSensorFusion(Kernel::HLERequestContext& ctx) { | |||
| 520 | Controller_NPad::DeviceHandle sixaxis_handle; | 520 | Controller_NPad::DeviceHandle sixaxis_handle; |
| 521 | u64 applet_resource_user_id; | 521 | u64 applet_resource_user_id; |
| 522 | }; | 522 | }; |
| 523 | static_assert(sizeof(Parameters) == 0x10, "Parameters has incorrect size."); | ||
| 523 | 524 | ||
| 524 | const auto parameters{rp.PopRaw<Parameters>()}; | 525 | const auto parameters{rp.PopRaw<Parameters>()}; |
| 525 | 526 | ||
| @@ -542,19 +543,19 @@ void Hid::SetSixAxisSensorFusionParameters(Kernel::HLERequestContext& ctx) { | |||
| 542 | f32 parameter2; | 543 | f32 parameter2; |
| 543 | u64 applet_resource_user_id; | 544 | u64 applet_resource_user_id; |
| 544 | }; | 545 | }; |
| 546 | static_assert(sizeof(Parameters) == 0x18, "Parameters has incorrect size."); | ||
| 545 | 547 | ||
| 546 | const auto parameters{rp.PopRaw<Parameters>()}; | 548 | const auto parameters{rp.PopRaw<Parameters>()}; |
| 547 | 549 | ||
| 548 | applet_resource->GetController<Controller_NPad>(HidController::NPad) | 550 | applet_resource->GetController<Controller_NPad>(HidController::NPad) |
| 549 | .SetSixAxisFusionParameters(parameters.sixaxis_handle, parameters.parameter1, | 551 | .SetSixAxisFusionParameters(parameters.parameter1, parameters.parameter2); |
| 550 | parameters.parameter2); | ||
| 551 | 552 | ||
| 552 | LOG_WARNING(Service_HID, | 553 | LOG_WARNING(Service_HID, |
| 553 | "(STUBBED) called, float1={}, float2={}, npad_type={}, npad_id={}, " | 554 | "(STUBBED) called, npad_type={}, npad_id={}, device_index={}, parameter1={}, " |
| 554 | "device_index={}, applet_resource_user_id={}", | 555 | "parameter2={}, applet_resource_user_id={}", |
| 555 | parameters.parameter1, parameters.parameter2, parameters.sixaxis_handle.npad_type, | 556 | parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id, |
| 556 | parameters.sixaxis_handle.npad_id, parameters.sixaxis_handle.device_index, | 557 | parameters.sixaxis_handle.device_index, parameters.parameter1, |
| 557 | parameters.applet_resource_user_id); | 558 | parameters.parameter2, parameters.applet_resource_user_id); |
| 558 | 559 | ||
| 559 | IPC::ResponseBuilder rb{ctx, 2}; | 560 | IPC::ResponseBuilder rb{ctx, 2}; |
| 560 | rb.Push(RESULT_SUCCESS); | 561 | rb.Push(RESULT_SUCCESS); |
| @@ -566,6 +567,7 @@ void Hid::GetSixAxisSensorFusionParameters(Kernel::HLERequestContext& ctx) { | |||
| 566 | Controller_NPad::DeviceHandle sixaxis_handle; | 567 | Controller_NPad::DeviceHandle sixaxis_handle; |
| 567 | u64 applet_resource_user_id; | 568 | u64 applet_resource_user_id; |
| 568 | }; | 569 | }; |
| 570 | static_assert(sizeof(Parameters) == 0x10, "Parameters has incorrect size."); | ||
| 569 | 571 | ||
| 570 | f32 parameter1 = 0; | 572 | f32 parameter1 = 0; |
| 571 | f32 parameter2 = 0; | 573 | f32 parameter2 = 0; |
| @@ -573,13 +575,13 @@ void Hid::GetSixAxisSensorFusionParameters(Kernel::HLERequestContext& ctx) { | |||
| 573 | 575 | ||
| 574 | std::tie(parameter1, parameter2) = | 576 | std::tie(parameter1, parameter2) = |
| 575 | applet_resource->GetController<Controller_NPad>(HidController::NPad) | 577 | applet_resource->GetController<Controller_NPad>(HidController::NPad) |
| 576 | .GetSixAxisFusionParameters(parameters.sixaxis_handle); | 578 | .GetSixAxisFusionParameters(); |
| 577 | 579 | ||
| 578 | LOG_WARNING(Service_HID, | 580 | LOG_WARNING( |
| 579 | "(STUBBED) called, npad_type={}, npad_id={}, " | 581 | Service_HID, |
| 580 | "device_index={}, applet_resource_user_id={}", | 582 | "(STUBBED) called, npad_type={}, npad_id={}, device_index={}, applet_resource_user_id={}", |
| 581 | parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id, | 583 | parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id, |
| 582 | parameters.sixaxis_handle.device_index, parameters.applet_resource_user_id); | 584 | parameters.sixaxis_handle.device_index, parameters.applet_resource_user_id); |
| 583 | 585 | ||
| 584 | IPC::ResponseBuilder rb{ctx, 4}; | 586 | IPC::ResponseBuilder rb{ctx, 4}; |
| 585 | rb.Push(RESULT_SUCCESS); | 587 | rb.Push(RESULT_SUCCESS); |
| @@ -593,17 +595,18 @@ void Hid::ResetSixAxisSensorFusionParameters(Kernel::HLERequestContext& ctx) { | |||
| 593 | Controller_NPad::DeviceHandle sixaxis_handle; | 595 | Controller_NPad::DeviceHandle sixaxis_handle; |
| 594 | u64 applet_resource_user_id; | 596 | u64 applet_resource_user_id; |
| 595 | }; | 597 | }; |
| 598 | static_assert(sizeof(Parameters) == 0x10, "Parameters has incorrect size."); | ||
| 596 | 599 | ||
| 597 | const auto parameters{rp.PopRaw<Parameters>()}; | 600 | const auto parameters{rp.PopRaw<Parameters>()}; |
| 598 | 601 | ||
| 599 | applet_resource->GetController<Controller_NPad>(HidController::NPad) | 602 | applet_resource->GetController<Controller_NPad>(HidController::NPad) |
| 600 | .ResetSixAxisFusionParameters(parameters.sixaxis_handle); | 603 | .ResetSixAxisFusionParameters(); |
| 601 | 604 | ||
| 602 | LOG_WARNING(Service_HID, | 605 | LOG_WARNING( |
| 603 | "(STUBBED) called, npad_type={}, npad_id={}, " | 606 | Service_HID, |
| 604 | "device_index={}, applet_resource_user_id={}", | 607 | "(STUBBED) called, npad_type={}, npad_id={}, device_index={}, applet_resource_user_id={}", |
| 605 | parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id, | 608 | parameters.sixaxis_handle.npad_type, parameters.sixaxis_handle.npad_id, |
| 606 | parameters.sixaxis_handle.device_index, parameters.applet_resource_user_id); | 609 | parameters.sixaxis_handle.device_index, parameters.applet_resource_user_id); |
| 607 | 610 | ||
| 608 | IPC::ResponseBuilder rb{ctx, 2}; | 611 | IPC::ResponseBuilder rb{ctx, 2}; |
| 609 | rb.Push(RESULT_SUCCESS); | 612 | rb.Push(RESULT_SUCCESS); |