Cub3D
Loading...
Searching...
No Matches
rotate.c
1/* ************************************************************************** */
2/* */
3/* ::: :::::::: */
4/* rotate.c :+: :+: :+: */
5/* +:+ +:+ +:+ */
6/* By: kamitsui <kamitsui@student.42tokyo.jp> +#+ +:+ +#+ */
7/* +#+#+#+#+#+ +#+ */
8/* Created: 2024/10/17 11:23:51 by kamitsui #+# #+# */
9/* Updated: 2024/10/17 18:37:48 by kamitsui ### ########.fr */
10/* */
11/* ************************************************************************** */
12
13#include "cub3d.h"
14
15static t_vector rotate_vector(t_vector dir, double rotate_rad)
16{
17 t_vector new_dir;
18
19 new_dir.x = dir.x * cos(rotate_rad) - dir.y * sin(rotate_rad);
20 new_dir.y = dir.x * sin(rotate_rad) + dir.y * cos(rotate_rad);
21 return (new_dir);
22}
23
24void rotate_right(t_map *map, t_player *player)
25{
26 player->ray_dir = rotate_vector(player->ray_dir, player->rotate_speed);
27 player->camera_forcal_plane
28 = rotate_vector(player->camera_forcal_plane, player->rotate_speed);
29 (void)map;
30}
31
32void rotate_left(t_map *map, t_player *player)
33{
34 player->ray_dir = rotate_vector(player->ray_dir, -player->rotate_speed);
35 player->camera_forcal_plane
36 = rotate_vector(player->camera_forcal_plane, -player->rotate_speed);
37 (void)map;
38}
game map
Definition type_cub3d.h:237
keyboard event flag
Definition type_cub3d.h:226
vector
Definition type_cub3d.h:74