「🏗️」 wip(Raycasting): Should be working but not
This commit is contained in:
@ -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
|
||||
|
@ -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
14
includes/game/math.h
Normal 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);
|
@ -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
|
||||
|
20
includes/game/utils_math.h
Normal file
20
includes/game/utils_math.h
Normal 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
|
Reference in New Issue
Block a user