From f30a4eba44c77d5c743fe9308dc697a3225e8dd8 Mon Sep 17 00:00:00 2001 From: pryazha Date: Sun, 15 Jun 2025 16:07:54 +0500 Subject: i don't even know --- input.h | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 input.h (limited to 'input.h') diff --git a/input.h b/input.h new file mode 100644 index 0000000..28090e9 --- /dev/null +++ b/input.h @@ -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; +} -- cgit v1.2.3-70-g09d2