/* ************************************************************************** */ /* */ /* :::::::: */ /* render.c :+: :+: */ /* +:+ */ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/04/15 16:28:10 by qmennen #+# #+# */ /* Updated: 2025/05/07 11:38:34 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "render.h" #include "MLX42.h" int render_check_bounds(t_screen *screen, t_vec2 *point) { return (point->x >= 0 && point->x < screen->width && point->y > 0 && point->y < screen->height); } void render_tile(t_screen *screen, int x, int y, t_tile tile) { int i; int xp; int yp; i = 0; if (tile < 0) return ; while ((i++) < TILE_SIZE * TILE_SIZE) { xp = x + (i % TILE_SIZE); yp = y + (i / TILE_SIZE); if (xp < 0 || xp >= screen->width || yp < 0 || yp >= screen->height) continue ; if (tile == TILE_WALL) mlx_put_pixel(screen->minimap, xp, yp, 0xA88132aa); else if (tile == TILE_EMPTY || tile == TILE_PLAYER) mlx_put_pixel(screen->minimap, xp, yp, 0xaaaaaa44); } } void render_map(t_screen *screen, t_map *map) { int i; int x; int y; i = 0; while (i < map->width * map->height) { x = i % map->width; y = i / map->width; if (x < 0 || x >= map->width || y < 0 || y >= map->height) continue ; render_tile(screen, x * TILE_SIZE, y * TILE_SIZE, map->grid[y][x]); i++; } } void render_entities(t_game *game) { player_render(game->screen, game->player); }