cube3D/game/init.c
2023-04-27 15:13:32 +02:00

55 lines
1.5 KiB
C

/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* init.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: erey-bet <marvin@42.fr> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2023/04/27 14:50:22 by erey-bet #+# #+# */
/* Updated: 2023/04/27 15:08:25 by erey-bet ### ########.fr */
/* */
/* ************************************************************************** */
#include "game.h"
int check_free(t_game *game)
{
if (!game->mlx || !game->ply)
{
if (game->mlx)
free(game->mlx);
if (game->ply)
free(game->ply);
free(game);
return (1);
}
return (0);
}
t_ply *init_ply(t_map *map)
{
t_ply *ply;
ply = malloc(sizeof(t_ply));
if (!ply)
return (NULL);
ply->pos_x = map->ply_x;
ply->pos_y = map->ply_y;
return (ply);
}
t_game *init(t_map *map)
{
t_game *game;
game = malloc(sizeof(game));
if (!game)
return (NULL);
game->mlx = mlx_init(1920, 1080, "jan lili", true);
game->map = map;
game->ply = init_ply(map);
if (check_free(game))
return (NULL);
return (game);
}