/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* ft_init_lists.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: rbousset +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2020/02/14 17:28:53 by rbousset #+# #+# */ /* Updated: 2020/02/14 17:28:53 by rbousset ### ########lyon.fr */ /* */ /* ************************************************************************** */ #include #include #include #include #include #include #include #include static int8_t ft_init_sfx_cmd(char **target, const char *path) { uint8_t len; len = ft_strlen(path); len += ft_strlen(FT_SND_CMD) - 2; if (!(*target = (char *)malloc((len + 1) * sizeof(char)))) return (-1); ft_sprintf(*target, FT_SND_CMD, path); return (0); } int8_t ft_init_sfx(t_sfx *sfx) { if (ft_init_sfx_cmd(&sfx->death, FT_SFX_DEATH_PATH) < 0 || ft_init_sfx_cmd(&sfx->footstep_one, FT_SFX_FS_ONE_PATH) < 0 || ft_init_sfx_cmd(&sfx->footstep_two, FT_SFX_FS_TWO_PATH) < 0 || ft_init_sfx_cmd(&sfx->new_lvl, FT_SFX_N_LVL_PATH) < 0 || ft_init_sfx_cmd(&sfx->pain_one, FT_SFX_SCR_ONE_PATH) < 0 || ft_init_sfx_cmd(&sfx->pain_two, FT_SFX_SCR_TWO_PATH) < 0 || ft_init_sfx_cmd(&sfx->trap, FT_SFX_TRAP_PATH) < 0) return (-1); pthread_mutex_init(&sfx->death_mutex, NULL); pthread_mutex_init(&sfx->footstep_mutex, NULL); pthread_mutex_init(&sfx->new_lvl_mutex, NULL); pthread_mutex_init(&sfx->pain_mutex, NULL); pthread_mutex_init(&sfx->trap_mutex, NULL); pthread_create(&sfx->death_tid, NULL, ft_sfx_death_thread, sfx); pthread_create(&sfx->footstep_tid, NULL, ft_sfx_footstep_thread, sfx); pthread_create(&sfx->new_lvl_tid, NULL, ft_sfx_new_lvl_thread, sfx); pthread_create(&sfx->pain_tid, NULL, ft_sfx_pain_thread, sfx); pthread_create(&sfx->trap_tid, NULL, ft_sfx_trap_thread, sfx); return (0); }