]> git.dkaiser.de - 42/so_long.git/commitdiff
Add wall rendering
authorDominik Kaiser <dkaiser@1-C-5.42heilbronn.de>
Sat, 11 May 2024 14:27:45 +0000 (16:27 +0200)
committerDominik Kaiser <dkaiser@1-C-5.42heilbronn.de>
Sat, 11 May 2024 14:27:45 +0000 (16:27 +0200)
include/so_long.h
src/draw.c
src/main.c
textures/wall.png [new file with mode: 0644]

index 47443aaae188bddd581bd1166853bda8a99e98fd..e9097d1587acdcefdc01f67b9245bbeb991d94d0 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/05/08 14:14:02 by dkaiser           #+#    #+#             */
-/*   Updated: 2024/05/10 17:28:23 by dkaiser          ###   ########.fr       */
+/*   Updated: 2024/05/11 16:10:26 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -81,6 +81,7 @@ int                           load_map_from_file(t_tilemap *tilemap, char *filename);
 int                            init(t_game *game);
 void                   loop(void *params);
 int                            draw(t_game *game);
+int                            draw_map(t_game *game);
 void                   on_key_input(mlx_key_data_t event, void *params);
 
 #endif // SO_LONG_H
index de4ba48f02e2b46f6557ecf2807ffdab7b849c7b..b5e5455b9a56a0e218eee2d0412134418aeb4b7d 100644 (file)
@@ -6,13 +6,41 @@
 /*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/05/09 17:58:23 by dkaiser           #+#    #+#             */
-/*   Updated: 2024/05/10 11:58:52 by dkaiser          ###   ########.fr       */
+/*   Updated: 2024/05/11 16:00:17 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
+#include "MLX42/MLX42.h"
 #include "libft.h"
 #include "so_long.h"
 
+int draw_map(t_game *game)
+{
+       int x;
+       int y;
+       mlx_texture_t *wall_texture;
+       mlx_image_t *wall_image;
+
+       wall_texture = mlx_load_png("textures/wall.png");
+       wall_image = mlx_texture_to_image(game->mlx, wall_texture);
+       mlx_resize_image(wall_image, 48, 48);
+       game->map.tile_size.x = 48;
+       game->map.tile_size.y = 48;
+       x = 0;
+       while (x < game->map.grid_size.x)
+       {
+               y = 0;
+               while (y < game->map.grid_size.y)
+               {
+                       if (game->map.tiles[y * game->map.grid_size.x + x] == WALL)
+                               mlx_image_to_window(game->mlx, wall_image, x * game->map.tile_size.x, y * game->map.tile_size.y);
+                       y++;
+               }
+               x++;
+       }
+       return (0);
+}
+
 int    draw(t_game *game)
 {
        game->player.img->instances[0].x = game->player.position.x;
index 53fb23df05114f53786fbf95f2c8219139525ddf..f7352f4e54aba106faa47ff2a23bf0af80ebde37 100644 (file)
@@ -6,7 +6,7 @@
 /*   By: dkaiser <dkaiser@student.42heilbronn.de    +#+  +:+       +#+        */
 /*                                                +#+#+#+#+#+   +#+           */
 /*   Created: 2024/05/08 14:14:13 by dkaiser           #+#    #+#             */
-/*   Updated: 2024/05/10 17:30:38 by dkaiser          ###   ########.fr       */
+/*   Updated: 2024/05/11 15:58:31 by dkaiser          ###   ########.fr       */
 /*                                                                            */
 /* ************************************************************************** */
 
@@ -21,5 +21,6 @@ int   main(int argc, char *argv[])
        if (load_map_from_file(&game.map, argv[1]))
                return (1);
        init(&game);
+       draw_map(&game);
        mlx_loop(game.mlx);
 }
diff --git a/textures/wall.png b/textures/wall.png
new file mode 100644 (file)
index 0000000..358cdfb
Binary files /dev/null and b/textures/wall.png differ