/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* game.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: erey-bet +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2023/04/26 12:59:53 by erey-bet #+# #+# */ /* Updated: 2023/05/19 17:49:02 by erey-bet ### ########.fr */ /* */ /* ************************************************************************** */ #include "game.h" int destroy(t_game *game) { if (game->textures[0]) { mlx_delete_texture(game->textures[0]); if (game->textures[1]) { mlx_delete_texture(game->textures[1]); if (game->textures[2]) { mlx_delete_texture(game->textures[2]); if (game->textures[3]) { mlx_delete_texture(game->textures[3]); if (game->mlx) mlx_terminate(game->mlx); } } } } return (1); } int start_game(t_map map) { t_game game; if (init(map, &game)) return (destroy(&game)); game.window = mlx_new_image(game.mlx, WIDTH, HEIGHT); if (!game.window) { mlx_terminate(game.mlx); return (destroy(&game)); } if (mlx_image_to_window(game.mlx, game.window, 0, 0) == -1) { mlx_terminate(game.mlx); return (destroy(&game)); } raycasting(&game); mlx_key_hook(game.mlx, manage, &game); mlx_loop(game.mlx); destroy(&game); return (0); }