diff options
author | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-11-30 00:26:52 +0100 |
---|---|---|
committer | Morph <39850852+Morph1984@users.noreply.github.com> | 2021-11-30 01:21:51 +0100 |
commit | 5deecd714b78233a4cec207b67d2a32c2defbf0a (patch) | |
tree | 53855035915fa79f9dd61e8d018f36d8cf5817d7 /src/core/hid | |
parent | npad: Return NpadButton in GetAndResetPressState (diff) | |
download | yuzu-5deecd714b78233a4cec207b67d2a32c2defbf0a.tar yuzu-5deecd714b78233a4cec207b67d2a32c2defbf0a.tar.gz yuzu-5deecd714b78233a4cec207b67d2a32c2defbf0a.tar.bz2 yuzu-5deecd714b78233a4cec207b67d2a32c2defbf0a.tar.lz yuzu-5deecd714b78233a4cec207b67d2a32c2defbf0a.tar.xz yuzu-5deecd714b78233a4cec207b67d2a32c2defbf0a.tar.zst yuzu-5deecd714b78233a4cec207b67d2a32c2defbf0a.zip |
Diffstat (limited to 'src/core/hid')
-rw-r--r-- | src/core/hid/input_interpreter.cpp | 16 | ||||
-rw-r--r-- | src/core/hid/input_interpreter.h | 2 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/core/hid/input_interpreter.cpp b/src/core/hid/input_interpreter.cpp index 870422d82..2dbda8814 100644 --- a/src/core/hid/input_interpreter.cpp +++ b/src/core/hid/input_interpreter.cpp @@ -20,7 +20,7 @@ InputInterpreter::InputInterpreter(Core::System& system) InputInterpreter::~InputInterpreter() = default; void InputInterpreter::PollInput() { - const u64 button_state = npad.GetAndResetPressState(); + const auto button_state = npad.GetAndResetPressState(); previous_index = current_index; current_index = (current_index + 1) % button_states.size(); @@ -32,30 +32,30 @@ void InputInterpreter::ResetButtonStates() { previous_index = 0; current_index = 0; - button_states[0] = 0xFFFFFFFFFFFFFFFF; + button_states[0] = Core::HID::NpadButton::All; for (std::size_t i = 1; i < button_states.size(); ++i) { - button_states[i] = 0; + button_states[i] = Core::HID::NpadButton::None; } } bool InputInterpreter::IsButtonPressed(Core::HID::NpadButton button) const { - return (button_states[current_index] & static_cast<u64>(button)) != 0; + return True(button_states[current_index] & button); } bool InputInterpreter::IsButtonPressedOnce(Core::HID::NpadButton button) const { - const bool current_press = (button_states[current_index] & static_cast<u64>(button)) != 0; - const bool previous_press = (button_states[previous_index] & static_cast<u64>(button)) != 0; + const bool current_press = True(button_states[current_index] & button); + const bool previous_press = True(button_states[previous_index] & button); return current_press && !previous_press; } bool InputInterpreter::IsButtonHeld(Core::HID::NpadButton button) const { - u64 held_buttons{button_states[0]}; + Core::HID::NpadButton held_buttons{button_states[0]}; for (std::size_t i = 1; i < button_states.size(); ++i) { held_buttons &= button_states[i]; } - return (held_buttons & static_cast<u64>(button)) != 0; + return True(held_buttons & button); } diff --git a/src/core/hid/input_interpreter.h b/src/core/hid/input_interpreter.h index 1c2e02142..70c34d474 100644 --- a/src/core/hid/input_interpreter.h +++ b/src/core/hid/input_interpreter.h @@ -105,7 +105,7 @@ private: Service::HID::Controller_NPad& npad; /// Stores 9 consecutive button states polled from HID. - std::array<u64, 9> button_states{}; + std::array<Core::HID::NpadButton, 9> button_states{}; std::size_t previous_index{}; std::size_t current_index{}; |