aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_draw_hud.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ft_draw_hud.c')
-rw-r--r--src/ft_draw_hud.c56
1 files changed, 55 insertions, 1 deletions
diff --git a/src/ft_draw_hud.c b/src/ft_draw_hud.c
index 1564e2e..68cdac5 100644
--- a/src/ft_draw_hud.c
+++ b/src/ft_draw_hud.c
@@ -12,15 +12,69 @@
#include <cub3d.h>
#include <mlx.h>
+#include <stdint.h>
static void
-ft_draw_hud_back(t_win *wl, t_cub *cl)
+ ft_draw_hud_back(t_win *wl, t_cub *cl)
{
+ const uint16_t scl = cl->mlist->scale;
+ uint32_t x;
+ uint32_t y;
+
+ x = 0;
+ y = wl->y_size - ((cl->mlist->map_h * scl));
+ while (x < wl->x_size)
+ {
+ while (y < wl->y_size)
+ {
+ *(int*)(cl->img.ptr + (x * 4 +
+ (y * cl->img.sizeline))) = 0x00808080;
+ y++;
+ }
+ y = wl->y_size - ((cl->mlist->map_h * scl));
+ x++;
+ }
+}
+
+static void
+ ft_draw_hud_back_top(size_t map_h, size_t map_w, t_win *wl, t_cub *cl)
+{
+ const uint16_t scl = cl->mlist->scale;
+ uint32_t x;
+ uint32_t y;
+
+ x = 0;
+ y = wl->y_size - (map_h * scl) - 20;
+ while (x < (map_w * scl) + 20)
+ {
+ while (y < wl->y_size - (map_h * scl))
+ {
+ *(int*)(cl->img.ptr + (x * 4 +
+ (y * cl->img.sizeline))) = 0x00808080;
+ y++;
+ }
+ y = wl->y_size - (map_h * scl) - 20;
+ x++;
+ }
+ x = wl->x_size - (map_w * scl) + 20;
+ while (x < wl->x_size)
+ {
+ while (y < wl->y_size - (map_h * scl))
+ {
+ *(int*)(cl->img.ptr + (x * 4 +
+ (y * cl->img.sizeline))) = 0x00808080;
+ y++;
+ }
+ y = wl->y_size - (map_h * scl) - 20;
+ x++;
+ }
}
void
ft_draw_hud(t_cub *clist)
{
ft_draw_hud_back(clist->wlist, clist);
+ ft_draw_hud_back_top(clist->mlist->map_h,
+ clist->mlist->map_w, clist->wlist, clist);
ft_draw_map(clist->mlist->map, clist);
}