/* ************************************************************************** */
/*                                                                            */
/*                                                        :::      ::::::::   */
/*   clean.c                                            :+:      :+:    :+:   */
/*                                                    +:+ +:+         +:+     */
/*   By: aortigos <aortigos@student.42malaga.com    +#+  +:+       +#+        */
/*                                                +#+#+#+#+#+   +#+           */
/*   Created: 2025/11/28 20:03:22 by aortigos          #+#    #+#             */
/*   Updated: 2025/12/15 10:27:21 by aortigos         ###   ########.fr       */
/*                                                                            */
/* ************************************************************************** */

#include "../../includes/cub3d.h"

void	freetl(char *ture, char *line, int fd)
{
	if (ture)
		ft_memfree(ture);
	if (line)
		ft_memfree(line);
	if (fd >= 0)
		close(fd);
}

void	free_map(t_data *data)
{
	free2d(data->sq_map);
	free2d(data->map2d);
	free2d(data->texture2d);
	if (data->ff)
		free2d(data->ff);
	if (data->cc)
		free2d(data->cc);
}

void	free_m(t_mlx *mlx)
{
	if (mlx->dt->sq_map)
		free2d(mlx->dt->sq_map);
	if (mlx->dt->map2d)
		free2d(mlx->dt->map2d);
	if (mlx->dt->texture2d)
		free2d(mlx->dt->texture2d);
	if (mlx->dt->ff)
		free2d(mlx->dt->ff);
	if (mlx->dt->cc)
		free2d(mlx->dt->cc);
}

void	freelist(t_texture_list **txture)
{
	t_texture_list	*tmp;

	tmp = *txture;
	while (tmp)
	{
		*txture = tmp->next;
		ft_memfree(tmp->name);
		ft_memfree(tmp->value);
		ft_memfree(tmp);
		tmp = *txture;
	}
	ft_memfree(*txture);
}
