From 0bdfa19650ef3b52ccfa5dee3eed5d42efb206b9 Mon Sep 17 00:00:00 2001 From: Jordan Woyak Date: Thu, 17 Jan 2019 10:13:32 -0600 Subject: [PATCH] ControllerInterface: SDL: Replace unclear bool parameter with enum class. --- .../ControllerInterface/SDL/SDL.cpp | 18 ++++++++---------- .../InputCommon/ControllerInterface/SDL/SDL.h | 10 ++++++++-- .../ControllerInterface/evdev/evdev.cpp | 8 ++++---- .../ControllerInterface/evdev/evdev.h | 4 ++-- 4 files changed, 22 insertions(+), 18 deletions(-) diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp index dde7533169..a26deee6e8 100644 --- a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp +++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.cpp @@ -248,10 +248,8 @@ Joystick::Joystick(SDL_Joystick* const joystick, const int sdl_index) // LeftRight if (supported_effects & SDL_HAPTIC_LEFTRIGHT) { - // Strong motor: - AddOutput(new LeftRightEffect(m_haptic, true)); - // Weak motor: - AddOutput(new LeftRightEffect(m_haptic, false)); + AddOutput(new LeftRightEffect(m_haptic, LeftRightEffect::Motor::Strong)); + AddOutput(new LeftRightEffect(m_haptic, LeftRightEffect::Motor::Weak)); } #endif } @@ -344,8 +342,8 @@ Joystick::PeriodicEffect::PeriodicEffect(SDL_Haptic* haptic, u16 waveform) m_effect.periodic.phase = 0; } -Joystick::LeftRightEffect::LeftRightEffect(SDL_Haptic* haptic, bool use_strong_motor) - : HapticEffect(haptic), m_use_strong_motor(use_strong_motor) +Joystick::LeftRightEffect::LeftRightEffect(SDL_Haptic* haptic, Motor motor) + : HapticEffect(haptic), m_motor(motor) { m_effect.leftright = {}; m_effect.leftright.length = RUMBLE_LENGTH_MS; @@ -380,7 +378,7 @@ std::string Joystick::PeriodicEffect::GetName() const std::string Joystick::LeftRightEffect::GetName() const { - return m_use_strong_motor ? "Strong" : "Weak"; + return (Motor::Strong == m_motor) ? "Strong" : "Weak"; } void Joystick::HapticEffect::SetState(ControlState state) @@ -432,8 +430,8 @@ bool Joystick::PeriodicEffect::UpdateParameters(s16 value) bool Joystick::LeftRightEffect::UpdateParameters(s16 value) { - u16& level = - m_use_strong_motor ? m_effect.leftright.large_magnitude : m_effect.leftright.small_magnitude; + u16& level = (Motor::Strong == m_motor) ? m_effect.leftright.large_magnitude : + m_effect.leftright.small_magnitude; const u16 old_level = level; level = value; @@ -486,7 +484,7 @@ ControlState Joystick::Button::GetState() const ControlState Joystick::Axis::GetState() const { - return std::max(0.0, ControlState(SDL_JoystickGetAxis(m_js, m_index)) / m_range); + return ControlState(SDL_JoystickGetAxis(m_js, m_index)) / m_range; } ControlState Joystick::Hat::GetState() const diff --git a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.h b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.h index e0c88fbc02..890a064d8b 100644 --- a/Source/Core/InputCommon/ControllerInterface/SDL/SDL.h +++ b/Source/Core/InputCommon/ControllerInterface/SDL/SDL.h @@ -124,13 +124,19 @@ private: class LeftRightEffect : public HapticEffect { public: - LeftRightEffect(SDL_Haptic* haptic, bool use_strong_motor); + enum class Motor : u8 + { + Weak, + Strong, + }; + + LeftRightEffect(SDL_Haptic* haptic, Motor motor); std::string GetName() const override; private: bool UpdateParameters(s16 value) override; - const bool m_use_strong_motor; + const Motor m_motor; }; #endif diff --git a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp index d1fa694fae..758988a052 100644 --- a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp +++ b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.cpp @@ -251,8 +251,8 @@ evdevDevice::evdevDevice(const std::string& devnode) : m_devfile(devnode) // Rumble (i.e. Left/Right) (i.e. Strong/Weak) effect if (libevdev_has_event_code(m_dev, EV_FF, FF_RUMBLE)) { - AddOutput(new RumbleEffect(m_fd, RumbleEffect::Motor::STRONG)); - AddOutput(new RumbleEffect(m_fd, RumbleEffect::Motor::WEAK)); + AddOutput(new RumbleEffect(m_fd, RumbleEffect::Motor::Strong)); + AddOutput(new RumbleEffect(m_fd, RumbleEffect::Motor::Weak)); } // TODO: Add leds as output devices @@ -383,7 +383,7 @@ std::string evdevDevice::PeriodicEffect::GetName() const std::string evdevDevice::RumbleEffect::GetName() const { - return (Motor::STRONG == m_motor) ? "Strong" : "Weak"; + return (Motor::Strong == m_motor) ? "Strong" : "Weak"; } void evdevDevice::Effect::SetState(ControlState state) @@ -477,7 +477,7 @@ bool evdevDevice::PeriodicEffect::UpdateParameters(ControlState state) bool evdevDevice::RumbleEffect::UpdateParameters(ControlState state) { - u16& value = (Motor::STRONG == m_motor) ? m_effect.u.rumble.strong_magnitude : + u16& value = (Motor::Strong == m_motor) ? m_effect.u.rumble.strong_magnitude : m_effect.u.rumble.weak_magnitude; const u16 old_value = value; diff --git a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.h b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.h index 5196084d24..4b6d0bc0b2 100644 --- a/Source/Core/InputCommon/ControllerInterface/evdev/evdev.h +++ b/Source/Core/InputCommon/ControllerInterface/evdev/evdev.h @@ -90,8 +90,8 @@ private: public: enum class Motor : u8 { - WEAK, - STRONG, + Weak, + Strong, }; RumbleEffect(int fd, Motor motor);