aboutsummaryrefslogtreecommitdiffstats
path: root/src/ft_draw_handweap.c
diff options
context:
space:
mode:
authorJozanLeClerc <bousset.rudy@gmail.com>2020-03-19 18:04:05 +0100
committerJozanLeClerc <bousset.rudy@gmail.com>2020-03-19 18:04:05 +0100
commit6b80572a8131a622d527d32c4300f0dd3bfac9c2 (patch)
tree1b1102b7e5e0c7abc40d65558fb0cb4be374eb2a /src/ft_draw_handweap.c
parentAdded new sfx (diff)
download42-cub3d-6b80572a8131a622d527d32c4300f0dd3bfac9c2.tar.gz
42-cub3d-6b80572a8131a622d527d32c4300f0dd3bfac9c2.tar.bz2
42-cub3d-6b80572a8131a622d527d32c4300f0dd3bfac9c2.tar.xz
42-cub3d-6b80572a8131a622d527d32c4300f0dd3bfac9c2.tar.zst
42-cub3d-6b80572a8131a622d527d32c4300f0dd3bfac9c2.zip
Ok resize
Diffstat (limited to 'src/ft_draw_handweap.c')
-rw-r--r--src/ft_draw_handweap.c34
1 files changed, 22 insertions, 12 deletions
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 <stdint.h>
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 <libft.h>
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++;