minor changes
This commit is contained in:
parent
ba2f5a05d8
commit
f2c6b09af8
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/05/12 11:31:34 by whaffman #+# #+# */
|
||||
/* Updated: 2025/05/16 13:35:05 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/05/18 12:57:16 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/05/08 12:23:17 by qmennen #+# #+# */
|
||||
/* Updated: 2025/05/15 17:51:57 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/05/18 12:49:56 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -23,8 +23,8 @@ static void get_start_end(t_game *game,
|
||||
start->y = 0.5 * (game->screen->height
|
||||
- sprite->texture->height * sprite_scale);
|
||||
end->x = start->x;
|
||||
end->x += (sprite->texture->width / sprite->n_frames * sprite_scale);
|
||||
end->y = start->y + (sprite->texture->height * sprite_scale);
|
||||
end->x += sprite->texture->width / sprite->n_frames * sprite_scale;
|
||||
end->y = start->y + sprite->texture->height * sprite_scale;
|
||||
}
|
||||
|
||||
static int sprite_visible(t_game *game,
|
||||
@ -50,7 +50,7 @@ static void draw_sprite_column(
|
||||
inv_range.x = 1.0 / (column.end.x - column.start.x);
|
||||
sprite->alpha = calculate_alpha(column.start.x,
|
||||
column.start.y, sprite->dist);
|
||||
tex.x = (column.x - column.start.x);
|
||||
tex.x = column.x - column.start.x;
|
||||
tex.x *= sprite->texture->width / sprite->n_frames;
|
||||
tex.x *= inv_range.x;
|
||||
y = column.start.y;
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/05/14 21:21:57 by whaffman #+# #+# */
|
||||
/* Updated: 2025/05/15 15:10:39 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/05/18 12:51:23 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -58,9 +58,9 @@ void cam_fraction(t_game *game, t_sprite *sprite)
|
||||
|
||||
cam = game->player->camera;
|
||||
ps = sub(sprite->pos, game->player->pos);
|
||||
frac_cam = (ps.y * game->player->dir.x - ps.x * game->player->dir.y);
|
||||
denominator = (ps.x * cam.y - ps.y * cam.x);
|
||||
frac_sprite = (cam.y * game->player->dir.x - cam.x * game->player->dir.y);
|
||||
frac_cam = ps.y * game->player->dir.x - ps.x * game->player->dir.y;
|
||||
denominator = ps.x * cam.y - ps.y * cam.x;
|
||||
frac_sprite = cam.y * game->player->dir.x - cam.x * game->player->dir.y;
|
||||
sprite->cam_frac = NAN;
|
||||
if (denominator == 0 || (frac_sprite / denominator) < 0)
|
||||
return ;
|
||||
@ -75,7 +75,7 @@ unsigned int calculate_alpha(int x, int y, double dist)
|
||||
int alpha;
|
||||
|
||||
dist = (dist > 1) * dist + (dist <= 1) * 1;
|
||||
alpha = (255.0 / dist);
|
||||
alpha = 255.0 / dist;
|
||||
return (alpha);
|
||||
}
|
||||
|
||||
@ -96,8 +96,8 @@ unsigned int
|
||||
texture = sprite->texture;
|
||||
index = (tex.x + n * width + tex.y * width * n_frames);
|
||||
index *= texture->bytes_per_pixel;
|
||||
return (texture->pixels[index] << 24
|
||||
| texture->pixels[index + 1] << 16
|
||||
| texture->pixels[index + 2] << 8
|
||||
return ((unsigned int)texture->pixels[index] << 24
|
||||
| (unsigned int)texture->pixels[index + 1] << 16
|
||||
| (unsigned int)texture->pixels[index + 2] << 8
|
||||
| (texture->pixels[index + 3] != 0) * sprite->alpha);
|
||||
}
|
||||
|
||||
@ -6,7 +6,7 @@
|
||||
/* By: whaffman <whaffman@student.codam.nl> +#+ */
|
||||
/* +#+ */
|
||||
/* Created: 2025/05/14 13:05:28 by whaffman #+# #+# */
|
||||
/* Updated: 2025/05/14 19:26:50 by whaffman ######## odam.nl */
|
||||
/* Updated: 2025/05/18 12:05:07 by whaffman ######## odam.nl */
|
||||
/* */
|
||||
/* ************************************************************************** */
|
||||
|
||||
@ -58,13 +58,17 @@ unsigned int get_texture_color(mlx_texture_t *texture,
|
||||
int index;
|
||||
double dist;
|
||||
|
||||
if (tex.x < 0)
|
||||
tex.x = 0;
|
||||
if (tex.y < 0)
|
||||
tex.y = 0;
|
||||
index = (tex.x + tex.y * texture->height) * texture->bytes_per_pixel;
|
||||
dist = (render.perp_dist == 0) * 1e30
|
||||
+ (render.perp_dist > 1) * render.perp_dist
|
||||
+ (render.perp_dist <= 1) * 1;
|
||||
return (texture->pixels[index] << 24
|
||||
| texture->pixels[index + 1] << 16
|
||||
| texture->pixels[index + 2] << 8
|
||||
return ((unsigned int)texture->pixels[index] << 24
|
||||
| (unsigned int)texture->pixels[index + 1] << 16
|
||||
| (unsigned int)texture->pixels[index + 2] << 8
|
||||
| (int)(1.0 / dist * 255));
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user