diff options
author | JozanLeClerc <bousset.rudy@gmail.com> | 2020-03-04 16:03:30 +0100 |
---|---|---|
committer | JozanLeClerc <bousset.rudy@gmail.com> | 2020-03-04 16:03:30 +0100 |
commit | dea9844db4bf893525d692209d004968e4bf89ad (patch) | |
tree | 5a7547d2adddfcd2c1c15a8e1db6c86344b46640 /inc/cub3d_structs.h | |
parent | Init bmp (diff) | |
download | 42-cub3d-dea9844db4bf893525d692209d004968e4bf89ad.tar.gz 42-cub3d-dea9844db4bf893525d692209d004968e4bf89ad.tar.bz2 42-cub3d-dea9844db4bf893525d692209d004968e4bf89ad.tar.xz 42-cub3d-dea9844db4bf893525d692209d004968e4bf89ad.tar.zst 42-cub3d-dea9844db4bf893525d692209d004968e4bf89ad.zip |
Tab
Diffstat (limited to 'inc/cub3d_structs.h')
-rw-r--r-- | inc/cub3d_structs.h | 300 |
1 files changed, 163 insertions, 137 deletions
diff --git a/inc/cub3d_structs.h b/inc/cub3d_structs.h index df26c26..19e211e 100644 --- a/inc/cub3d_structs.h +++ b/inc/cub3d_structs.h @@ -17,152 +17,178 @@ #include <stdint.h> #include <pthread.h> -typedef struct s_win +typedef struct s_win { - void *wlx; - void *winptr; - uint8_t inited; - uint16_t x_max_size; - uint16_t y_max_size; - uint32_t x_size; - uint32_t y_size; -} t_win; - -typedef struct s_bmp + void *wlx; + void *winptr; + uint8_t inited; + uint16_t x_max_size; + uint16_t y_max_size; + uint32_t x_size; + uint32_t y_size; +} t_win; + +# pragma pack(push, 1) + +typedef struct s_bmp_info { - uint16_t file_type; - uint32_t file_size; - uint16_t reserv_one; - uint16_t reserv_two; - uint32_t offset_data; -} t_bmp; - -typedef struct s_img + uint32_t size; + int32_t width; + int32_t height; + uint16_t planes; + uint16_t bit_count; + uint32_t compression; + uint32_t size_image; + int32_t x_pixels_per_meter; + int32_t y_pixels_per_meter; + uint32_t colors_used; + uint32_t colors_important; +} t_bmp_info; + +typedef struct s_bmp_colors { - void *img; - char *ptr; - int bpp; - int sizeline; - int endian; - int img_w; - int img_h; - int tex_x; - int tex_y; -} t_img; - -typedef struct s_rgb + +} t_bmp_color; + +typedef struct s_bmp_file { - int16_t r; - int16_t g; - int16_t b; -} t_rgb; + uint16_t file_type; + uint32_t file_size; + uint16_t reserv_one; + uint16_t reserv_two; + uint32_t offset_data; + struct s_bmp_info +} t_bmp_file_head; -typedef struct s_sprite +# pragma pack(pop) + +typedef struct s_img { - int32_t s_screen_x; - int32_t s_pos_x; - int32_t s_pos_y; - double s_x; - double s_y; - int32_t s_h; - int32_t s_w; - int32_t s_start_x; - int32_t s_start_y; - int32_t s_end_x; - int32_t s_end_y; - int32_t s_tex_y; - double sprite_transform_x; - double sprite_transform_y; - double sprite_dist; - double inv_c_m; -} t_sprite; - -typedef struct s_player + void *img; + char *ptr; + int bpp; + int sizeline; + int endian; + int img_w; + int img_h; + int tex_x; + int tex_y; +} t_img; + +typedef struct s_rgb { - float pos_x; - float pos_y; - float start_x; - float start_y; - float dir_x; - float dir_y; - float cam_x; - float plane_x; - float plane_y; -} t_player; - -typedef struct s_ray + int16_t r; + int16_t g; + int16_t b; +} t_rgb; + +typedef struct s_sprite { - uint16_t line_h; - float wall_dist; - float mid_dist; - float x_ray_pos; - float y_ray_pos; - float x_ray_dir; - float y_ray_dir; - float x_side_dist; - float y_side_dist; - float x_delta_dist; - float y_delta_dist; - int16_t wall_t; - int16_t wall_b; - uint8_t side; - size_t sqx; - size_t sqy; - uint8_t hit; - double wall_hit_x; - double step_tex_v; -} t_ray; - -typedef struct s_map + int32_t s_screen_x; + int32_t s_pos_x; + int32_t s_pos_y; + double s_x; + double s_y; + int32_t s_h; + int32_t s_w; + int32_t s_start_x; + int32_t s_start_y; + int32_t s_end_x; + int32_t s_end_y; + int32_t s_tex_y; + double sprite_transform_x; + double sprite_transform_y; + double sprite_dist; + double inv_c_m; +} t_sprite; + +typedef struct s_player +{ + float pos_x; + float pos_y; + float start_x; + float start_y; + float dir_x; + float dir_y; + float cam_x; + float plane_x; + float plane_y; +} t_player; + +typedef struct s_ray { - char *no_tex_path; - char *so_tex_path; - char *ea_tex_path; - char *we_tex_path; - char *sprite_path; - char *nl_tex_path; - char *nlevel_path; - char *music_path; - char *music_cmd; - char *mapl; - char **map; - int8_t x_step; - int8_t y_step; - size_t map_w; - size_t map_h; - size_t mapl_len; - size_t line_chk; - size_t map_start; - uint8_t isspawn; - uint8_t isnlvl; - uint8_t ismusic; - uint8_t scale; - uint32_t nlx; - uint32_t nly; -} t_map; - -typedef struct s_cub + uint16_t line_h; + float wall_dist; + float mid_dist; + float x_ray_pos; + float y_ray_pos; + float x_ray_dir; + float y_ray_dir; + float x_side_dist; + float y_side_dist; + float x_delta_dist; + float y_delta_dist; + int16_t wall_t; + int16_t wall_b; + uint8_t side; + size_t sqx; + size_t sqy; + uint8_t hit; + double wall_hit_x; + double step_tex_v; +} t_ray; + +typedef struct s_map +{ + char *filename; + char *no_tex_path; + char *so_tex_path; + char *ea_tex_path; + char *we_tex_path; + char *sprite_path; + char *nl_tex_path; + char *nlevel_path; + char *music_path; + char *music_cmd; + char *mapl; + char **map; + int8_t x_step; + int8_t y_step; + size_t map_w; + size_t map_h; + size_t mapl_len; + size_t line_chk; + size_t map_start; + uint8_t isspawn; + uint8_t isnlvl; + uint8_t ismusic; + uint8_t scale; + uint32_t nlx; + uint32_t nly; +} t_map; + +typedef struct s_cub { - uint8_t w_side; - uint8_t ishud; - uint8_t walltexgood; - uint8_t isoldmus; - uint16_t currlvl; - uint16_t i; - char errmsg[64]; - int32_t key_input[5]; - pthread_t tid; - int (*key_ptr[6])(struct s_cub*); - int8_t (*get_ptr[11])(char**, struct s_cub*); - struct s_win wlist; - struct s_player plist; - struct s_map mlist; - struct s_ray rlist; - struct s_img img; - struct s_rgb f_rgb; - struct s_rgb c_rgb; - struct s_img tlist[6]; - struct s_sprite sp_list; -} t_cub; + uint8_t w_side; + uint8_t ishud; + uint8_t walltexgood; + uint8_t isoldmus; + uint16_t currlvl; + uint16_t i; + char errmsg[64]; + int32_t key_input[5]; + pthread_t tid; + int (*key_ptr[6])(struct s_cub*); + int8_t (*get_ptr[11])(char**, struct s_cub*); + struct s_win wlist; + struct s_player plist; + struct s_map mlist; + struct s_ray rlist; + struct s_img img; + struct s_rgb f_rgb; + struct s_rgb c_rgb; + struct s_img tlist[6]; + struct s_sprite sp_list; +} t_cub; # endif |