minor changes

This commit is contained in:
Willem Haffmans 2025-05-18 13:10:21 +02:00
parent ba2f5a05d8
commit f2c6b09af8
4 changed files with 21 additions and 17 deletions

View File

@ -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 */
/* */
/* ************************************************************************** */

View File

@ -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;

View File

@ -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);
}

View File

@ -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));
}