diff options
| author | untodesu <kirill@untode.su> | 2025-12-26 14:50:33 +0500 |
|---|---|---|
| committer | untodesu <kirill@untode.su> | 2025-12-26 14:50:33 +0500 |
| commit | 6c2abde5c99a236453b795abaa6d7d70105e31f7 (patch) | |
| tree | f085049b9615a7d03cca5de40adb6529d6c13e11 /src/game/client/io | |
| parent | f40d09cb8f712e87691af4912f3630d92d692779 (diff) | |
| download | voxelius-6c2abde5c99a236453b795abaa6d7d70105e31f7.tar.bz2 voxelius-6c2abde5c99a236453b795abaa6d7d70105e31f7.zip | |
Just a big Ctrl+H refactoring
Diffstat (limited to 'src/game/client/io')
| -rw-r--r-- | src/game/client/io/gamepad.cc | 70 | ||||
| -rw-r--r-- | src/game/client/io/gamepad.hh | 14 | ||||
| -rw-r--r-- | src/game/client/io/glfw.hh | 3 |
3 files changed, 39 insertions, 48 deletions
diff --git a/src/game/client/io/gamepad.cc b/src/game/client/io/gamepad.cc index 3661769..2c99107 100644 --- a/src/game/client/io/gamepad.cc +++ b/src/game/client/io/gamepad.cc @@ -21,16 +21,16 @@ constexpr static float GAMEPAD_AXIS_EVENT_THRESHOLD = 0.5f; static int active_gamepad_id; -bool io::gamepad::available = false; -config::Float io::gamepad::deadzone(0.00f, 0.00f, 0.66f); -config::Boolean io::gamepad::active(false); -GLFWgamepadstate io::gamepad::state; -GLFWgamepadstate io::gamepad::last_state; +bool gamepad::available = false; +config::Float gamepad::deadzone(0.00f, 0.00f, 0.66f); +config::Boolean gamepad::active(false); +GLFWgamepadstate gamepad::state; +GLFWgamepadstate gamepad::last_state; static void on_toggle_enable(const ToggleEnabledEvent& event) { if(event.type == TOGGLE_USE_GAMEPAD) { - io::gamepad::active.set_value(true); + gamepad::active.set_value(true); return; } } @@ -38,23 +38,23 @@ static void on_toggle_enable(const ToggleEnabledEvent& event) static void on_toggle_disable(const ToggleDisabledEvent& event) { if(event.type == TOGGLE_USE_GAMEPAD) { - io::gamepad::active.set_value(false); + gamepad::active.set_value(false); return; } } -static void on_glfw_joystick_event(const io::GlfwJoystickEvent& event) +static void on_glfw_joystick_event(const GlfwJoystickEvent& event) { if((event.event_type == GLFW_CONNECTED) && glfwJoystickIsGamepad(event.joystick_id) && (active_gamepad_id == INVALID_GAMEPAD_ID)) { - io::gamepad::available = true; + gamepad::available = true; active_gamepad_id = event.joystick_id; - for(int i = 0; i < NUM_AXES; io::gamepad::last_state.axes[i++] = 0.0f) { + for(int i = 0; i < NUM_AXES; gamepad::last_state.axes[i++] = 0.0f) { // empty } - for(int i = 0; i < NUM_BUTTONS; io::gamepad::last_state.buttons[i++] = GLFW_RELEASE) { + for(int i = 0; i < NUM_BUTTONS; gamepad::last_state.buttons[i++] = GLFW_RELEASE) { // empty } @@ -64,15 +64,15 @@ static void on_glfw_joystick_event(const io::GlfwJoystickEvent& event) } if((event.event_type == GLFW_DISCONNECTED) && (active_gamepad_id == event.joystick_id)) { - io::gamepad::available = false; + gamepad::available = false; active_gamepad_id = INVALID_GAMEPAD_ID; - for(int i = 0; i < NUM_AXES; io::gamepad::last_state.axes[i++] = 0.0f) { + for(int i = 0; i < NUM_AXES; gamepad::last_state.axes[i++] = 0.0f) { // empty } - for(int i = 0; i < NUM_BUTTONS; io::gamepad::last_state.buttons[i++] = GLFW_RELEASE) { + for(int i = 0; i < NUM_BUTTONS; gamepad::last_state.buttons[i++] = GLFW_RELEASE) { // empty } @@ -82,19 +82,19 @@ static void on_glfw_joystick_event(const io::GlfwJoystickEvent& event) } } -void io::gamepad::init(void) +void gamepad::init(void) { - io::gamepad::available = false; + gamepad::available = false; active_gamepad_id = INVALID_GAMEPAD_ID; - globals::client_config.add_value("gamepad.deadzone", io::gamepad::deadzone); - globals::client_config.add_value("gamepad.active", io::gamepad::active); + globals::client_config.add_value("gamepad.deadzone", gamepad::deadzone); + globals::client_config.add_value("gamepad.active", gamepad::active); - settings::add_checkbox(0, io::gamepad::active, settings_location::GAMEPAD, "gamepad.active", true); - settings::add_slider(1, io::gamepad::deadzone, settings_location::GAMEPAD, "gamepad.deadzone", true, "%.03f"); + settings::add_checkbox(0, gamepad::active, settings_location::GAMEPAD, "gamepad.active", true); + settings::add_slider(1, gamepad::deadzone, settings_location::GAMEPAD, "gamepad.deadzone", true, "%.03f"); - auto mappings_path = io::cmdline::get_cstr("gpmap", "misc/gamecontrollerdb.txt"); + auto mappings_path = cmdline::get_cstr("gpmap", "misc/gamecontrollerdb.txt"); auto mappings_file = PHYSFS_openRead(mappings_path); if(mappings_file) { @@ -107,15 +107,15 @@ void io::gamepad::init(void) for(int joystick = 0; joystick <= GLFW_JOYSTICK_LAST; joystick += 1) { if(glfwJoystickIsGamepad(joystick)) { - io::gamepad::available = true; + gamepad::available = true; active_gamepad_id = joystick; - for(int i = 0; i < NUM_AXES; io::gamepad::last_state.axes[i++] = 0.0f) { + for(int i = 0; i < NUM_AXES; gamepad::last_state.axes[i++] = 0.0f) { // empty } - for(int i = 0; i < NUM_BUTTONS; io::gamepad::last_state.buttons[i++] = GLFW_RELEASE) { + for(int i = 0; i < NUM_BUTTONS; gamepad::last_state.buttons[i++] = GLFW_RELEASE) { // empty } @@ -125,11 +125,11 @@ void io::gamepad::init(void) } } - for(int i = 0; i < NUM_AXES; io::gamepad::state.axes[i++] = 0.0f) { + for(int i = 0; i < NUM_AXES; gamepad::state.axes[i++] = 0.0f) { // empty } - for(int i = 0; i < NUM_BUTTONS; io::gamepad::state.buttons[i++] = GLFW_RELEASE) { + for(int i = 0; i < NUM_BUTTONS; gamepad::state.buttons[i++] = GLFW_RELEASE) { // empty } @@ -138,17 +138,17 @@ void io::gamepad::init(void) globals::dispatcher.sink<GlfwJoystickEvent>().connect<&on_glfw_joystick_event>(); } -void io::gamepad::update_late(void) +void gamepad::update_late(void) { if(active_gamepad_id == INVALID_GAMEPAD_ID) { // No active gamepad found return; } - if(glfwGetGamepadState(active_gamepad_id, &io::gamepad::state)) { + if(glfwGetGamepadState(active_gamepad_id, &gamepad::state)) { for(int i = 0; i < NUM_AXES; ++i) { - if((glm::abs(io::gamepad::state.axes[i]) > GAMEPAD_AXIS_EVENT_THRESHOLD) - && (glm::abs(io::gamepad::last_state.axes[i]) <= GAMEPAD_AXIS_EVENT_THRESHOLD)) { + if((glm::abs(gamepad::state.axes[i]) > GAMEPAD_AXIS_EVENT_THRESHOLD) + && (glm::abs(gamepad::last_state.axes[i]) <= GAMEPAD_AXIS_EVENT_THRESHOLD)) { GamepadAxisEvent event; event.action = GLFW_PRESS; event.axis = i; @@ -156,8 +156,8 @@ void io::gamepad::update_late(void) continue; } - if((glm::abs(io::gamepad::state.axes[i]) <= GAMEPAD_AXIS_EVENT_THRESHOLD) - && (glm::abs(io::gamepad::last_state.axes[i]) > GAMEPAD_AXIS_EVENT_THRESHOLD)) { + if((glm::abs(gamepad::state.axes[i]) <= GAMEPAD_AXIS_EVENT_THRESHOLD) + && (glm::abs(gamepad::last_state.axes[i]) > GAMEPAD_AXIS_EVENT_THRESHOLD)) { GamepadAxisEvent event; event.action = GLFW_RELEASE; event.axis = i; @@ -167,17 +167,17 @@ void io::gamepad::update_late(void) } for(int i = 0; i < NUM_BUTTONS; ++i) { - if(io::gamepad::state.buttons[i] == io::gamepad::last_state.buttons[i]) { + if(gamepad::state.buttons[i] == gamepad::last_state.buttons[i]) { // Nothing happens continue; } GamepadButtonEvent event; - event.action = io::gamepad::state.buttons[i]; + event.action = gamepad::state.buttons[i]; event.button = i; globals::dispatcher.enqueue(event); } } - io::gamepad::last_state = io::gamepad::state; + gamepad::last_state = gamepad::state; } diff --git a/src/game/client/io/gamepad.hh b/src/game/client/io/gamepad.hh index 9c56894..5f76277 100644 --- a/src/game/client/io/gamepad.hh +++ b/src/game/client/io/gamepad.hh @@ -1,10 +1,7 @@ #pragma once -namespace io -{ constexpr static int INVALID_GAMEPAD_AXIS = INT_MAX; constexpr static int INVALID_GAMEPAD_BUTTON = INT_MAX; -} // namespace io namespace config { @@ -14,23 +11,21 @@ class Float; struct GLFWgamepadstate; -namespace io::gamepad +namespace gamepad { extern bool available; extern config::Float deadzone; extern config::Boolean active; extern GLFWgamepadstate state; extern GLFWgamepadstate last_state; -} // namespace io::gamepad +} // namespace gamepad -namespace io::gamepad +namespace gamepad { void init(void); void update_late(void); -} // namespace io::gamepad +} // namespace gamepad -namespace io -{ // This simulates buttons using axes. When an axis // value exceeds 1.5 times the deadzone, the event is // queued with a GLFW_PRESS action, when it falls back @@ -47,4 +42,3 @@ struct GamepadButtonEvent final { int action; int button; }; -} // namespace io diff --git a/src/game/client/io/glfw.hh b/src/game/client/io/glfw.hh index cd6d882..ad445f9 100644 --- a/src/game/client/io/glfw.hh +++ b/src/game/client/io/glfw.hh @@ -1,7 +1,5 @@ #pragma once -namespace io -{ struct GlfwCursorPosEvent final { glm::fvec2 pos; }; @@ -33,4 +31,3 @@ struct GlfwScrollEvent final { float dx; float dy; }; -} // namespace io |
