diff options
author | Rudy Bousset <rbousset@z2r4p3.le-101.fr> | 2020-03-09 18:53:35 +0100 |
---|---|---|
committer | Rudy Bousset <rbousset@z2r4p3.le-101.fr> | 2020-03-09 18:53:35 +0100 |
commit | 00f719e87a853f1c0b5dfc7085f605b452e75314 (patch) | |
tree | 1af5b195d41e26a284bec552aa9f07e4cc217db8 /inc | |
parent | Norme (diff) | |
parent | gang (diff) | |
download | 42-cub3d-00f719e87a853f1c0b5dfc7085f605b452e75314.tar.gz 42-cub3d-00f719e87a853f1c0b5dfc7085f605b452e75314.tar.bz2 42-cub3d-00f719e87a853f1c0b5dfc7085f605b452e75314.tar.xz 42-cub3d-00f719e87a853f1c0b5dfc7085f605b452e75314.tar.zst 42-cub3d-00f719e87a853f1c0b5dfc7085f605b452e75314.zip |
Merge branch 'shpritz'
Diffstat (limited to 'inc')
-rw-r--r-- | inc/cub3d.h | 4 | ||||
-rw-r--r-- | inc/cub3d_defines.h | 4 | ||||
-rw-r--r-- | inc/cub3d_structs.h | 47 |
3 files changed, 32 insertions, 23 deletions
diff --git a/inc/cub3d.h b/inc/cub3d.h index a961dcb..615112b 100644 --- a/inc/cub3d.h +++ b/inc/cub3d.h @@ -68,11 +68,13 @@ void ft_draw_texture(t_cub *cl, int x, int y, int tex_y); int8_t ft_draw_hud(t_cub *clist); void ft_draw_scene(t_cub *clist); void ft_draw_scene_bmp(t_cub *clist); -void ft_draw_sprite(t_cub *cl, int i); void ft_draw_circle(float a, float b, int32_t color, t_cub *cl); int8_t ft_draw_verline(t_cub *cl, int32_t x, int32_t y1, int32_t y2); +void ft_calc_sprite(t_cub *cl); +void ft_draw_sprite(t_cub *cl, t_sprite *sprite); +void ft_get_sprite_spawn(t_cub *cl); /* ** ====== PARSING ====== diff --git a/inc/cub3d_defines.h b/inc/cub3d_defines.h index f20e5d4..b3dd986 100644 --- a/inc/cub3d_defines.h +++ b/inc/cub3d_defines.h @@ -93,8 +93,8 @@ enum */ # define FT_MOVE_SPEED 0.2 -# define FT_STRAFE_SPEED 0.1 -# define FT_ROT_SPEED 0.09 +# define FT_STRAFE_SPEED 0.2 +# define FT_ROT_SPEED 0.2 /* ** ====== COLLISION ====== diff --git a/inc/cub3d_structs.h b/inc/cub3d_structs.h index 1160015..3c7ae28 100644 --- a/inc/cub3d_structs.h +++ b/inc/cub3d_structs.h @@ -86,25 +86,29 @@ typedef struct s_rgb typedef struct s_sprite { - 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 + int32_t spritescreenx; + int32_t x; + int32_t y; + int32_t tex_x; + int32_t tex_y; + int32_t s_pos_x; + int32_t s_pos_y; + double spritex; + double spritey; + int32_t spriteheight; + int32_t spritewidth; + int32_t drawstartx; + int32_t drawstarty; + int32_t drawendx; + int32_t drawendy; + int32_t s_tex_y; + double transformx; + double transformy; + double sprite_dist; + double invdet; +} t_sprite; + +typedef struct s_player { float pos_x; float pos_y; @@ -122,6 +126,7 @@ typedef struct s_ray { uint16_t line_h; float wall_dist; + float *wall_dist_tab; float x_ray_pos; float y_ray_pos; float x_ray_dir; @@ -172,6 +177,8 @@ typedef struct s_map size_t map_w; size_t map_h; size_t mapl_len; + int32_t sprite_nbr; + int32_t sprite_order[12]; size_t line_chk; size_t map_start; uint8_t isspawn; @@ -210,7 +217,7 @@ typedef struct s_cub struct s_rgb f_rgb; struct s_rgb c_rgb; struct s_img tlist[8]; - struct s_sprite sp_list; + struct s_sprite sprites[12]; } t_cub; # endif |