diff --git a/src/map/collision.c b/src/map/collision.c index cb84493..c5caa48 100644 --- a/src/map/collision.c +++ b/src/map/collision.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/08/06 11:25:05 by kcolin #+# #+# */ -/* Updated: 2025/08/06 11:49:00 by kcolin ### ########.fr */ +/* Updated: 2025/08/20 12:47:52 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ @@ -17,22 +17,22 @@ static bool out_of_bounds(t_mapdata *data, int x, int y) { if (x < 0 || y < 0 - || x >= data->mapheight - || y > (int)ft_strlen(data->map[x])) + || y >= data->mapheight + || x > (int)ft_strlen(data->map[y])) return (true); return (false); } bool blocks_movement(t_mapdata *data, int x, int y) { - if (out_of_bounds(data, x, y) || data->map[x][y] == '1') + if (out_of_bounds(data, x, y) || data->map[y][x] == '1') return (true); return (false); } bool blocks_view(t_mapdata *data, int x, int y) { - if (out_of_bounds(data, x, y) || data->map[x][y] == '1') + if (out_of_bounds(data, x, y) || data->map[y][x] == '1') return (true); return (false); } diff --git a/src/player/move_step.c b/src/player/move_step.c index 4b847c0..7166aa4 100644 --- a/src/player/move_step.c +++ b/src/player/move_step.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/08/08 14:06:37 by kcolin #+# #+# */ -/* Updated: 2025/08/12 12:16:17 by kcolin ### ########.fr */ +/* Updated: 2025/08/20 12:43:23 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ @@ -42,16 +42,16 @@ bool move_forward_step(t_cub3d_data *data, double mov_x, double mov_y) blocks = 2; x_step = calc_step(mov_x); y_step = calc_step(mov_y); - if (!blocks_movement(data->map, (int)data->player.y, - (int)(data->player.x + x_step))) + if (!blocks_movement(data->map, (int)data->player.x, + (int)(data->player.y + y_step))) { - data->player.x += x_step; + data->player.y += y_step; blocks--; } if (!blocks_movement(data->map, - (int)(data->player.y + y_step), (int)data->player.x)) + (int)(data->player.x + x_step), (int)data->player.y)) { - data->player.y += y_step; + data->player.x += x_step; blocks--; } return (blocks < 2); @@ -66,16 +66,16 @@ bool move_backward_step(t_cub3d_data *data, double mov_x, double mov_y) blocks = 2; x_step = calc_step(mov_x); y_step = calc_step(mov_y); - if (!blocks_movement(data->map, (int)data->player.y, - (int)(data->player.x - x_step))) + if (!blocks_movement(data->map, (int)data->player.x, + (int)(data->player.y - y_step))) { - data->player.x -= x_step; + data->player.y -= y_step; blocks--; } if (!blocks_movement(data->map, - (int)(data->player.y - y_step), (int)data->player.x)) + (int)(data->player.x - x_step), (int)data->player.y)) { - data->player.y -= y_step; + data->player.x -= x_step; blocks--; } return (blocks < 2); @@ -90,16 +90,16 @@ bool move_strafe_left_step(t_cub3d_data *data, double mov_x, double mov_y) blocks = 2; x_step = calc_step(mov_x); y_step = calc_step(mov_y); - if (!blocks_movement(data->map, (int)data->player.y, - (int)(data->player.x - x_step))) + if (!blocks_movement(data->map, (int)data->player.x, + (int)(data->player.y - y_step))) { - data->player.x -= x_step; + data->player.y -= y_step; blocks--; } if (!blocks_movement(data->map, - (int)(data->player.y - y_step), (int)data->player.x)) + (int)(data->player.x - x_step), (int)data->player.y)) { - data->player.y -= y_step; + data->player.x -= x_step; blocks--; } return (blocks < 2); @@ -114,17 +114,17 @@ bool move_strafe_right_step(t_cub3d_data *data, double mov_x, double mov_y) blocks = 2; x_step = calc_step(mov_x); y_step = calc_step(mov_y); - if (!blocks_movement(data->map, (int)data->player.y, - (int)(data->player.x + x_step))) - { - data->player.x += x_step; - blocks--; - } - if (!blocks_movement(data->map, - (int)(data->player.y + y_step), (int)data->player.x)) + if (!blocks_movement(data->map, (int)data->player.x, + (int)(data->player.y + y_step))) { data->player.y += y_step; blocks--; } + if (!blocks_movement(data->map, + (int)(data->player.x + x_step), (int)data->player.y)) + { + data->player.x += x_step; + blocks--; + } return (blocks < 2); } diff --git a/src/raycast/ray.c b/src/raycast/ray.c index d555267..a929b19 100644 --- a/src/raycast/ray.c +++ b/src/raycast/ray.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/07/31 11:55:41 by kcolin #+# #+# */ -/* Updated: 2025/08/06 14:02:40 by tchampio ### ########.fr */ +/* Updated: 2025/08/20 12:48:06 by tchampio ### ########.fr */ /* */ /* ************************************************************************** */ @@ -70,7 +70,7 @@ void calculate_wall_dist(t_ray *ray, t_mapdata *map) ray->map_y += ray->step_y; ray->side = SOUTH; } - if (blocks_view(map, ray->map_y, ray->map_x)) + if (blocks_view(map, ray->map_x, ray->map_y)) break ; } if (ray->side == NORTH)