15static int init_3d_image(
void *mlx,
t_img *img_3d)
23 img = (
void *)mlx_new_image(mlx, IMG_3D_WIDTH, WIN_HEIGHT);
25 return (EXIT_FAILURE);
26 bits_per_pixel = &(img_3d->bpp);
27 size_line = &(img_3d->line_length);
28 endian = &(img_3d->endian);
29 addr = (
char *)mlx_get_data_addr(img, bits_per_pixel, size_line, endian);
32 mlx_destroy_image(mlx, img_3d->img);
33 return (EXIT_FAILURE);
37 return (EXIT_SUCCESS);
40static int init_2d_image(
void *mlx,
t_img *img_2d)
48 img = mlx_new_image(mlx, IMG_2D_WIDTH, WIN_HEIGHT);
50 return (EXIT_FAILURE);
51 bits_per_pixel = &img_2d->bpp;
52 size_line = &img_2d->line_length;
53 endian = &img_2d->endian;
54 addr = mlx_get_data_addr(img, bits_per_pixel, size_line, endian);
57 mlx_destroy_image(mlx, img_2d->img);
58 return (EXIT_FAILURE);
62 return (EXIT_SUCCESS);
65int init_mlx_image(
t_game *game)
67 if (init_3d_image(game->mlx, &game->img_3d) != EXIT_SUCCESS)
68 return (EXIT_FAILURE);
69 if (DISABLE_2D_MAP ==
false)
71 if (init_2d_image(game->mlx, &game->img_2d) != EXIT_SUCCESS)
73 mlx_destroy_image(game->mlx, game->img_3d.img);
74 return (EXIT_FAILURE);
77 return (EXIT_SUCCESS);
3D or 2D or Texture image