feat (window): close window on esc

This commit is contained in:
Quinten Mennen 2025-04-15 18:05:02 +02:00
parent 7e1bfc245c
commit 81f38daf23
6 changed files with 51 additions and 5 deletions

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 12:22:29 by qmennen #+# #+# */
/* Updated: 2025/04/15 16:53:27 by qmennen ### ########.fr */
/* Updated: 2025/04/15 17:55:33 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -20,6 +20,7 @@
# include "errors.h"
# include "game.h"
# include "screen.h"
# include "keyhandle.h"
# include "render.h"
# define FAILURE 0

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 15:46:16 by qmennen #+# #+# */
/* Updated: 2025/04/15 17:21:36 by qmennen ### ########.fr */
/* Updated: 2025/04/15 17:58:22 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */

20
inc/keyhandle.h Normal file
View File

@ -0,0 +1,20 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* keyhandle.h :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 17:51:44 by qmennen #+# #+# */
/* Updated: 2025/04/15 17:56:00 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
#ifndef KEYHANDLE_H
# define KEYHANDLE_H
# include "cub3d.h"
void keyhandle(mlx_key_data_t keydata, void *param);
#endif

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 15:46:08 by qmennen #+# #+# */
/* Updated: 2025/04/15 17:23:29 by qmennen ### ########.fr */
/* Updated: 2025/04/15 18:02:09 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -43,8 +43,8 @@ void game_terminate(t_game *game)
{
if (game->screen)
{
mlx_close_window(game->screen->mlx);
mlx_delete_image(game->screen->mlx, game->screen->img);
mlx_close_window(game->screen->mlx);
mlx_terminate(game->screen->mlx);
free(game->screen);
}
@ -53,4 +53,5 @@ void game_terminate(t_game *game)
if (game->map)
free(game->map);
free(game);
exit(EXIT_SUCCESS);
}

22
src/keyhandle.c Normal file
View File

@ -0,0 +1,22 @@
/* ************************************************************************** */
/* */
/* ::: :::::::: */
/* keyhandle.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 17:51:26 by qmennen #+# #+# */
/* Updated: 2025/04/15 17:56:24 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
#include "keyhandle.h"
void keyhandle(mlx_key_data_t keydata, void *param)
{
t_game *game;
game = (t_game *)param;
if (keydata.key == MLX_KEY_ESCAPE)
game_terminate(game);
}

View File

@ -6,10 +6,11 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 16:01:29 by qmennen #+# #+# */
/* Updated: 2025/04/15 17:23:45 by qmennen ### ########.fr */
/* Updated: 2025/04/15 18:02:44 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
#include "MLX42.h"
# include "cub3d.h"
int main(void)
@ -22,6 +23,7 @@ int main(void)
return (EXIT_FAILURE);
}
screen_center(game->screen);
mlx_key_hook(game->screen->mlx, keyhandle, game);
mlx_loop_hook(game->screen->mlx, game_loop, game);
mlx_loop(game->screen->mlx);
game_terminate(game);