Cub3D
Loading...
Searching...
No Matches
main.c
1/* ************************************************************************** */
2/* */
3/* ::: :::::::: */
4/* main.c :+: :+: :+: */
5/* +:+ +:+ +:+ */
6/* By: kamitsui <kamitsui@student.42tokyo.jp> +#+ +:+ +#+ */
7/* +#+#+#+#+#+ +#+ */
8/* Created: 2024/09/02 18:18:16 by kamitsui #+# #+# */
9/* Updated: 2024/12/21 09:35:43 by kamitsui ### ########.fr */
10/* */
11/* ************************************************************************** */
12
13#include "cub3d.h"
14
15int end_game(t_game *game)
16{
17 ft_printf("quit cub3D\n");
18 destroy_texture_image(game->mlx, game->texture,
19 BIT_NORTH | BIT_SOUTH | BIT_EAST | BIT_WEST);
20 free_double_pointer(game->map.data);
21 mlx_destroy_image(game->mlx, game->img_3d.img);
22 mlx_destroy_image(game->mlx, game->img_2d.img);
23 mlx_destroy_window(game->mlx, game->win);
24 mlx_loop_end(game->mlx);
25 exit(0);
26}
27 //if (game->debug.fd != STDOUT_FILENO)
28 // close(game->debug.fd);
29
30// free(game->mlx); // don't use : SEGV !!!!
31
32static void start_game(t_game *game)
33{
34 mlx_hook(game->win, 2, 1L << 0, handle_key_press, game);
35 mlx_hook(game->win, 17, 1L << 17, end_game, game);
36 mlx_mouse_hook(game->win, handle_mouse, game);
37 mlx_loop_hook(game->mlx, (void *)render_frame, game);
38 mlx_loop(game->mlx);
39}
40
41int main(int argc, char *argv[])
42{
43 t_game game;
44
45 if (init_game(&game, argc, argv) != EXIT_SUCCESS)
46 exit(EXIT_FAILURE);
47 start_game(&game);
48 return (EXIT_SUCCESS);
49}
main game
Definition type_cub3d.h:264