1
0

🏗️」 wip(Raycasting): Should be working but not

This commit is contained in:
2024-10-30 16:33:14 +01:00
parent efa0d6fbbd
commit 90c84c7b37
13 changed files with 281 additions and 247 deletions

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/10/28 13:04:36 by adjoly #+# #+# */
/* Updated: 2024/10/28 14:37:10 by adjoly ### ########.fr */
/* Updated: 2024/10/29 14:15:59 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
@ -22,6 +22,7 @@ typedef struct s_dda
{
bool h;
int i;
bool s;
t_vec2 map;
t_vec2 vert;
t_vec2 hori;
@ -37,6 +38,6 @@ typedef struct s_ray
float distance;
} t_ray;
void dda_algo(t_player *play, t_render *render);
void dda_algo(t_render *render, t_dda *dda, t_ray *ray);
#endif

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/09/11 16:38:40 by adjoly #+# #+# */
/* Updated: 2024/10/28 14:08:09 by adjoly ### ########.fr */
/* Updated: 2024/10/29 13:56:32 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
@ -30,26 +30,30 @@
typedef struct s_map
{
char **arr;
int floor;
int celling;
char p_side;
t_coord p_spawnpoint;
t_coord size;
} t_map;
typedef struct s_render
{
t_map *world;
void *mlx;
void *win;
void *texture[4];
} t_render;
typedef struct s_player
{
t_vec2 coord;
t_coord map_coords;
double direction;
float direction;
} t_player;
typedef struct s_render
{
t_map *world;
void *mlx;
void *win;
void *img;
t_player *player;
void *texture[4];
} t_render;
/**
* @brief This function is used to handle keypress
*
@ -71,6 +75,15 @@ int key_hook(int key, void *param);
* @param clockwise The direction which the player rotate
* @param player A pointer to a t_player struct
*/
void change_direction(double speed, bool clockwise, t_player *player);
void change_direction(float speed, bool clockwise, t_player *player);
/**
* @brief Render a cub3d frame by executing a dda on every ray and
* putting the pixel on the window
*
* @param render The render struct with everything i need
*/
void render_frame(t_render *render);
#endif

14
includes/game/math.h Normal file
View File

@ -0,0 +1,14 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* math.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/10/29 10:07:24 by adjoly #+# #+# */
/* Updated: 2024/10/29 10:08:53 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef
void fix_ang(float *ang);

View File

@ -6,7 +6,7 @@
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/10/04 14:06:39 by adjoly #+# #+# */
/* Updated: 2024/10/28 14:04:25 by adjoly ### ########.fr */
/* Updated: 2024/10/29 14:55:59 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
@ -23,12 +23,13 @@
# define WHITE 0xFFFFFFFF
# define DEG_TO_RAD 0.0174533
# define WINDOW_Y 900
# define WINDOW_X 1600
# define WINDOW_H 900
# define WINDOW_W 1600
# define PLAYER_ROT_SPEED (2 * M_PI) / 128
# define PLAYER_SPEED 3
# define CHUNK_SIZE 64
# define RAY_SIZE 2
# define PLAYER_SPEED 0.01
# define RAY_SIZE 1
# define FOV ( 60 * (M_PI / 180) )
# define CHUNK_SIZE 64
#endif

View File

@ -0,0 +1,20 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* utils_math.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: adjoly <adjoly@student.42angouleme.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/10/29 10:07:24 by adjoly #+# #+# */
/* Updated: 2024/10/29 10:08:04 by adjoly ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef UTILS_MATH_H
# define UTILS_MATH_H
#include <math.h>
void fix_ang(float *ang);
#endif