summaryrefslogtreecommitdiff
path: root/src/input.c
diff options
context:
space:
mode:
authorDominik Kaiser2024-05-10 12:26:25 +0200
committerGitHub2024-05-10 12:26:25 +0200
commit10b5c3a64680c4dc741cb41c5950abccbf310c7e (patch)
tree4a65d2387c6964ee9357d1ad17e7f9f5094ee99e /src/input.c
parente206d293aa947dc56fa8408c42dccaff9cb423c3 (diff)
parent461f71e2660e6286ffc757ca6b7077c70c80b6cf (diff)
downloadso_long-10b5c3a64680c4dc741cb41c5950abccbf310c7e.tar.gz
so_long-10b5c3a64680c4dc741cb41c5950abccbf310c7e.zip
Merge migrate-to-mlx42 into master
Migrate from the old mlx to MLX42
Diffstat (limited to 'src/input.c')
-rw-r--r--src/input.c49
1 files changed, 26 insertions, 23 deletions
diff --git a/src/input.c b/src/input.c
index fe1f219..a6cb8d4 100644
--- a/src/input.c
+++ b/src/input.c
@@ -6,34 +6,37 @@
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/05/09 15:37:40 by dkaiser #+# #+# */
-/* Updated: 2024/05/09 19:32:18 by dkaiser ### ########.fr */
+/* Updated: 2024/05/10 12:13:22 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
#include "so_long.h"
-int on_key_down(int keycode, t_game *game)
+void on_key_input(mlx_key_data_t event, void *params)
{
- if (keycode == 13 || keycode == 126)
- game->input_direction |= UP;
- else if (keycode == 0 || keycode == 123)
- game->input_direction |= LEFT;
- else if (keycode == 1 || keycode == 125)
- game->input_direction |= DOWN;
- else if (keycode == 2 || keycode == 124)
- game->input_direction |= RIGHT;
- return (0);
-}
+ t_game *game;
-int on_key_up(int keycode, t_game *game)
-{
- if (keycode == 13 || keycode == 126)
- game->input_direction &= ~UP;
- else if (keycode == 0 || keycode == 123)
- game->input_direction &= ~LEFT;
- else if (keycode == 1 || keycode == 125)
- game->input_direction &= ~DOWN;
- else if (keycode == 2 || keycode == 124)
- game->input_direction &= ~RIGHT;
- return (0);
+ game = (t_game *)params;
+ if (event.action == MLX_PRESS)
+ {
+ if (event.key == MLX_KEY_W || event.key == MLX_KEY_UP)
+ game->input_direction |= UP;
+ else if (event.key == MLX_KEY_A || event.key == MLX_KEY_LEFT)
+ game->input_direction |= LEFT;
+ else if (event.key == MLX_KEY_S || event.key == MLX_KEY_DOWN)
+ game->input_direction |= DOWN;
+ else if (event.key == MLX_KEY_D || event.key == MLX_KEY_RIGHT)
+ game->input_direction |= RIGHT;
+ }
+ else if (event.action == MLX_RELEASE)
+ {
+ if (event.key == MLX_KEY_W || event.key == MLX_KEY_UP)
+ game->input_direction &= ~UP;
+ else if (event.key == MLX_KEY_A || event.key == MLX_KEY_LEFT)
+ game->input_direction &= ~LEFT;
+ else if (event.key == MLX_KEY_S || event.key == MLX_KEY_DOWN)
+ game->input_direction &= ~DOWN;
+ else if (event.key == MLX_KEY_D || event.key == MLX_KEY_RIGHT)
+ game->input_direction &= ~RIGHT;
+ }
}