-
Notifications
You must be signed in to change notification settings - Fork 1
/
keyhandler.c
47 lines (42 loc) · 1.85 KB
/
keyhandler.c
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* keyhandler.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: ansulist <ansulist@student.42abudhabi.a +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/02/06 07:09:31 by ansulist #+# #+# */
/* Updated: 2024/03/07 17:18:47 by ansulist ### ########.fr */
/* */
/* ************************************************************************** */
#include "cub3d.h"
void keyleft_handler(t_cub3d *cub3d)
{
t_point plane;
t_point dir;
plane.x = cub3d->player.plane.x * cos(-1 * 0.03)
+ cub3d->player.plane.y * -sin(-1 * 0.03);
plane.y = cub3d->player.plane.x * sin(-1 * 0.03)
+ cub3d->player.plane.y * cos(-1 * 0.03);
dir.x = cub3d->player.dir.x * cos(-1 * 0.03)
+ cub3d->player.dir.y * -sin(-1 * 0.03);
dir.y = cub3d->player.dir.x * sin(-1 * 0.03)
+ cub3d->player.dir.y * cos(-1 * 0.03);
cub3d->player.dir = dir;
cub3d->player.plane = plane;
}
void keyright_handler(t_cub3d *cub3d)
{
t_point plane;
t_point dir;
plane.x = cub3d->player.plane.x * cos(1 * 0.03)
+ cub3d->player.plane.y * -sin(1 * 0.03);
plane.y = cub3d->player.plane.x * sin(1 * 0.03)
+ cub3d->player.plane.y * cos(1 * 0.03);
dir.x = cub3d->player.dir.x * cos(1 * 0.03)
+ cub3d->player.dir.y * -sin(1 * 0.03);
dir.y = cub3d->player.dir.x * sin(1 * 0.03)
+ cub3d->player.dir.y * cos(1 * 0.03);
cub3d->player.dir = dir;
cub3d->player.plane = plane;
}