/* ************************************************************************** */ /* */ /* ::: :::::::: */ /* player.c :+: :+: :+: */ /* +:+ +:+ +:+ */ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/08/06 11:29:14 by kcolin #+# #+# */ /* Updated: 2025/09/16 14:59:49 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ #include "player.h" #include "../../libft/includes/libft.h" #include "../map/mapdata.h" #include "../consts.h" #include "../hud/load_texture.h" // east west void init_lon(t_player *player, char dir) { if (dir == 'N') { player->dir_x = 0; player->dir_y = -1; player->plane_x = PLANE_VALUE; player->plane_y = 0; } else { player->dir_x = 0; player->dir_y = 1; player->plane_x = -PLANE_VALUE; player->plane_y = 0; } } // north south void init_lat(t_player *player, char dir) { if (dir == 'E') { player->dir_x = 1; player->dir_y = 0; player->plane_x = 0; player->plane_y = PLANE_VALUE; } else { player->dir_x = -1; player->dir_y = 0; player->plane_x = 0; player->plane_y = -PLANE_VALUE; } } void init_player(t_cub3d_data *data, t_player *player, t_mapdata *map) { char dir; dir = map->map[map->starty][map->startx]; player->x = map->startx + 0.5; player->y = map->starty + 0.5; player->health = 100; player->points = 500; ft_bzero(player->perk_order, 3); ft_bzero(&player->weapon, sizeof(t_weapon)); player->weapon.texture = load_hud_texture(data, "ressources/weapon.xpm"); player->weapon.shoot_texture = load_hud_texture(data, "ressources/weapon_shooting.xpm"); if (dir == 'N' || dir == 'S') init_lon(player, dir); else init_lat(player, dir); }