diff options
author | bunnei <bunneidev@gmail.com> | 2020-02-26 03:39:26 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-02-26 03:39:26 +0100 |
commit | 01a05b48b72a76b3a709cc82f8e1a9dd52eef7cd (patch) | |
tree | 07873b2ad4cf4811ce1813fcd12bf06f74409811 | |
parent | Merge pull request #3461 from ReinUsesLisp/r32i-rt (diff) | |
parent | analog_from_button get direction implementation (diff) | |
download | yuzu-01a05b48b72a76b3a709cc82f8e1a9dd52eef7cd.tar yuzu-01a05b48b72a76b3a709cc82f8e1a9dd52eef7cd.tar.gz yuzu-01a05b48b72a76b3a709cc82f8e1a9dd52eef7cd.tar.bz2 yuzu-01a05b48b72a76b3a709cc82f8e1a9dd52eef7cd.tar.lz yuzu-01a05b48b72a76b3a709cc82f8e1a9dd52eef7cd.tar.xz yuzu-01a05b48b72a76b3a709cc82f8e1a9dd52eef7cd.tar.zst yuzu-01a05b48b72a76b3a709cc82f8e1a9dd52eef7cd.zip |
-rw-r--r-- | src/core/hle/service/hid/controllers/npad.cpp | 10 | ||||
-rwxr-xr-x | src/input_common/analog_from_button.cpp | 14 |
2 files changed, 19 insertions, 5 deletions
diff --git a/src/core/hle/service/hid/controllers/npad.cpp b/src/core/hle/service/hid/controllers/npad.cpp index 15c09f04c..c1e32b28c 100644 --- a/src/core/hle/service/hid/controllers/npad.cpp +++ b/src/core/hle/service/hid/controllers/npad.cpp @@ -287,13 +287,13 @@ void Controller_NPad::RequestPadStateUpdate(u32 npad_id) { analog_state[static_cast<std::size_t>(JoystickId::Joystick_Left)]->GetAnalogDirectionStatus( Input::AnalogDirection::DOWN)); - pad_state.r_stick_up.Assign(analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] - ->GetAnalogDirectionStatus(Input::AnalogDirection::RIGHT)); - pad_state.r_stick_left.Assign(analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] - ->GetAnalogDirectionStatus(Input::AnalogDirection::LEFT)); pad_state.r_stick_right.Assign( analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] - ->GetAnalogDirectionStatus(Input::AnalogDirection::UP)); + ->GetAnalogDirectionStatus(Input::AnalogDirection::RIGHT)); + pad_state.r_stick_left.Assign(analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] + ->GetAnalogDirectionStatus(Input::AnalogDirection::LEFT)); + pad_state.r_stick_up.Assign(analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] + ->GetAnalogDirectionStatus(Input::AnalogDirection::UP)); pad_state.r_stick_down.Assign(analog_state[static_cast<std::size_t>(JoystickId::Joystick_Right)] ->GetAnalogDirectionStatus(Input::AnalogDirection::DOWN)); diff --git a/src/input_common/analog_from_button.cpp b/src/input_common/analog_from_button.cpp index e1a260762..6cabdaa3c 100755 --- a/src/input_common/analog_from_button.cpp +++ b/src/input_common/analog_from_button.cpp @@ -34,6 +34,20 @@ public: y * coef * (x == 0 ? 1.0f : SQRT_HALF)); } + bool GetAnalogDirectionStatus(Input::AnalogDirection direction) const override { + switch (direction) { + case Input::AnalogDirection::RIGHT: + return right->GetStatus(); + case Input::AnalogDirection::LEFT: + return left->GetStatus(); + case Input::AnalogDirection::UP: + return up->GetStatus(); + case Input::AnalogDirection::DOWN: + return down->GetStatus(); + } + return false; + } + private: Button up; Button down; |