2025-06-24 00:17:33 +02:00
|
|
|
/* ************************************************************************** */
|
|
|
|
|
/* */
|
|
|
|
|
/* ::: :::::::: */
|
|
|
|
|
/* structs.h :+: :+: :+: */
|
|
|
|
|
/* +:+ +:+ +:+ */
|
|
|
|
|
/* By: tchampio <tchampio@student.42lehavre.fr> +#+ +:+ +#+ */
|
|
|
|
|
/* +#+#+#+#+#+ +#+ */
|
|
|
|
|
/* Created: 2025/06/21 19:46:20 by tchampio #+# #+# */
|
2025-07-07 14:40:37 +02:00
|
|
|
|
2025-06-24 00:17:33 +02:00
|
|
|
/* */
|
|
|
|
|
/* ************************************************************************** */
|
|
|
|
|
|
|
|
|
|
#ifndef STRUCTS_H
|
|
|
|
|
# define STRUCTS_H
|
|
|
|
|
|
2025-06-25 18:08:19 +02:00
|
|
|
# include <stdbool.h>
|
|
|
|
|
|
2025-06-24 00:17:33 +02:00
|
|
|
typedef struct s_mlx_data
|
|
|
|
|
{
|
|
|
|
|
void *img;
|
|
|
|
|
char *addr;
|
|
|
|
|
int bits_per_pixel;
|
|
|
|
|
int line_length;
|
|
|
|
|
int endian;
|
|
|
|
|
} t_mlx_data;
|
|
|
|
|
|
|
|
|
|
typedef enum e_direction
|
|
|
|
|
{
|
|
|
|
|
NORTH,
|
|
|
|
|
SOUTH,
|
|
|
|
|
EAST,
|
|
|
|
|
WEST
|
|
|
|
|
} t_direction;
|
|
|
|
|
|
|
|
|
|
typedef struct s_mapdata
|
|
|
|
|
{
|
|
|
|
|
char *filename;
|
|
|
|
|
char *no_texture;
|
|
|
|
|
char *so_texture;
|
|
|
|
|
char *we_texture;
|
|
|
|
|
char *ea_texture;
|
|
|
|
|
int f_color;
|
|
|
|
|
int c_color;
|
|
|
|
|
int mapheight;
|
|
|
|
|
char **map;
|
|
|
|
|
char **mapflood;
|
|
|
|
|
int skipped_lines;
|
|
|
|
|
bool isvalid;
|
|
|
|
|
int startx;
|
|
|
|
|
int starty;
|
|
|
|
|
t_direction startdirection;
|
|
|
|
|
char error[1024];
|
|
|
|
|
} t_mapdata;
|
|
|
|
|
|
2025-07-09 16:45:13 +02:00
|
|
|
struct s_playermove {
|
|
|
|
|
int is_w_pressed;
|
|
|
|
|
int is_a_pressed;
|
|
|
|
|
int is_s_pressed;
|
|
|
|
|
int is_d_pressed;
|
|
|
|
|
};
|
|
|
|
|
|
2025-07-07 14:40:37 +02:00
|
|
|
typedef struct s_player
|
|
|
|
|
{
|
2025-07-09 16:45:13 +02:00
|
|
|
float x;
|
|
|
|
|
float y;
|
|
|
|
|
double yaw;
|
|
|
|
|
int health;
|
|
|
|
|
struct s_playermove playermove;
|
2025-07-07 14:40:37 +02:00
|
|
|
} t_player;
|
|
|
|
|
|
2025-06-24 11:51:49 +02:00
|
|
|
typedef struct s_cub3d_data
|
|
|
|
|
{
|
|
|
|
|
void *mlx;
|
|
|
|
|
void *mlx_win;
|
|
|
|
|
t_mlx_data *mlx_data;
|
|
|
|
|
t_mapdata *map;
|
2025-07-07 14:40:37 +02:00
|
|
|
t_player player;
|
2025-06-24 11:51:49 +02:00
|
|
|
} t_cub3d_data;
|
|
|
|
|
|
2025-06-24 00:17:33 +02:00
|
|
|
#endif
|