diff --git a/asdf b/asdf deleted file mode 100644 index e7bebc5..0000000 --- a/asdf +++ /dev/null @@ -1,8 +0,0 @@ -# 1 "" -# 1 "" 1 -# 1 "" 3 -# 384 "" 3 -# 1 "" 1 -# 1 "" 2 -# 1 "" 2 - diff --git a/includes/game.h b/includes/game.h index 38245d1..02a5b4a 100644 --- a/includes/game.h +++ b/includes/game.h @@ -6,7 +6,7 @@ /* 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 # include -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 W_KEY 26 # define S_KEY 22 @@ -46,6 +30,31 @@ typedef struct s_cub # define PLAYER_ROT_SPEED (2 * M_PI) / 8 # define PLAYER_SPEED 3 # 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 diff --git a/src/cub3d.c b/src/cub3d.c index bdd9239..c61b2ad 100644 --- a/src/cub3d.c +++ b/src/cub3d.c @@ -6,7 +6,7 @@ /* 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)av; 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.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); 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); diff --git a/src/raycasting/get_player_image.c b/src/raycasting/get_player_image.c index 0cc6fc4..e20ffa7 100644 --- a/src/raycasting/get_player_image.c +++ b/src/raycasting/get_player_image.c @@ -6,7 +6,7 @@ /* 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 */ /* */ /* ************************************************************************** */ diff --git a/src/raycasting/get_ray_angle.c b/src/raycasting/get_ray_angle.c new file mode 100644 index 0000000..0a05f02 --- /dev/null +++ b/src/raycasting/get_ray_angle.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* get_ray_angle.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: adjoly +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* 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; + } +} diff --git a/src/raycasting/key_hook.c b/src/raycasting/key_hook.c index f49e924..c0db844 100644 --- a/src/raycasting/key_hook.c +++ b/src/raycasting/key_hook.c @@ -6,7 +6,7 @@ /* 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_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); mlx_put_image_to_window(cub->mlx, cub->win, cub->img, 0, 0); }