diff options
Diffstat (limited to '')
-rw-r--r-- | src/ft_init_winlx.c | 7 | ||||
-rw-r--r-- | src/ft_raycasting.c | 78 | ||||
-rw-r--r-- | src/main.c | 3 |
3 files changed, 48 insertions, 40 deletions
diff --git a/src/ft_init_winlx.c b/src/ft_init_winlx.c index 1e2e351..db1d88d 100644 --- a/src/ft_init_winlx.c +++ b/src/ft_init_winlx.c @@ -21,11 +21,16 @@ int ft_memdel((void**)&clist->wlist->wlx); if (!(clist->wlist->wlx = mlx_init())) return (-1); + return (0); +} + +int + ft_init_winptr(t_cub *clist) +{ ft_memdel((void**)&clist->wlist->winptr); if (!(clist->wlist->winptr = mlx_new_window(clist->wlist->wlx, clist->wlist->x_size, clist->wlist->y_size, "Cub3D"))) return (-1); clist->wlist->inited = 1; - /* ft_music(clist); */ return (0); } diff --git a/src/ft_raycasting.c b/src/ft_raycasting.c index d51b77f..cd34014 100644 --- a/src/ft_raycasting.c +++ b/src/ft_raycasting.c @@ -16,45 +16,45 @@ #include <stdlib.h> #include <math.h> -static void - ft_calc_sprite_norme(t_cub *cl) -{ - if (cl->sp_list.s_start_y < 0) - cl->sp_list.s_start_y = 0; - cl->sp_list.s_end_y = cl->sp_list.s_h / 2 + cl->wlist->y_size / 2; - if (cl->sp_list.s_end_y > (int)cl->wlist->y_size) - cl->sp_list.s_end_y = cl->wlist->y_size - 1; - cl->sp_list.s_w = abs((int)(cl->wlist->x_size - * cl->sp_list.sprite_transform_y)); /*sprite width*/ - cl->sp_list.s_start_x = -cl->sp_list.s_w / 2 + cl->sp_list.s_screen_x; - if (cl->sp_list.s_start_x < 0) - cl->sp_list.s_start_y = 0; - cl->sp_list.s_end_x = cl->sp_list.s_w / 2 + cl->wlist->x_size; - if (cl->sp_list.s_end_x < (int)cl->wlist->x_size) - cl->sp_list.s_end_x = cl->wlist->x_size - 1; -} +/* static void */ +/* ft_calc_sprite_norme(t_cub *cl) */ +/* { */ +/* if (cl->sp_list.s_start_y < 0) */ +/* cl->sp_list.s_start_y = 0; */ +/* cl->sp_list.s_end_y = cl->sp_list.s_h / 2 + cl->wlist->y_size / 2; */ +/* if (cl->sp_list.s_end_y > (int)cl->wlist->y_size) */ +/* cl->sp_list.s_end_y = cl->wlist->y_size - 1; */ +/* cl->sp_list.s_w = abs((int)(cl->wlist->x_size */ +/* * cl->sp_list.sprite_transform_y)); /\*sprite width*\/ */ +/* cl->sp_list.s_start_x = -cl->sp_list.s_w / 2 + cl->sp_list.s_screen_x; */ +/* if (cl->sp_list.s_start_x < 0) */ +/* cl->sp_list.s_start_y = 0; */ +/* cl->sp_list.s_end_x = cl->sp_list.s_w / 2 + cl->wlist->x_size; */ +/* if (cl->sp_list.s_end_x < (int)cl->wlist->x_size) */ +/* cl->sp_list.s_end_x = cl->wlist->x_size - 1; */ +/* } */ -static void - ft_calc_sprite(t_cub *cl) -{ - cl->sp_list.s_x = cl->sp_list.s_pos_x - cl->plist->pos_x; - cl->sp_list.s_y = cl->sp_list.s_pos_y - cl->plist->pos_y; - cl->sp_list.inv_c_m = 1.0 / (cl->plist->plane_x * cl->plist->dir_x - - cl->plist->dir_y * cl->plist->plane_y); - cl->sp_list.sprite_transform_x = cl->sp_list.inv_c_m - * (cl->plist->dir_y * cl->sp_list.s_x - - cl->plist->dir_x * cl->sp_list.s_y); - cl->sp_list.sprite_transform_y = cl->sp_list.inv_c_m - * (cl->plist->plane_y * cl->sp_list.s_x - - cl->plist->plane_x * cl->sp_list.s_y); - cl->sp_list.s_screen_x = (int)((cl->wlist->y_size / 2) - * (1 + cl->sp_list.sprite_transform_x - / cl->sp_list.sprite_transform_y)); - cl->sp_list.s_h = - abs((int)(cl->wlist->y_size * cl->sp_list.sprite_transform_y)); - cl->sp_list.s_start_y = -cl->sp_list.s_h / 2 + cl->wlist->y_size / 2; - ft_calc_sprite_norme(cl); -} +/* static void */ +/* ft_calc_sprite(t_cub *cl) */ +/* { */ +/* cl->sp_list.s_x = cl->sp_list.s_pos_x - cl->plist->pos_x; */ +/* cl->sp_list.s_y = cl->sp_list.s_pos_y - cl->plist->pos_y; */ +/* cl->sp_list.inv_c_m = 1.0 / (cl->plist->plane_x * cl->plist->dir_x */ +/* - cl->plist->dir_y * cl->plist->plane_y); */ +/* cl->sp_list.sprite_transform_x = cl->sp_list.inv_c_m */ +/* * (cl->plist->dir_y * cl->sp_list.s_x */ +/* - cl->plist->dir_x * cl->sp_list.s_y); */ +/* cl->sp_list.sprite_transform_y = cl->sp_list.inv_c_m */ +/* * (cl->plist->plane_y * cl->sp_list.s_x */ +/* - cl->plist->plane_x * cl->sp_list.s_y); */ +/* cl->sp_list.s_screen_x = (int)((cl->wlist->y_size / 2) */ +/* * (1 + cl->sp_list.sprite_transform_x */ +/* / cl->sp_list.sprite_transform_y)); */ +/* cl->sp_list.s_h = */ +/* abs((int)(cl->wlist->y_size * cl->sp_list.sprite_transform_y)); */ +/* cl->sp_list.s_start_y = -cl->sp_list.s_h / 2 + cl->wlist->y_size / 2; */ +/* ft_calc_sprite_norme(cl); */ +/* } */ void ft_calc_tex(t_cub *clist) @@ -124,7 +124,7 @@ void cl->rlist.wall_b = wl->y_size - 1; ft_choose_tex(cl); ft_calc_tex(cl); - ft_calc_sprite(cl); + /* ft_calc_sprite(cl); */ /* ft_draw_sprite(cl , i); */ ft_draw_verline(cl, i, cl->rlist.wall_t, cl->rlist.wall_b); i++; @@ -34,6 +34,8 @@ int ft_wall_tex_init(clist); if (argc < 3) { + if (ft_init_winptr(clist) < 0) + return (ft_exit(FT_RET_FAILED_MLX, clist)); ft_draw_scene(clist); ft_hooks_and_loops(clist->wlist, clist); } @@ -47,5 +49,6 @@ int ft_dprintf(STDERR_FILENO, "Error\n\033[1;31mBad arguments\n\033[0m"); return (ft_exit(FT_RET_BAD_ARGV, clist)); } + /* ft_music(clist); */ return (0); } |