summaryrefslogtreecommitdiff
path: root/src/main.c
diff options
context:
space:
mode:
authorDominik Kaiser2024-06-10 16:39:55 +0200
committerDominik Kaiser2024-06-10 16:39:55 +0200
commitff7d60ad044e98e1e2e14170b5804d141856a949 (patch)
treedd896d064a49bb399b7c942fde49ae0bf892263b /src/main.c
parent81bfaf91dedc75b758a9057a2b7c23adc5a68e93 (diff)
downloadso_long-ff7d60ad044e98e1e2e14170b5804d141856a949.tar.gz
so_long-ff7d60ad044e98e1e2e14170b5804d141856a949.zip
Cleanup
Diffstat (limited to 'src/main.c')
-rw-r--r--src/main.c34
1 files changed, 28 insertions, 6 deletions
diff --git a/src/main.c b/src/main.c
index 75b58d2..10e68bc 100644
--- a/src/main.c
+++ b/src/main.c
@@ -6,24 +6,46 @@
/* By: dkaiser <dkaiser@student.42heilbronn.de +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2024/05/08 14:14:13 by dkaiser #+# #+# */
-/* Updated: 2024/05/29 14:58:22 by dkaiser ### ########.fr */
+/* Updated: 2024/06/10 16:37:21 by dkaiser ### ########.fr */
/* */
/* ************************************************************************** */
+#include "libft.h"
#include "so_long.h"
+static void cleanup(t_game *game);
+static int error(char *msg);
+
int main(int argc, char *argv[])
{
t_game game;
if (argc != 2)
- return (1);
+ return (error("Usage: ./so_long <map>"));
if (load_map_from_file(&game.map, argv[1]))
- return (1);
+ return (error("Not a valid map."));
if (check_map(&game.map))
- return (1);
+ {
+ free(game.map.tiles);
+ return (error("Not a valid map."));
+ }
init(&game);
- draw_walls(&game);
- draw_exit(&game);
+ draw_map(&game);
mlx_loop(game.mlx);
+ cleanup(&game);
+}
+
+static void cleanup(t_game *game)
+{
+ if (game->map.tiles)
+ free(game->map.tiles);
+ if (game->mlx)
+ mlx_terminate(game->mlx);
+}
+
+static int error(char *msg)
+{
+ ft_putendl_fd("Error", 2);
+ ft_putendl_fd(msg, 2);
+ return (1);
}