diff --git a/inc/types.h b/inc/types.h index bfa79cb..3e64564 100644 --- a/inc/types.h +++ b/inc/types.h @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 15:52:44 by qmennen #+# #+# */ -/* Updated: 2025/05/06 18:36:47 by qmennen ### ########.fr */ +/* Updated: 2025/05/06 19:20:58 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -49,6 +49,7 @@ typedef struct s_player t_vec2 camera; double speed; double fov; + int steps; } t_player; typedef struct s_map diff --git a/src/player.c b/src/player.c index ac17be5..22206ff 100644 --- a/src/player.c +++ b/src/player.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 18:53:19 by qmennen #+# #+# */ -/* Updated: 2025/05/06 15:20:18 by qmennen ### ########.fr */ +/* Updated: 2025/05/06 19:22:37 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,6 +27,7 @@ int player_create(t_game **game) player->camera.y = 0.66f; player->speed = 3.f; player->fov = 90.f; + player->steps = 0; (*game)->player = player; return (SUCCESS); } @@ -39,9 +40,15 @@ static void move(t_map *map, t_player *player, int dir, double delta) xa = dir * player->dir.x * player->speed * delta; ya = dir * player->dir.y * player->speed * delta; if (xa != 0 && collision_horizontal(map, player, xa)) + { player->pos.x += xa; + player->steps++; + } if (ya != 0 && collision_vertical(map, player, ya)) + { player->pos.y += ya; + player->steps++; + } } static void strave(t_map *map, t_player *player, int dir, double delta) diff --git a/src/render/DDAscratch.c b/src/render/DDAscratch.c index a1e82c1..4b267e7 100644 --- a/src/render/DDAscratch.c +++ b/src/render/DDAscratch.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/02 11:58:09 by whaffman #+# #+# */ -/* Updated: 2025/05/06 19:06:09 by qmennen ### ########.fr */ +/* Updated: 2025/05/06 19:49:13 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -163,10 +163,10 @@ void draw_line(t_game *game, t_render render, int x) if (render.side == SIDE_NORTH || render.side == SIDE_EAST) tex_x = game->map->textures[render.side]->width - tex_x - 1; y = drawStart; - while (y map->textures[render.side]->height / (double) lineHeight) * (y - texDrawStart)); - color = get_texture_color(game->map->textures[render.side], render, tex_x, tex_y); + tex_y = (int)(((double) game->map->textures[render.side]->height / (double) lineHeight) * (y - texDrawStart)); + color = get_texture_color(game->map->textures[render.side], render, tex_x, tex_y); if (x < 0 || x >= game->screen->width || y < 0 || y >= game->screen->height) break; mlx_put_pixel(game->screen->img, x, y, color); diff --git a/src/screen.c b/src/screen.c index 218469a..6d7d0b6 100644 --- a/src/screen.c +++ b/src/screen.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 15:30:27 by qmennen #+# #+# */ -/* Updated: 2025/05/06 19:10:12 by qmennen ### ########.fr */ +/* Updated: 2025/05/06 19:19:23 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -22,7 +22,7 @@ int screen_create(t_game **game) return (FAILURE); screen->width = WIDTH; screen->height = HEIGHT; - mlx_set_setting(MLX_FULLSCREEN, 1); + // mlx_set_setting(MLX_FULLSCREEN, 1); mlx = mlx_init(WIDTH, HEIGHT, TITLE, false); if (!mlx) return (FAILURE);