Refactor game_manager_destroy function to accept a generic parameter

This commit is contained in:
Quinten Mennen 2025-06-11 15:02:50 +02:00
parent 7f50960bf7
commit c784b5e5f7
4 changed files with 26 additions and 19 deletions

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/27 13:40:20 by qmennen #+# #+# */
/* Updated: 2025/06/04 18:52:58 by qmennen ### ########.fr */
/* Updated: 2025/06/11 15:00:14 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -20,6 +20,6 @@ void game_manager_display(t_game_manager *manager);
void game_manager_update(void *param);
void game_manager_select(t_game_manager *manager);
void game_manager_handle_input(t_game_manager *manager);
void game_manager_destroy(t_game_manager *manager);
void game_manager_destroy(void *param);
#endif

View File

@ -1,12 +1,12 @@
/* ************************************************************************** */
/* */
/* :::::::: */
/* main.c :+: :+: */
/* +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ */
/* +#+ */
/* Created: 2025/04/15 16:01:29 by qmennen #+# #+# */
/* Updated: 2025/06/10 19:13:38 by whaffman ######## odam.nl */
/* ::: :::::::: */
/* main.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 16:01:29 by qmennen #+# #+# */
/* Updated: 2025/06/11 14:58:56 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -29,6 +29,7 @@ int main(int argc, char **argv)
manager->active_menu = &manager->menu;
mlx_key_hook(game->screen->mlx, keyhandle, manager);
mlx_loop_hook(game->screen->mlx, game_manager_update, manager);
mlx_close_hook(game->screen->mlx, game_manager_destroy, manager);
mlx_loop(game->screen->mlx);
game_manager_destroy(manager);
return (EXIT_SUCCESS);

View File

@ -1,12 +1,12 @@
/* ************************************************************************** */
/* */
/* :::::::: */
/* game_manager.c :+: :+: */
/* +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ */
/* +#+ */
/* Created: 2025/05/27 13:48:18 by qmennen #+# #+# */
/* Updated: 2025/06/10 20:24:00 by whaffman ######## odam.nl */
/* ::: :::::::: */
/* game_manager.c :+: :+: :+: */
/* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/27 13:48:18 by qmennen #+# #+# */
/* Updated: 2025/06/11 15:00:38 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -51,8 +51,11 @@ void game_manager_update(void *param)
keyboard_update(manager->game);
}
void game_manager_destroy(t_game_manager *manager)
void game_manager_destroy(void *param)
{
t_game_manager *manager;
manager = (t_game_manager *)param;
if (!manager)
return ;
if (manager->menu)

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/27 14:31:53 by qmennen #+# #+# */
/* Updated: 2025/06/11 14:54:39 by qmennen ### ########.fr */
/* Updated: 2025/06/11 15:02:35 by qmennen ### ########.fr */
/* */
/* ************************************************************************** */
@ -79,7 +79,10 @@ void menu_free(t_menu *menu, t_screen *screen)
i = 0;
if (!menu)
return ;
while ((i++) < menu->num_options)
while (i < menu->num_options)
{
free(menu->items[i]);
i++;
}
free(menu);
}