diff options
author | Rudy Bousset <rbousset@z2r5p2.le-101.fr> | 2020-02-18 20:05:42 +0100 |
---|---|---|
committer | Rudy Bousset <rbousset@z2r5p2.le-101.fr> | 2020-02-18 20:05:42 +0100 |
commit | 2a25aa55bdf6fcca6a9b7dd51542950fdab2e707 (patch) | |
tree | d8460282eaa4dcb72816e6fb82a5a73f4f32941a | |
parent | Added map two too (diff) | |
download | 42-cub3d-2a25aa55bdf6fcca6a9b7dd51542950fdab2e707.tar.gz 42-cub3d-2a25aa55bdf6fcca6a9b7dd51542950fdab2e707.tar.bz2 42-cub3d-2a25aa55bdf6fcca6a9b7dd51542950fdab2e707.tar.xz 42-cub3d-2a25aa55bdf6fcca6a9b7dd51542950fdab2e707.tar.zst 42-cub3d-2a25aa55bdf6fcca6a9b7dd51542950fdab2e707.zip |
okok
-rw-r--r-- | map/map_one.cub | 2 | ||||
-rw-r--r-- | src/ft_draw_textures.c | 26 | ||||
-rw-r--r-- | src/ft_draw_verline.c | 12 |
3 files changed, 29 insertions, 11 deletions
diff --git a/map/map_one.cub b/map/map_one.cub index 34db6b6..4fa7797 100644 --- a/map/map_one.cub +++ b/map/map_one.cub @@ -7,7 +7,7 @@ WE ./map/img/segfault2.xpm S ./map/img/segfot.xpm C 50,100,200 -F 150,150,124 +F 50,190,124 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 E 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 diff --git a/src/ft_draw_textures.c b/src/ft_draw_textures.c index ec20f33..942e386 100644 --- a/src/ft_draw_textures.c +++ b/src/ft_draw_textures.c @@ -10,6 +10,7 @@ /* */ /* ************************************************************************** */ +#include <libft.h> #include <cub3d.h> #include <stdint.h> #include <stdio.h> @@ -24,16 +25,33 @@ void ft_draw_texture(t_cub *cl, int x, int y, int tex_y) { + /* t_rgb rgb; */ /*printf("%c\n", cl->img.ptr[x * 4 + 4 * (cl->img.sizeline * y)] );*/ /**(int*)(cl->img.ptr + (x * 4 + (y * cl->img.sizeline))) = (cl->rlist.side) ? 0x2200ffaa : 0x0000ffaa;*/ - cl->img.ptr[x * 4 + (cl->img.sizeline * y)] = - (char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 * + /* ft_printf("DATA {{{{{%hd}}}}}\nW_SIDE> %d\n\n\n", */ + /* (int16_t)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 * */ + /* cl->tlist[cl->w_side].img_h * tex_y] */ + /* , cl->w_side); */ + /* rgb.r = */ + /* (int8_t)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 * */ + /* cl->tlist[cl->w_side].img_h * tex_y]; */ + /* rgb.g = */ + /* (int8_t)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 * */ + /* cl->tlist[cl->w_side].img_h * tex_y + 1]; */ + /* rgb.b = */ + /* (int8_t)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 * */ + /* cl->tlist[cl->w_side].img_h * tex_y + 2]; */ + /* *(int*)(cl->img.ptr + (x * 4 + (y * cl->img.sizeline))) = ft_rgb_to_hex(rgb); */ + + + cl->img.ptr[x * 4 + (cl->img.sizeline * y)] = + (char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 * cl->tlist[cl->w_side].img_h * tex_y]; cl->img.ptr[x * 4 + (cl->img.sizeline * y) + 1] = - (char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 * + (char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 * cl->tlist[cl->w_side].img_h * tex_y + 1]; cl->img.ptr[x * 4 + (cl->img.sizeline * y) + 2] = - (char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 * + (char)cl->tlist[cl->w_side].ptr[cl->tlist[cl->w_side].tex_x * 4 + 4 * cl->tlist[cl->w_side].img_h * tex_y + 2]; cl->img.ptr[x * 4 + cl->wlist->x_size * y + 3] = (char)0; } diff --git a/src/ft_draw_verline.c b/src/ft_draw_verline.c index 7d24301..65958ca 100644 --- a/src/ft_draw_verline.c +++ b/src/ft_draw_verline.c @@ -60,16 +60,16 @@ int8_t y = y1; ft_draw_ceil(cl, y, x); ft_choose_tex(cl); - while (y1 < y2) + while (y < y2) { d = y * 256 - cl->wlist->y_size * 128 + cl->rlist.line_h * 128; - printf(" y : %d\ny_size : %d\nd : %d\nline_h : %d\n", y, cl->wlist->y_size, d, cl->rlist.line_h); - cl->tlist[cl->w_side].tex_y = ((d * cl->tlist[cl->w_side].img_w) - / cl->rlist.line_h) / 256; + (d <= 0) ? (d = 1) : 0; + /* printf("y : %d\ny_size : %d\nd : %d\nline_h : %d\n", y1, cl->wlist->y_size, d, cl->rlist.line_h); */ + cl->tlist[cl->w_side].tex_y = ((d * cl->tlist[cl->w_side].img_w) / cl->rlist.line_h) / 256; /*printf("w_side : %d\nd : %d\ntex_y : %d\n", cl->w_side, d, cl->tlist[cl->w_side].tex_y);*/ ft_draw_texture(cl, x, y, cl->tlist[cl->w_side].tex_y); - /**(int*)(cl->img.ptr + (x * 4 + (y * cl->img.sizeline))) = (cl->rlist.side) ? 0x2200ffaa : 0x0000ffaa;*/ - y1++; + /* (int*)(cl->img.ptr + (x * 4 + (y * cl->img.sizeline))) = (cl->rlist.side) ? 0x2200ffaa : 0x0000ffaa; */ + y++; } ft_draw_floor(cl, y, x); return (0); |