Cub3D
 
Loading...
Searching...
No Matches
data_structure.h File Reference

Header file for all the types and structures of the project. More...

#include <endian.h>
#include <stdbool.h>
#include <stddef.h>
Include dependency graph for data_structure.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

union  u_color
 Union used to store color information. It can be used to store color in RGBA format or as a separate RGB and alpha values. Used for big-endian systems. More...
 
struct  s_img
 Structure used to store an image (buffer that contain image, and size). More...
 
struct  s_textures
 Structure that handle the textures of the game. More...
 
struct  s_coordinates
 Structure used to store the coordinates (positive only). More...
 
struct  s_pos2
 Structure that handle positions in the map. Same as t_coordinates but with signed integers. More...
 
struct  s_vec2
 Structure that handle vector coordinates in 2D space. More...
 
struct  s_input
 Structure that handle the input of the player. More...
 
struct  s_player
 Structure that handle the player information. More...
 
struct  s_settings
 Structure that handle the settings of the game. More...
 
struct  s_mlx
 Structure that handle the mlx instance. More...
 
struct  s_map_raoul
 Structure to handle the special map needed for rendering. More...
 
struct  s_map
 Structure that handle the map informations. More...
 
struct  s_data
 Structure used to store the mlx and map structures. More...
 
struct  s_raydata
 Structure used to store the raycasting data. It contains all the information needed to cast a ray. More...
 
struct  s_spritedata
 Norm-compliant multi-variable holder for math stuff. More...
 
struct  s_args
 Structure to handle command-line arguments. More...
 

Typedefs

typedef struct s_img t_img
 
typedef struct s_textures t_textures
 
typedef struct s_spritedata t_spritedata
 
typedef struct s_mlx t_mlx
 
typedef struct s_map t_map
 
typedef struct s_map_raoul t_map_raoul
 
typedef struct s_data t_data
 
typedef struct s_settings t_settings
 
typedef struct s_coordinates t_coordinates
 
typedef struct s_pos2 t_pos2
 
typedef struct s_vec2 t_vec2
 
typedef struct s_args t_args
 
typedef union u_color t_color
 
typedef struct s_raydata t_raydata
 
typedef struct s_input t_input
 
typedef struct s_player t_player
 

Enumerations

enum  e_screen_size {
  SIZE_NONE = 0 , SIZE_FULL_SCREEN = 1 , SIZE_4K = 2 , SIZE_2K = 3 ,
  SIZE_1080P = 4 , SIZE_720P = 5 , SIZE_480P = 6
}
 Enum used to store the screen size. It is used to set the screen size in the settings. SIZE_480P is the lowest in the list and SIZE_FULL_SCREEN is the highest. More...
 

Detailed Description

Header file for all the types and structures of the project.

Typedef Documentation

◆ t_args

typedef struct s_args t_args

◆ t_color

typedef union u_color t_color

◆ t_coordinates

typedef struct s_coordinates t_coordinates

◆ t_data

typedef struct s_data t_data

◆ t_img

typedef struct s_img t_img

◆ t_input

typedef struct s_input t_input

◆ t_map

typedef struct s_map t_map

◆ t_map_raoul

typedef struct s_map_raoul t_map_raoul

◆ t_mlx

typedef struct s_mlx t_mlx

◆ t_player

typedef struct s_player t_player

◆ t_pos2

typedef struct s_pos2 t_pos2

◆ t_raydata

typedef struct s_raydata t_raydata

◆ t_settings

typedef struct s_settings t_settings

◆ t_spritedata

typedef struct s_spritedata t_spritedata

◆ t_textures

typedef struct s_textures t_textures

◆ t_vec2

typedef struct s_vec2 t_vec2

Enumeration Type Documentation

◆ e_screen_size

Enum used to store the screen size. It is used to set the screen size in the settings. SIZE_480P is the lowest in the list and SIZE_FULL_SCREEN is the highest.

Enumerator
SIZE_NONE 
SIZE_FULL_SCREEN 
SIZE_4K 
SIZE_2K 
SIZE_1080P 
SIZE_720P 
SIZE_480P