From b57475887be5879347d5fda425676d0bd2e2a3d3 Mon Sep 17 00:00:00 2001 From: Ameer Date: Tue, 7 Jul 2020 12:20:59 -0400 Subject: Address PR feedback, fix axis button thresholding --- src/input_common/gcadapter/gc_adapter.cpp | 62 +++++++++---------------------- 1 file changed, 18 insertions(+), 44 deletions(-) (limited to 'src/input_common/gcadapter/gc_adapter.cpp') diff --git a/src/input_common/gcadapter/gc_adapter.cpp b/src/input_common/gcadapter/gc_adapter.cpp index b43b73759..f1c280e2e 100644 --- a/src/input_common/gcadapter/gc_adapter.cpp +++ b/src/input_common/gcadapter/gc_adapter.cpp @@ -385,51 +385,25 @@ const std::array& Adapter::GetPadState() const { return state; } -int Adapter::GetOriginValue(int port, int axis) { - // TODO: perhaps place stick statuses into an array in PadStatus - const PadAxes padaxis = static_cast(axis); - if (padaxis == PadAxes::StickX) { - return origin_status[port].stick_x; +int Adapter::GetOriginValue(int port, int axis) const { + const auto& status = origin_status[port]; + + switch (static_cast(axis)) { + case PadAxes::StickX: + return status.stick_x; + case PadAxes::StickY: + return status.stick_y; + case PadAxes::SubstickX: + return status.substick_x; + case PadAxes::SubstickY: + return status.substick_y; + case PadAxes::TriggerLeft: + return status.trigger_left; + case PadAxes::TriggerRight: + return status.trigger_right; + default: + return 0; } - if (padaxis == PadAxes::StickY) { - return origin_status[port].stick_y; - } - if (padaxis == PadAxes::SubstickX) { - return origin_status[port].substick_x; - } - if (padaxis == PadAxes::SubstickY) { - return origin_status[port].substick_x; - } - if (padaxis == PadAxes::TriggerLeft) { - return origin_status[port].trigger_left; - } - if (padaxis == PadAxes::TriggerRight) { - return origin_status[port].trigger_right; - } - return 0; -} - -const int Adapter::GetOriginValue(int port, int axis) const { - const PadAxes padaxis = static_cast(axis); - if (padaxis == PadAxes::StickX) { - return origin_status[port].stick_x; - } - if (padaxis == PadAxes::StickY) { - return origin_status[port].stick_y; - } - if (padaxis == PadAxes::SubstickX) { - return origin_status[port].substick_x; - } - if (padaxis == PadAxes::SubstickY) { - return origin_status[port].substick_x; - } - if (padaxis == PadAxes::TriggerLeft) { - return origin_status[port].trigger_left; - } - if (padaxis == PadAxes::TriggerRight) { - return origin_status[port].trigger_right; - } - return 0; } } // namespace GCAdapter -- cgit v1.2.3