/* ************************************************************************** */
/*                                                                            */
/*                                                        :::      ::::::::   */
/*   game.c                                             :+:      :+:    :+:   */
/*                                                    +:+ +:+         +:+     */
/*   By: erey-bet <marvin@42.fr>                    +#+  +:+       +#+        */
/*                                                +#+#+#+#+#+   +#+           */
/*   Created: 2023/04/26 12:59:53 by erey-bet          #+#    #+#             */
/*   Updated: 2023/05/11 16:16:00 by erey-bet         ###   ########.fr       */
/*                                                                            */
/* ************************************************************************** */

#include "game.h"

void	destroy(t_game *game)
{
	mlx_delete_texture(game->textures[0]);
	mlx_delete_texture(game->textures[1]);
	mlx_delete_texture(game->textures[2]);
	mlx_delete_texture(game->textures[3]);
	mlx_terminate(game->mlx);
}

int	start_game(t_map	map)
{
	t_game	game;

	if (init(map, &game))
		return (1);
	game.window = mlx_new_image(game.mlx, WIDTH, HEIGHT);
	if (!game.window)
	{
		mlx_terminate(game.mlx);
		return (1);
	}
	if (mlx_image_to_window(game.mlx, game.window, 0, 0) == -1)
	{
		mlx_terminate(game.mlx);
		return (1);
	}
	raycasting(&game);
	mlx_key_hook(game.mlx, manage, &game);
	mlx_loop(game.mlx);
	destroy(&game);
	return (0);
}
