diff options
author | pryazha <pryadeiniv@mail.ru> | 2025-06-15 16:07:54 +0500 |
---|---|---|
committer | pryazha <pryadeiniv@mail.ru> | 2025-06-15 16:07:54 +0500 |
commit | f30a4eba44c77d5c743fe9308dc697a3225e8dd8 (patch) | |
tree | c171da2e8d1127409e2ffe9e56e2e027bac48e28 /input.h | |
parent | 92a8eb610f40c9770569ca63ca1bd705a6d3497d (diff) |
i don't even know
Diffstat (limited to 'input.h')
-rw-r--r-- | input.h | 46 |
1 files changed, 46 insertions, 0 deletions
@@ -0,0 +1,46 @@ +input_t init_input() +{ + input_t input = {0}; + input.mouse.first = 1; + return input; +} + +void update_input(input_t *input) +{ + input->mouse.last = input->mouse.pos; + input->mouse.offset = V2_ZERO; + input->mouse.left.last = input->mouse.left.state; + input->mouse.right.last = input->mouse.right.state; + + input->move_right.last = input->move_right.state; + input->move_forward.last = input->move_forward.state; + input->move_left.last = input->move_left.state; + input->move_backward.last = input->move_backward.state; + input->move_up.last = input->move_up.state; + input->move_down.last = input->move_down.state; + + input->jump.last = input->jump.state; + input->action_right.last = input->action_right.state; + input->action_up.last = input->action_up.state; + input->action_left.last = input->action_left.state; + input->action_down.last = input->action_down.state; + input->exit.last = input->exit.state; +} + +i32 is_key_down(prge_key_t key) +{ + i32 result = (key.state == key_state_press); + return result; +} + +i32 is_key_pressed(prge_key_t key) +{ + i32 result = ((key.last == key_state_release) && (key.state == key_state_press)); + return result; +} + +i32 was_key_pressed(prge_key_t key) +{ + i32 result = ((key.last == key_state_press) && (key.state == key_state_release)); + return result; +} |