aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorRudy Bousset <rbousset@z2r5p2.le-101.fr>2020-02-18 20:05:42 +0100
committerRudy Bousset <rbousset@z2r5p2.le-101.fr>2020-02-18 20:05:42 +0100
commit2a25aa55bdf6fcca6a9b7dd51542950fdab2e707 (patch)
treed8460282eaa4dcb72816e6fb82a5a73f4f32941a /src
parentAdded map two too (diff)
download42-cub3d-2a25aa55bdf6fcca6a9b7dd51542950fdab2e707.tar.gz
42-cub3d-2a25aa55bdf6fcca6a9b7dd51542950fdab2e707.tar.bz2
42-cub3d-2a25aa55bdf6fcca6a9b7dd51542950fdab2e707.tar.xz
42-cub3d-2a25aa55bdf6fcca6a9b7dd51542950fdab2e707.tar.zst
42-cub3d-2a25aa55bdf6fcca6a9b7dd51542950fdab2e707.zip
okok
Diffstat (limited to 'src')
-rw-r--r--src/ft_draw_textures.c26
-rw-r--r--src/ft_draw_verline.c12
2 files changed, 28 insertions, 10 deletions
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);