summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGravatar LC2021-01-28 10:51:04 -0500
committerGravatar GitHub2021-01-28 10:51:04 -0500
commit0e125dfd43113251e1ea1164c47c2f003bd61a8c (patch)
tree0ed3f37dbb26d38a93cdd652a175b1bff4667fce /src
parentMerge pull request #5786 from ReinUsesLisp/glsl-cbuf (diff)
parenthid: Add static_assert for Parameter size (diff)
downloadyuzu-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.cpp7
-rw-r--r--src/core/hle/service/hid/controllers/npad.h6
-rw-r--r--src/core/hle/service/hid/hid.cpp41
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
949void Controller_NPad::SetSixAxisFusionParameters(const DeviceHandle& handle, f32 parameter1, 949void 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
955std::pair<f32, f32> Controller_NPad::GetSixAxisFusionParameters(const DeviceHandle& handle) { 954std::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
962void Controller_NPad::ResetSixAxisFusionParameters(const DeviceHandle& handle) { 961void 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);