This commit is contained in:
2026-02-10 16:59:16 +01:00
parent c2cda6db61
commit df68426fa5
7 changed files with 58 additions and 29 deletions

View File

@@ -1,12 +1,10 @@
EA assets/textures/wallTlou.png
F 30,55,55
C 255,255,255
NO assets/textures/wallTlou.png
SO assets/textures/wallTlou.png
WE assets/textures/wallTlou.png
EA assets/textures/wallTlou.png
F 30,55,55
C 255,255,255
1111111111111111111
1000100001000100001
@@ -17,5 +15,5 @@ C 255,255,255
1000000000000000001
1000001000100000101
1000000000000000001
10000000N0000000001
1111111111111111111
100000N000000000011
1111111111111111111

17
assets/maps/maptmp.cub Normal file
View File

@@ -0,0 +1,17 @@
EA assets/textures/wallTlou.png
F 30,55,55
C 255,255,255
NO assets/textures/wallTlou.png
SO assets/textures/wallTlou.png
WE assets/textures/wallTlou.png
1111111111111111111111111111
1000000000000000000000000001
1000000000000000000000000001
1000000000000000000000000001
1000000000000E00000000000001
1000000000000000000000000001
1000000000000000000000000001
1000000000000000000000000001
1111111111111111111111111111

View File

@@ -6,7 +6,7 @@
/* By: aortigos <aortigos@student.42malaga.com +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/11/25 19:47:02 by aortigos #+# #+# */
/* Updated: 2026/02/10 15:31:25 by aortigos ### ########.fr */
/* Updated: 2026/02/10 16:56:59 by aortigos ### ########.fr */
/* */
/* ************************************************************************** */
@@ -30,15 +30,17 @@
# define WALL_SIZE 64
# define FOV 60
# define ROTATION_SPEED 0.045
# define PLAYER_SPEED 6
# define PLAYER_SPEED 2.0
# define COLLISION_MARGIN 1
# define ERR_INV_COP "Error: invalid argument\n"
# define ERR_INV_FILE "Error: invalid file\n"
# define ERR_EMPTY_FILE "Error: empty file\n"
# define ERR_MAP_INV "Error: invalid map element\n"
# define ERR_MAP_INV "Error: missing map element\n"
# define ERR_MAP_EMPTY "Error: empty line in the map\n"
# define ERR_MAP_ONE "Error: missing wall\n"
# define ERR_MAP_SPAWN "Error: No player spawn\n"
# define ERR_MAP_DUP "Error: duplicate map element\n"
# define ERR_MAP_RGB "Error: invalid color map [RGB]\n"

View File

@@ -6,7 +6,7 @@
/* By: aortigos <aortigos@student.42malaga.com +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/12/09 18:46:27 by aortigos #+# #+# */
/* Updated: 2026/02/10 11:38:48 by aortigos ### ########.fr */
/* Updated: 2026/02/10 16:42:55 by aortigos ### ########.fr */
/* */
/* ************************************************************************** */
@@ -79,20 +79,24 @@ int load_texture(t_tex *tex, t_texture_list *l_ture)
void get_angle(t_mlx *mlx)
{
char c;
c = mlx->dt->sq_map[mlx->dt->p_y][mlx->dt->p_x];
if (c == 'N') // North - faceing up
mlx->ply->angle = M_PI / 2;
if (c == 'S') // South - facing down
mlx->ply->angle = 3 * M_PI / 2;
if (c == 'E') // East - facing right
c = mlx->dt->sq_map[mlx->dt->p_y][mlx->dt->p_x];
if (c == 'N') // Norte - mira hacia ARRIBA (Y negativo)
mlx->ply->angle = 3 * M_PI / 2; // 270° (no 90°)
if (c == 'S') // Sur - mira hacia ABAJO (Y positivo)
mlx->ply->angle = M_PI / 2; // 90° (no 270°)
if (c == 'E') // Este - mira hacia DERECHA (X positivo)
mlx->ply->angle = 0;
if (c == 'W') // West - facing left
mlx->ply->angle = M_PI;
//Center player in starting cell
if (c == 'W') // Oeste - mira hacia IZQUIERDA (X negativo)
mlx->ply->angle = M_PI; // 180°
mlx->ply->plyr_x = (mlx->dt->p_x * WALL_SIZE) + WALL_SIZE / 2;
mlx->ply->plyr_y = (mlx->dt->p_y * WALL_SIZE) + WALL_SIZE / 2;
mlx->ply->fov_rd = (FOV * M_PI / 180); // Fov from degrees to radians
mlx->ply->fov_rd = (FOV * M_PI / 180);
}
int execution(t_data *dt)

View File

@@ -6,7 +6,7 @@
/* By: aortigos <aortigos@student.42malaga.com +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/12/05 17:11:09 by aortigos #+# #+# */
/* Updated: 2026/02/10 11:58:11 by aortigos ### ########.fr */
/* Updated: 2026/02/10 16:59:03 by aortigos ### ########.fr */
/* */
/* ************************************************************************** */

View File

@@ -6,7 +6,7 @@
/* By: aortigos <aortigos@student.42malaga.com +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/12/04 10:07:52 by aortigos #+# #+# */
/* Updated: 2026/02/10 12:27:18 by aortigos ### ########.fr */
/* Updated: 2026/02/10 16:31:48 by aortigos ### ########.fr */
/* */
/* ************************************************************************** */
@@ -71,8 +71,10 @@ int check_first_last_line(char **map)
{
if (!map[0])
return (ft_putstr_fd(ERR_MAP_INV, 2), 0);
if ((int)ft_strlen(map[0]) != (int)ft_strlen(map[ft_arraylen(map) - 1]))
return (ft_putstr_fd(ERR_MAP_ONE, 2), 0);
if (!line_around_one(map[0]) || !line_around_one(map[ft_arraylen(map) - 1]))
return (ft_putstr_fd("one Y\n", 2), 0);
return (ft_putstr_fd(ERR_MAP_ONE, 2), 0);
return (1);
}
@@ -86,9 +88,15 @@ int surrounded_by_one(char **map)
// Check each map line
while (map[++i])
if (!is_surrounded(map[i]) || !is_validmap(map[i], &flag) || flag > 1)
return (ft_putstr_fd("Invalid map\n", 2), 0);
{
ft_putstr_fd(ERR_MAP_ONE, 2);
return (0);
}
// Must have one player spawn
if (flag == 0)
return (ft_putstr_fd("no position map\n", 2), 0);
{
ft_putstr_fd(ERR_MAP_SPAWN, 2);
return (0);
}
return (1);
}

View File

@@ -6,7 +6,7 @@
/* By: aortigos <aortigos@student.42malaga.com +#+ +:+ +#+ */
/* +#+#+#+#+#+ +#+ */
/* Created: 2025/12/05 16:30:33 by aortigos #+# #+# */
/* Updated: 2025/12/15 10:27:21 by aortigos ### ########.fr */
/* Updated: 2026/02/10 16:30:46 by aortigos ### ########.fr */
/* */
/* ************************************************************************** */
@@ -46,7 +46,7 @@ int v_map(char **map)
{
if (map[i][j] != '1' && map[i][j] != ' ')
if (map[i - 1][j] == ' ' || map[i + 1][j] == ' ')
return (ft_putstr_fd(ERR_MAP_INV, 2), 0);
return (ft_putstr_fd(ERR_MAP_ONE, 2), 0);
j++;
}
i++;