diff options
Diffstat (limited to 'src/ft_draw_hud.c')
-rw-r--r-- | src/ft_draw_hud.c | 88 |
1 files changed, 31 insertions, 57 deletions
diff --git a/src/ft_draw_hud.c b/src/ft_draw_hud.c index 9cb5b1c..4ae497a 100644 --- a/src/ft_draw_hud.c +++ b/src/ft_draw_hud.c @@ -15,48 +15,19 @@ #include <stdint.h> static void - ft_draw_hud_back(t_win *wl, t_cub *cl) + ft_draw_minimap_back(size_t map_h, size_t map_w, t_win *wl, t_cub *cl) { - const uint16_t scl = cl->mlist->scale; + const uint16_t scl = cl->mlist.scale; uint32_t x; uint32_t y; int32_t col; - col = 0x00404040; - 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))) = col; - if (!(y % 3)) - { - if (col < 0x00909090) - col += 0x00010101; - } - y++; - } - col = 0x00404040; - y = wl->y_size - ((cl->mlist->map_h * scl)); - x++; - } -} - -static void - ft_draw_hud_back_top_l(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; - int32_t col; - - col = 0x00373737; + col = 0x00353535; x = 0; y = wl->y_size - (map_h * scl) - 20; while (x < (map_w * scl) + 20) { - while (y < wl->y_size - (map_h * scl)) + while (y < wl->y_size) { *(int*)(cl->img.ptr + (x * 4 + (y * cl->img.sizeline))) = col; if (!(y % 3)) @@ -73,41 +44,44 @@ static void } static void - ft_draw_hud_back_top_r(size_t map_h, size_t map_w, t_win *wl, t_cub *cl) + ft_draw_stage_back(t_cub *clist) { - const uint16_t scl = cl->mlist->scale; - uint32_t x; + float x; uint32_t y; int32_t col; + uint16_t x_dest; + const uint16_t scl = clist->mlist.scale; - col = 0x00373737; - x = wl->x_size - (map_w * scl) + 20; - y = wl->y_size - (map_h * scl) - 20; - while (x < wl->x_size) + col = 0x00353535; + x = 0; + y = clist->wlist.y_size - (clist->mlist.map_h * scl) - 45; + x_dest = 1.5 * clist->mlist.scale + 70; + while (x_dest > (clist->mlist.map_w * scl) + 20) + { + x_dest--; + } + while (x < x_dest) { - while (y < wl->y_size - (map_h * scl)) + while (y < clist->wlist.y_size - (clist->mlist.map_h * scl) - 20) { - *(int*)(cl->img.ptr + (x * 4 + (y * cl->img.sizeline))) = col; - if (!(y % 2)) - { - if (col < 0x00aaaaaa) - col += 0x00010101; - } + *(int*)(clist->img.ptr + + ((uint8_t)x * 4 + (y * clist->img.sizeline))) = col; y++; } - col = 0x00353535; - y = wl->y_size - (map_h * scl) - 20; - x++; + y = clist->wlist.y_size - (clist->mlist.map_h * scl) - 45; + x += 1.0; } } -void +int8_t ft_draw_hud(t_cub *clist) { - ft_draw_hud_back(clist->wlist, clist); - ft_draw_hud_back_top_l(clist->mlist->map_h, - clist->mlist->map_w, clist->wlist, clist); - ft_draw_hud_back_top_r(clist->mlist->map_h, - clist->mlist->map_w, clist->wlist, clist); - ft_draw_map(clist->mlist->map, clist); + ft_draw_minimap_back(clist->mlist.map_h, + clist->mlist.map_w, &clist->wlist, clist); + ft_draw_map(clist->mlist.map, clist); + if (clist->mlist.isnlvl) + { + ft_draw_stage_back(clist); + } + return (0); } |