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> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/27 13:40:20 by qmennen #+# #+# */ /* 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_update(void *param);
void game_manager_select(t_game_manager *manager); void game_manager_select(t_game_manager *manager);
void game_manager_handle_input(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 #endif

View File

@ -1,12 +1,12 @@
/* ************************************************************************** */ /* ************************************************************************** */
/* */ /* */
/* :::::::: */ /* ::: :::::::: */
/* main.c :+: :+: */ /* main.c :+: :+: :+: */
/* +:+ */ /* +:+ +:+ +:+ */
/* By: qmennen <qmennen@student.codam.nl> +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/04/15 16:01:29 by qmennen #+# #+# */ /* Created: 2025/04/15 16:01:29 by qmennen #+# #+# */
/* Updated: 2025/06/10 19:13:38 by whaffman ######## odam.nl */ /* 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; manager->active_menu = &manager->menu;
mlx_key_hook(game->screen->mlx, keyhandle, manager); mlx_key_hook(game->screen->mlx, keyhandle, manager);
mlx_loop_hook(game->screen->mlx, game_manager_update, 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); mlx_loop(game->screen->mlx);
game_manager_destroy(manager); game_manager_destroy(manager);
return (EXIT_SUCCESS); return (EXIT_SUCCESS);

View File

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

View File

@ -6,7 +6,7 @@
/* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */ /* By: qmennen <qmennen@student.codam.nl> +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */ /* +#+#+#+#+#+ +#+ */
/* Created: 2025/05/27 14:31:53 by qmennen #+# #+# */ /* 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; i = 0;
if (!menu) if (!menu)
return ; return ;
while ((i++) < menu->num_options) while (i < menu->num_options)
{
free(menu->items[i]); free(menu->items[i]);
i++;
}
free(menu); free(menu);
} }