「✨」 feat: Added get_ray_angle function
This commit is contained in:
8
asdf
8
asdf
@ -1,8 +0,0 @@
|
|||||||
# 1 "<stdin>"
|
|
||||||
# 1 "<built-in>" 1
|
|
||||||
# 1 "<built-in>" 3
|
|
||||||
# 384 "<built-in>" 3
|
|
||||||
# 1 "<command line>" 1
|
|
||||||
# 1 "<built-in>" 2
|
|
||||||
# 1 "<stdin>" 2
|
|
||||||
|
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/09/11 16:38:40 by adjoly #+# #+# */
|
/* Created: 2024/09/11 16:38:40 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/09/24 16:50:56 by adjoly ### ########.fr */
|
/* Updated: 2024/09/29 16:47:32 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -19,22 +19,6 @@
|
|||||||
# include <stdbool.h>
|
# include <stdbool.h>
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
|
|
||||||
typedef struct s_player
|
|
||||||
{
|
|
||||||
t_coord coords;
|
|
||||||
double direction;
|
|
||||||
} t_player;
|
|
||||||
|
|
||||||
typedef struct s_cub
|
|
||||||
{
|
|
||||||
void *mlx;
|
|
||||||
void *win;
|
|
||||||
void *sprites;
|
|
||||||
void *img;
|
|
||||||
char **map;
|
|
||||||
t_player player;
|
|
||||||
} t_cub;
|
|
||||||
|
|
||||||
# define ESCAPE_KEY 41
|
# define ESCAPE_KEY 41
|
||||||
# define W_KEY 26
|
# define W_KEY 26
|
||||||
# define S_KEY 22
|
# define S_KEY 22
|
||||||
@ -46,6 +30,31 @@ typedef struct s_cub
|
|||||||
# define PLAYER_ROT_SPEED (2 * M_PI) / 8
|
# define PLAYER_ROT_SPEED (2 * M_PI) / 8
|
||||||
# define PLAYER_SPEED 3
|
# define PLAYER_SPEED 3
|
||||||
# define MAP_CHUNK_SIZE 64
|
# define MAP_CHUNK_SIZE 64
|
||||||
|
# define RAY_SIZE 2
|
||||||
|
# define FOV 60 * (M_PI / 180)
|
||||||
|
|
||||||
|
typedef struct s_ray_dir
|
||||||
|
{
|
||||||
|
float x;
|
||||||
|
float y;
|
||||||
|
} t_ray_dir;
|
||||||
|
|
||||||
|
typedef struct s_player
|
||||||
|
{
|
||||||
|
t_coord coords;
|
||||||
|
double direction;
|
||||||
|
t_ray_dir ray_dir[WINDOW_X / RAY_SIZE];
|
||||||
|
} t_player;
|
||||||
|
|
||||||
|
typedef struct s_cub
|
||||||
|
{
|
||||||
|
void *mlx;
|
||||||
|
void *win;
|
||||||
|
void *sprites;
|
||||||
|
void *img;
|
||||||
|
char **map;
|
||||||
|
t_player player;
|
||||||
|
} t_cub;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief This function is used to handle keypress
|
* @brief This function is used to handle keypress
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
|
/* By: madumerg <madumerg@42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/09/04 16:58:27 by madumerg #+# #+# */
|
/* Created: 2024/09/04 16:58:27 by madumerg #+# #+# */
|
||||||
/* Updated: 2024/09/24 18:31:05 by adjoly ### ########.fr */
|
/* Updated: 2024/09/29 14:44:07 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -29,10 +29,10 @@ int main(int ac, char **av)
|
|||||||
(void)ac;
|
(void)ac;
|
||||||
(void)av;
|
(void)av;
|
||||||
cub.mlx = mlx_init();
|
cub.mlx = mlx_init();
|
||||||
cub.win = mlx_new_window(cub.mlx, 600, 600, "WTF");
|
cub.win = mlx_new_window(cub.mlx, WINDOW_X, WINDOW_Y, "WTF");
|
||||||
cub.player.coords.x = 100;
|
cub.player.coords.x = 100;
|
||||||
cub.player.coords.y = 100;
|
cub.player.coords.y = 100;
|
||||||
cub.img = mlx_new_image(cub.mlx, 600, 600);
|
cub.img = mlx_new_image(cub.mlx, WINDOW_X, WINDOW_Y);
|
||||||
get_player_image(&cub, 0);
|
get_player_image(&cub, 0);
|
||||||
mlx_put_image_to_window(cub.mlx, cub.win, cub.img, 0, 0);
|
mlx_put_image_to_window(cub.mlx, cub.win, cub.img, 0, 0);
|
||||||
mlx_on_event(cub.mlx, cub.win, MLX_KEYDOWN, key_hook, &cub);
|
mlx_on_event(cub.mlx, cub.win, MLX_KEYDOWN, key_hook, &cub);
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/09/13 11:05:02 by adjoly #+# #+# */
|
/* Created: 2024/09/13 11:05:02 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/09/24 14:40:23 by adjoly ### ########.fr */
|
/* Updated: 2024/09/29 14:44:28 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
28
src/raycasting/get_ray_angle.c
Normal file
28
src/raycasting/get_ray_angle.c
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
/* ************************************************************************** */
|
||||||
|
/* */
|
||||||
|
/* ::: :::::::: */
|
||||||
|
/* get_ray_angle.c :+: :+: :+: */
|
||||||
|
/* +:+ +:+ +:+ */
|
||||||
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
|
/* +#+#+#+#+#+ +#+ */
|
||||||
|
/* Created: 2024/09/29 15:26:29 by adjoly #+# #+# */
|
||||||
|
/* Updated: 2024/09/29 16:46:44 by adjoly ### ########.fr */
|
||||||
|
/* */
|
||||||
|
/* ************************************************************************** */
|
||||||
|
|
||||||
|
#include "game.h"
|
||||||
|
|
||||||
|
void get_ray_angle(t_player *player)
|
||||||
|
{
|
||||||
|
uint16_t x;
|
||||||
|
float ray_angle;
|
||||||
|
|
||||||
|
x = 0;
|
||||||
|
while (x < WINDOW_X)
|
||||||
|
{
|
||||||
|
ray_angle = player->direction - (FOV / 2) + (x / WINDOW_X) * FOV;
|
||||||
|
player->ray_angle[x / RAY_SIZE].x = cos(ray_angle);
|
||||||
|
player->ray_angle[x / RAY_SIZE].y = sin(ray_angle);
|
||||||
|
x += RAY_SIZE;
|
||||||
|
}
|
||||||
|
}
|
@ -6,7 +6,7 @@
|
|||||||
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
|
||||||
/* +#+#+#+#+#+ +#+ */
|
/* +#+#+#+#+#+ +#+ */
|
||||||
/* Created: 2024/09/11 16:37:56 by adjoly #+# #+# */
|
/* Created: 2024/09/11 16:37:56 by adjoly #+# #+# */
|
||||||
/* Updated: 2024/09/23 14:41:31 by adjoly ### ########.fr */
|
/* Updated: 2024/09/29 14:45:02 by adjoly ### ########.fr */
|
||||||
/* */
|
/* */
|
||||||
/* ************************************************************************** */
|
/* ************************************************************************** */
|
||||||
|
|
||||||
@ -29,7 +29,7 @@ int key_hook(int key, void *param)
|
|||||||
{
|
{
|
||||||
mlx_clear_window(cub->mlx, cub->win);
|
mlx_clear_window(cub->mlx, cub->win);
|
||||||
mlx_destroy_image(cub->mlx, cub->img);
|
mlx_destroy_image(cub->mlx, cub->img);
|
||||||
cub->img = mlx_new_image(cub->mlx, 600, 600);
|
cub->img = mlx_new_image(cub->mlx, WINDOW_X, WINDOW_Y);
|
||||||
get_player_image(cub, key);
|
get_player_image(cub, key);
|
||||||
mlx_put_image_to_window(cub->mlx, cub->win, cub->img, 0, 0);
|
mlx_put_image_to_window(cub->mlx, cub->win, cub->img, 0, 0);
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user