From 6b80572a8131a622d527d32c4300f0dd3bfac9c2 Mon Sep 17 00:00:00 2001 From: JozanLeClerc Date: Thu, 19 Mar 2020 18:04:05 +0100 Subject: Ok resize --- src/ft_draw_handweap.c | 34 ++++++++++++++++++++++------------ 1 file changed, 22 insertions(+), 12 deletions(-) (limited to 'src/ft_draw_handweap.c') diff --git a/src/ft_draw_handweap.c b/src/ft_draw_handweap.c index d2d8133..241a804 100644 --- a/src/ft_draw_handweap.c +++ b/src/ft_draw_handweap.c @@ -14,31 +14,41 @@ #include static void -ft_put_weapon_image(int16_t y, int16_t x, t_cub *cl) + ft_put_weapon_image(int8_t w_id, int16_t y, int16_t x, t_cub *cl) { + *(cl->img.ptr + x * 4 + (cl->img.sizeline * y)) = + (uint8_t)*(cl->tweap[w_id].ptr + cl->tweap[w_id].tex_x * 4 + 4 * + cl->tweap[w_id].img_w * cl->tweap[w_id].tex_y); + *(cl->img.ptr + x * 4 + (cl->img.sizeline * y) + 1) = + (uint8_t)*(cl->tweap[w_id].ptr + cl->tweap[w_id].tex_x * 4 + 4 * + cl->tweap[w_id].img_w * cl->tweap[w_id].tex_y + 1); + *(cl->img.ptr + x * 4 + (cl->img.sizeline * y) + 2) = + (uint8_t)*(cl->tweap[w_id].ptr + cl->tweap[w_id].tex_x * 4 + 4 * + cl->tweap[w_id].img_w * cl->tweap[w_id].tex_y + 2); } +#include void ft_draw_handweap(t_cub *cl) { const int8_t w_id = cl->plist.handles_weapon; - int16_t x_ratio; - int16_t y_ratio; + int32_t x_ratio; + int32_t y_ratio; int16_t x; int16_t y; - x_ratio = (uint8_t)((cl->tweap[w_id][0].img_w << 16) - / cl->wlist.x_size / 2) + 1; - y_ratio = (uint8_t)((cl->tweap[w_id][0].img_h << 16) - / cl->wlist.y_size / 2) + 1; + x_ratio = (int32_t)((cl->tweap[w_id].img_w << 16) / cl->wlist.x_size) + 1; + y_ratio = (int32_t)((cl->tweap[w_id].img_h << 16) / cl->wlist.y_size) + 1; y = 0; - while (y < cl->wlist.y_size) + ft_printf("%hd\n", w_id); + while (y < (int16_t)cl->wlist.y_size) { - cl->tweap[w_id].tex_y = (y * y_ratio) >> 16; - x = cl->wlist.x_size / 3; - while (x < cl->wlist.x_size) + cl->tweap[w_id].tex_y = ((y * y_ratio) >> 16); + x = 0; + while (x < (int16_t)cl->wlist.x_size) { - cl->tweap[w_id].tex_x = (x * x_ratio) >> 16; + cl->tweap[w_id].tex_x = ((x * x_ratio) >> 16); + ft_put_weapon_image(w_id, y, x, cl); x++; } y++; -- cgit v1.2.3