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