From 57867bbbdc24b734d85f8d3569c7ad27dcd9504d Mon Sep 17 00:00:00 2001 From: Charles Date: Thu, 30 Jan 2020 15:52:16 +0100 Subject: files restructuration --- src/event.c | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 src/event.c (limited to 'src/event.c') diff --git a/src/event.c b/src/event.c new file mode 100644 index 0000000..9dcaa75 --- /dev/null +++ b/src/event.c @@ -0,0 +1,45 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* event.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: cacharle +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2019/11/15 06:39:37 by cacharle #+# #+# */ +/* Updated: 2020/01/30 15:20:18 by cacharle ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "cub3d.h" + +#define ROTATE_STEP (M_PI / 40.0) +#define MOVE_SPEED 0.25 + +int event_keydown(int key, t_state *state) +{ + if (key == MLXK_ESC) + state->running = FALSE; + else if (key == MLXK_A) + state->pos = vector_add(state->pos, + vector_scale(vector_rotate(state->dir, -M_PI_2), MOVE_SPEED)); + else if (key == MLXK_D) + state->pos = vector_add(state->pos, + vector_scale(vector_rotate(state->dir, M_PI_2), MOVE_SPEED)); + else if (key == MLXK_W) + state->pos = vector_add(state->pos, + vector_scale(state->dir, MOVE_SPEED)); + else if (key == MLXK_S) + state->pos = vector_add(state->pos, + vector_scale(state->dir, -MOVE_SPEED)); + else if (key == MLXK_LEFT) + helper_rotate_player(state, -ROTATE_STEP); + else if (key == MLXK_RIGHT) + helper_rotate_player(state, ROTATE_STEP); + return (0); +} + +int event_quit(t_state *state) +{ + state->running = FALSE; + return (0); +} -- cgit