diff options
| author | untodesu <kirill@untode.su> | 2025-07-01 03:08:39 +0500 |
|---|---|---|
| committer | untodesu <kirill@untode.su> | 2025-07-01 03:08:39 +0500 |
| commit | 458e0005690ea9d579588a0a12368fc2c2c9a93a (patch) | |
| tree | 588a9ca6cb3c76d9193b5bd4601d64f0e50e8c8c /src/game/client/gamepad_axis.cc | |
| parent | c7b0c8e0286a1b2bb7ec55e579137dfc3b22eeb9 (diff) | |
| download | voxelius-458e0005690ea9d579588a0a12368fc2c2c9a93a.tar.bz2 voxelius-458e0005690ea9d579588a0a12368fc2c2c9a93a.zip | |
I hyper-focued on refactoring again
- I put a cool-sounding "we are number one" remix on repeat and straight
up grinded the entire repository to a better state until 03:09 AM. I
guess I have something wrong in my brain that makes me do this shit
Diffstat (limited to 'src/game/client/gamepad_axis.cc')
| -rw-r--r-- | src/game/client/gamepad_axis.cc | 114 |
1 files changed, 0 insertions, 114 deletions
diff --git a/src/game/client/gamepad_axis.cc b/src/game/client/gamepad_axis.cc deleted file mode 100644 index 546c647..0000000 --- a/src/game/client/gamepad_axis.cc +++ /dev/null @@ -1,114 +0,0 @@ -#include "client/pch.hh" - -#include "client/gamepad_axis.hh" - -#include "core/constexpr.hh" - -#include "client/gamepad.hh" - -constexpr static const char* UNKNOWN_AXIS_NAME = "UNKNOWN"; - -static const std::pair<int, const char*> axis_names[] = { - { GLFW_GAMEPAD_AXIS_LEFT_X, "LEFT_X" }, - { GLFW_GAMEPAD_AXIS_LEFT_Y, "LEFT_Y" }, - { GLFW_GAMEPAD_AXIS_RIGHT_X, "RIGHT_X" }, - { GLFW_GAMEPAD_AXIS_RIGHT_Y, "RIGHT_Y" }, - { GLFW_GAMEPAD_AXIS_LEFT_TRIGGER, "LEFT_TRIG" }, - { GLFW_GAMEPAD_AXIS_RIGHT_TRIGGER, "RIGHT_TRIG" }, -}; - -static const char* get_axis_name(int axis) -{ - for(const auto& it : axis_names) { - if(it.first != axis) { - continue; - } - - return it.second; - } - - return UNKNOWN_AXIS_NAME; -} - -ConfigGamepadAxis::ConfigGamepadAxis(void) : ConfigGamepadAxis(INVALID_GAMEPAD_AXIS, false) -{ -} - -ConfigGamepadAxis::ConfigGamepadAxis(int axis, bool inverted) -{ - m_inverted = inverted; - m_gamepad_axis = axis; - m_name = get_axis_name(axis); - m_full_string = std::format("{}:{}", m_name, m_inverted ? 1U : 0U); -} - -const char* ConfigGamepadAxis::get(void) const -{ - return m_full_string.c_str(); -} - -void ConfigGamepadAxis::set(const char* value) -{ - char new_name[64]; - unsigned int new_invert; - - if(2 == std::sscanf(value, "%63[^:]:%u", new_name, &new_invert)) { - for(const auto& it : axis_names) { - if(!std::strcmp(it.second, new_name)) { - m_inverted = new_invert; - m_gamepad_axis = it.first; - m_name = get_axis_name(m_gamepad_axis); - m_full_string = std::format("{}:{}", m_name, m_inverted ? 1U : 0U); - return; - } - } - } - - m_inverted = false; - m_gamepad_axis = INVALID_GAMEPAD_AXIS; - m_name = UNKNOWN_AXIS_NAME; - m_full_string = std::format("{}:{}", m_name, m_inverted ? 1U : 0U); -} - -int ConfigGamepadAxis::get_axis(void) const -{ - return m_gamepad_axis; -} - -void ConfigGamepadAxis::set_axis(int axis) -{ - m_gamepad_axis = axis; - m_name = get_axis_name(axis); - m_full_string = std::format("{}:{}", m_name, m_inverted ? 1U : 0U); -} - -bool ConfigGamepadAxis::is_inverted(void) const -{ - return m_inverted; -} - -void ConfigGamepadAxis::set_inverted(bool inverted) -{ - m_inverted = inverted; - m_full_string = std::format("{}:{}", m_name, m_inverted ? 1U : 0U); -} - -float ConfigGamepadAxis::get_value(const GLFWgamepadstate& state, float deadzone) const -{ - if(m_gamepad_axis <= vx::array_size(state.axes)) { - auto value = state.axes[m_gamepad_axis]; - - if(vx::abs(value) > deadzone) { - return m_inverted ? -value : value; - } - - return 0.0f; - } - - return 0.0f; -} - -const char* ConfigGamepadAxis::get_name(void) const -{ - return m_name; -} |
