fix botoom line add floor and sky
This commit is contained in:
parent
d895b3f4cc
commit
537c73b02c
@ -6,7 +6,7 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/02/13 16:30:59 by apommier #+# #+# */
|
||||
/* Updated: 2022/05/20 14:04:12 by apommier ### ########.fr */
|
||||
/* Updated: 2022/06/01 19:21:40 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -44,11 +44,18 @@ typedef struct all_wall_texture{
|
||||
unsigned char *south;
|
||||
} sprite;
|
||||
|
||||
typedef struct s_color{
|
||||
//unsigned char t;
|
||||
unsigned char r;
|
||||
unsigned char g;
|
||||
unsigned char b;
|
||||
} color;
|
||||
|
||||
typedef struct map_information{
|
||||
char **map;
|
||||
sprite texture;
|
||||
int floor;
|
||||
int sky;
|
||||
color floor;
|
||||
color sky;
|
||||
char *simple_map;
|
||||
int size;
|
||||
int x;
|
||||
|
||||
@ -122,6 +122,8 @@ void draw_ray3d(t_data *img, ray ray)
|
||||
int texture_size = 64;
|
||||
|
||||
line_height = img->map.size * 960 / ray.dist;
|
||||
if (line_height > 5000)
|
||||
line_height = 5000;
|
||||
line_offset = 256 - line_height / 2;
|
||||
double gap = 1;
|
||||
double myy = 0;
|
||||
@ -130,7 +132,7 @@ void draw_ray3d(t_data *img, ray ray)
|
||||
myy = 0;
|
||||
gap = (texture_size / line_height);
|
||||
mx = ((int)ray.mp) % texture_size;
|
||||
while (y < line_height)
|
||||
while (y < line_height - 8)
|
||||
{
|
||||
myy += gap;
|
||||
my = (int)myy;//gap;
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/02/13 16:42:55 by apommier #+# #+# */
|
||||
/* Updated: 2022/05/20 15:57:10 by apommier ### ########.fr */
|
||||
/* Updated: 2022/06/01 18:04:29 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -49,6 +49,8 @@ map_info set_map(char **argv)
|
||||
}
|
||||
close(fd);
|
||||
ret_map.simple_map = map;
|
||||
//ret_map.floor = ;
|
||||
//ret_map.sky = ;
|
||||
ret_map.x = 8;
|
||||
ret_map.y = 8;
|
||||
ret_map.size = ret_map.x * ret_map.y;
|
||||
|
||||
40
srcs/utils.c
40
srcs/utils.c
@ -6,7 +6,7 @@
|
||||
/* By: apommier <apommier@student.42.fr> +#+ +:+ +#+ */
|
||||
/* +#+#+#+#+#+ +#+ */
|
||||
/* Created: 2022/02/13 23:37:02 by apommier #+# #+# */
|
||||
/* Updated: 2022/05/20 16:00:24 by apommier ### ########.fr */
|
||||
/* Updated: 2022/06/01 19:21:35 by apommier ### ########.fr */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -88,6 +88,15 @@ int is_good(t_data *img, int type)
|
||||
return (1);
|
||||
}
|
||||
|
||||
/*int create_trgb(int t, int r, int g, int b)
|
||||
{
|
||||
return (t << 24 | r << 16 | g << 8 | b);
|
||||
}*/
|
||||
int create_trgb(unsigned char t, unsigned char r, unsigned char g, unsigned char b)
|
||||
{
|
||||
return (*(int *)(unsigned char [4]){b, g, r, t});
|
||||
}
|
||||
|
||||
void set_back(t_data *img)
|
||||
{
|
||||
//int x = 0;
|
||||
@ -121,25 +130,44 @@ void set_back(t_data *img)
|
||||
//}
|
||||
}*/
|
||||
int x = 0;
|
||||
//int tmp;
|
||||
|
||||
//tmp = (int *)img->buffer;
|
||||
img->map.floor.r = 128;
|
||||
img->map.floor.g = 128;
|
||||
img->map.floor.b = 128;
|
||||
img->map.sky.r = 0;
|
||||
img->map.sky.g = 191;
|
||||
img->map.sky.b = 255;
|
||||
while (x < 512 * 960 * 4)
|
||||
{
|
||||
if (x > 512 * 960 * 2)
|
||||
{
|
||||
img->buffer[x + 0] = img->map.floor.b;
|
||||
img->buffer[x + 1] = img->map.floor.g;
|
||||
img->buffer[x + 2] =img->map.floor.r;
|
||||
img->buffer[x + 3] = 0;
|
||||
//tmp = create_trgb(128, 128, 128, 0);
|
||||
img->buffer[x + 0] = 128;
|
||||
img->buffer[x + 1] = 128;
|
||||
img->buffer[x + 2] = 128;
|
||||
img->buffer[x + 3] = 128;
|
||||
img->buffer[x + 3] = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
img->buffer[x + 0] = 255;
|
||||
img->buffer[x + 0] = img->map.sky.b;
|
||||
img->buffer[x + 1] = img->map.sky.g;
|
||||
img->buffer[x + 2] =img->map.sky.r;
|
||||
img->buffer[x + 3] = 0;
|
||||
//tmp = create_trgb(255, 191, 0, 0);
|
||||
/*img->buffer[x + 0] = 255;
|
||||
img->buffer[x + 1] = 191;
|
||||
img->buffer[x + 2] = 0;
|
||||
img->buffer[x + 3] = 0;
|
||||
img->buffer[x + 3] = 0;*/
|
||||
}
|
||||
x += 4;
|
||||
}
|
||||
|
||||
//img->buffer = (char *)tmp;
|
||||
/*while (x < 960)
|
||||
{
|
||||
y = 0;
|
||||
@ -156,7 +184,7 @@ void set_back(t_data *img)
|
||||
|
||||
int key_press(int code, t_data *img)
|
||||
{
|
||||
printf("touche ");
|
||||
//printf("touche ");
|
||||
if (code == 65307)
|
||||
quit_game(img);
|
||||
else
|
||||
|
||||
Loading…
Reference in New Issue
Block a user