mirror of
https://codeberg.org/ACME-Corporation/cub3d.git
synced 2025-12-06 01:48:08 +01:00
70 lines
2.4 KiB
C
70 lines
2.4 KiB
C
/* ************************************************************************** */
|
|
/* */
|
|
/* ::: :::::::: */
|
|
/* hooks.c :+: :+: :+: */
|
|
/* +:+ +:+ +:+ */
|
|
/* By: kcolin <kcolin@42.fr> +#+ +:+ +#+ */
|
|
/* +#+#+#+#+#+ +#+ */
|
|
/* Created: 2025/07/17 14:22:57 by kcolin #+# #+# */
|
|
/* Updated: 2025/09/17 16:55:52 by tchampio ### ########.fr */
|
|
/* */
|
|
/* ************************************************************************** */
|
|
|
|
#include "../consts.h"
|
|
#include "../cub3d_data.h"
|
|
#include "../player/angle.h"
|
|
#include "frees.h"
|
|
#include <X11/keysym.h>
|
|
#include <X11/X.h>
|
|
#include <math.h>
|
|
#include <stdio.h>
|
|
|
|
int keypress_handler(int keycode, t_cub3d_data *data)
|
|
{
|
|
if (keycode == XK_Escape)
|
|
destroy(data, 0);
|
|
if (keycode == XK_w)
|
|
data->keypresses.is_w_pressed = true;
|
|
if (keycode == XK_a)
|
|
data->keypresses.is_a_pressed = true;
|
|
if (keycode == XK_s)
|
|
data->keypresses.is_s_pressed = true;
|
|
if (keycode == XK_d)
|
|
data->keypresses.is_d_pressed = true;
|
|
if (keycode == XK_f)
|
|
data->keypresses.is_f_pressed = true;
|
|
if (keycode == XK_Left)
|
|
data->keypresses.is_left_pressed = true;
|
|
if (keycode == XK_Right)
|
|
data->keypresses.is_right_pressed = true;
|
|
if (keycode == XK_space)
|
|
data->keypresses.is_space_pressed = true;
|
|
if (keycode == XK_p)
|
|
data->player.points += 500;
|
|
if (keycode == XK_u)
|
|
data->round++;
|
|
if (keycode == XK_m)
|
|
data->player.weapon->remaining_ammos = 1337;
|
|
return (0);
|
|
}
|
|
|
|
int keyrelease_handler(int keycode, t_cub3d_data *data)
|
|
{
|
|
if (keycode == XK_w)
|
|
data->keypresses.is_w_pressed = false;
|
|
if (keycode == XK_a)
|
|
data->keypresses.is_a_pressed = false;
|
|
if (keycode == XK_s)
|
|
data->keypresses.is_s_pressed = false;
|
|
if (keycode == XK_d)
|
|
data->keypresses.is_d_pressed = false;
|
|
if (keycode == XK_f)
|
|
data->keypresses.is_f_pressed = false;
|
|
if (keycode == XK_Left)
|
|
data->keypresses.is_left_pressed = false;
|
|
if (keycode == XK_Right)
|
|
data->keypresses.is_right_pressed = false;
|
|
if (keycode == XK_space)
|
|
data->keypresses.is_space_pressed = false;
|
|
return (0);
|
|
}
|