From 62f20996d0988b75bd880f99cd049876f9a968a7 Mon Sep 17 00:00:00 2001 From: Quinten Date: Tue, 10 Jun 2025 14:46:38 +0200 Subject: [PATCH] Refactor code to improve consistency and readability by changing variable types to unsigned int where appropriate, updating shader initialization function signature, and adjusting function calls accordingly. Update comments and versioning in multiple files for clarity and maintenance. --- Makefile | 3 +-- inc/cub3d.h | 4 ++-- inc/game_menu.h | 4 ++-- inc/render.h | 4 ++-- src/game/collision.c | 10 +++++----- src/menu/end_screen.c | 4 ++-- src/menu/main_menu.c | 6 ++---- src/menu/menu.c | 8 +++----- src/monster/monster.c | 28 ++++++++++++++-------------- src/parser/find_player_or_empty.c | 16 ++++++++-------- src/parser/floodfill.c | 16 ++++++++-------- src/parser/get_tile.c | 16 ++++++++-------- src/parser/map_width.c | 16 ++++++++-------- src/parser/parse_config_line.c | 3 ++- src/parser/parse_map.c | 10 +++++----- src/parser/print_map.c | 18 +++++++++--------- src/render/dda.c | 6 +++--- src/render/render.c | 21 +++++++++++---------- src/render/render_floor.c | 10 +++++----- src/render/render_sprite.c | 16 +++++++--------- src/render/render_sprite_utils.c | 26 +++++++++++++------------- src/render/render_walls.c | 9 +++++---- src/screen.c | 6 +++--- src/shader/shaders.c | 11 ++++------- src/util/initialize.c | 4 ++-- src/util/score.c | 12 ++++++------ 26 files changed, 140 insertions(+), 147 deletions(-) diff --git a/Makefile b/Makefile index e997322..3874dab 100644 --- a/Makefile +++ b/Makefile @@ -11,7 +11,6 @@ # **************************************************************************** # NAME = cub3D -FLAGS = "" DIST_PATH = dist SRC_PATH = src @@ -47,7 +46,7 @@ SOURCES = $(shell basename -a $(shell find $(SRC_PATH) -type f -name "*.c")) # Build configurations BUILD_CONFIGS = release debug asan tsan -release_CFLAGS = -Wall -Werror -Werror -flto -Ofast -march=native -mtune=native -ffast-math -DFULLSCREEN=0 +release_CFLAGS = -Wall -Wextra -Werror -flto -Ofast -march=native -mtune=native -ffast-math -DFULLSCREEN=0 unity_CFLAGS = -Wall -Werror -Werror -Ofast -march=native -mtune=native -ffast-math debug_CFLAGS = -Wall -Werror -Werror -g3 -DDEBUG -DDBG='fprintf(stderr, RED "DEBUG: " RESET "%s:%d (%s)\n", __FILE__, __LINE__, __PRETTY_FUNCTION__);' asan_CFLAGS = -Wall -Werror -Werror -flto -fsanitize=address,leak,undefined -g3 -DFULLSCREEN=0 diff --git a/inc/cub3d.h b/inc/cub3d.h index 5a9e531..c4111e9 100644 --- a/inc/cub3d.h +++ b/inc/cub3d.h @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 12:22:29 by qmennen #+# #+# */ -/* Updated: 2025/06/04 18:54:18 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:42:13 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -71,7 +71,7 @@ # include "monster.h" int initialize_cub3d(t_game **game, const char *mapfile); -int shader_init(t_game **game); +int shader_init(); void set_uniforms(t_game *game); int load_uniforms(t_game **game); void count_scores(t_game *game); diff --git a/inc/game_menu.h b/inc/game_menu.h index 02a1abd..6a75d02 100644 --- a/inc/game_menu.h +++ b/inc/game_menu.h @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/27 15:07:48 by qmennen #+# #+# */ -/* Updated: 2025/06/05 18:48:10 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:28:20 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -26,6 +26,6 @@ t_menu *menu_create(t_game_manager *manager, char *b_path, t_menu_item *menu_item_create(t_screen *screen, const char *text, void (*act)(struct s_menu_item *item, t_game_manager *manager)); void menu_free(t_menu *menu, t_screen *screen); -void menu_toggle(t_menu *menu, t_screen *screen); +void menu_toggle(t_menu *menu); #endif \ No newline at end of file diff --git a/inc/render.h b/inc/render.h index e325d7a..2e7030e 100644 --- a/inc/render.h +++ b/inc/render.h @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 16:28:16 by qmennen #+# #+# */ -/* Updated: 2025/06/04 18:15:26 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:30:30 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -28,7 +28,7 @@ unsigned int get_texture_color(mlx_texture_t *texture, void sort_sprites(t_game *game); void calculate_sprite_dist(t_game *game); void cam_fraction(t_game *game, t_sprite *sprite); -unsigned int calculate_alpha(int x, int y, double dist); +unsigned int calculate_alpha(double dist); unsigned int sample_texture_color(t_sprite *sprite, t_vec2_int tex, int n); diff --git a/src/game/collision.c b/src/game/collision.c index 07c42eb..676f63d 100644 --- a/src/game/collision.c +++ b/src/game/collision.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/22 14:40:59 by qmennen #+# #+# */ -/* Updated: 2025/06/05 18:41:12 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:41:31 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -34,10 +34,10 @@ static void damage_player(t_player *player, float amount) int collision_sprite(t_game *game, double xa, double ya) { - t_player *player; - t_map *map; - t_sprite *sprites; - int i; + t_player *player; + t_map *map; + t_sprite *sprites; + unsigned int i; player = game->player; map = game->map; diff --git a/src/menu/end_screen.c b/src/menu/end_screen.c index 5403e12..63f0a42 100644 --- a/src/menu/end_screen.c +++ b/src/menu/end_screen.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/06/03 16:20:35 by qmennen #+# #+# */ -/* Updated: 2025/06/05 17:12:02 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:29:07 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -72,7 +72,7 @@ void draw_end_screen(t_game_manager *manager, t_menu *menu) slideshow(game); if (menu->hidden) { - menu_toggle(menu, game->screen); + menu_toggle(menu); count_scores(game); } menu->selector->instances[0].y = manager->game->screen->height / 2 diff --git a/src/menu/main_menu.c b/src/menu/main_menu.c index 335fc75..97a3619 100644 --- a/src/menu/main_menu.c +++ b/src/menu/main_menu.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/28 14:14:11 by qmennen #+# #+# */ -/* Updated: 2025/06/05 18:44:51 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:28:51 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,15 +21,13 @@ static void game_exit(struct s_menu_item *item, t_game_manager *manager) static void game_start(struct s_menu_item *item, t_game_manager *manager) { t_game *game; - t_screen *screen; (void)item; game = manager->game; - screen = game->screen; game->screen->minimap->instances[0].enabled = true; game->screen->hud->instances[0].enabled = true; game->scoreboard->start_time = mlx_get_time(); - menu_toggle(*(manager->active_menu), screen); + menu_toggle(*(manager->active_menu)); manager->state = GAME_STATE_PLAYING; } diff --git a/src/menu/menu.c b/src/menu/menu.c index a551cfa..cacc4a8 100644 --- a/src/menu/menu.c +++ b/src/menu/menu.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/27 14:31:53 by qmennen #+# #+# */ -/* Updated: 2025/06/05 18:49:23 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:28:28 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -36,13 +36,11 @@ t_menu *menu_create(t_game_manager *manager, char *b_path, void menu_display(t_menu *menu, t_screen *screen) { int i; - int half_w; int half_h; - half_w = screen->width / 2; half_h = screen->height / 2; if (menu->hidden) - menu_toggle(menu, screen); + menu_toggle(menu); menu->selector->instances[0].x = 150; menu->selector->instances[0].y = half_h + menu->selected_option * 50; i = 0; @@ -54,7 +52,7 @@ void menu_display(t_menu *menu, t_screen *screen) } } -void menu_toggle(t_menu *menu, t_screen *screen) +void menu_toggle(t_menu *menu) { int i; diff --git a/src/monster/monster.c b/src/monster/monster.c index ca2ac09..7b44d11 100644 --- a/src/monster/monster.c +++ b/src/monster/monster.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* :::::::: */ -/* monster.c :+: :+: */ -/* +:+ */ -/* By: qmennen +#+ */ -/* +#+ */ -/* Created: 2025/05/28 17:15:52 by qmennen #+# #+# */ -/* Updated: 2025/06/03 14:51:23 by whaffman ######## odam.nl */ +/* ::: :::::::: */ +/* monster.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/05/28 17:15:52 by qmennen #+# #+# */ +/* Updated: 2025/06/10 14:45:44 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,14 +14,14 @@ void update_monsters(t_game *game) { - int i; - t_vec2 d; - t_sprite *sprite; - double dist_squared; - double inv_dist; + unsigned int i; + t_vec2 d; + t_sprite *sprite; + double dist_squared; + double inv_dist; - i = -1; - while (++i < game->map->n_sprites) + i = 0; + while (i++ < game->map->n_sprites) { sprite = &game->map->sprites[i]; if (sprite->type != SPRITE_TYPE_ENEMY) diff --git a/src/parser/find_player_or_empty.c b/src/parser/find_player_or_empty.c index af1201d..5f825d3 100644 --- a/src/parser/find_player_or_empty.c +++ b/src/parser/find_player_or_empty.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* :::::::: */ -/* find_player_or_empty.c :+: :+: */ -/* +:+ */ -/* By: whaffman +#+ */ -/* +#+ */ -/* Created: 2025/04/23 12:13:50 by whaffman #+# #+# */ -/* Updated: 2025/04/24 11:55:22 by whaffman ######## odam.nl */ +/* ::: :::::::: */ +/* find_player_or_empty.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/04/23 12:13:50 by whaffman #+# #+# */ +/* Updated: 2025/06/10 14:39:59 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,7 +14,7 @@ int find_player_or_empty(t_map *map, int *x, int *y) { - int i; + unsigned int i; if (!map || !x || !y) return (FAILURE); diff --git a/src/parser/floodfill.c b/src/parser/floodfill.c index 9ec6ec7..122d22c 100644 --- a/src/parser/floodfill.c +++ b/src/parser/floodfill.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* :::::::: */ -/* floodfill.c :+: :+: */ -/* +:+ */ -/* By: whaffman +#+ */ -/* +#+ */ -/* Created: 2025/04/23 12:14:58 by whaffman #+# #+# */ -/* Updated: 2025/04/23 12:20:18 by whaffman ######## odam.nl */ +/* ::: :::::::: */ +/* floodfill.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/04/23 12:14:58 by whaffman #+# #+# */ +/* Updated: 2025/06/10 14:38:14 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,7 +14,7 @@ int floodfill(t_map *map, int x, int y) { - if (!map || x < 0 || y < 0 || x >= map->width || y >= map->height) + if (!map || x < 0 || y < 0 || x >= (int) map->width || y >= (int) map->height) return (FAILURE); if (map->grid[y][x] == TILE_VOID) return (FAILURE); diff --git a/src/parser/get_tile.c b/src/parser/get_tile.c index 9dc440f..39cb3a5 100644 --- a/src/parser/get_tile.c +++ b/src/parser/get_tile.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* :::::::: */ -/* get_tile.c :+: :+: */ -/* +:+ */ -/* By: whaffman +#+ */ -/* +#+ */ -/* Created: 2025/04/23 12:23:05 by whaffman #+# #+# */ -/* Updated: 2025/05/07 11:51:33 by whaffman ######## odam.nl */ +/* ::: :::::::: */ +/* get_tile.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/04/23 12:23:05 by whaffman #+# #+# */ +/* Updated: 2025/06/10 14:37:58 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,7 +14,7 @@ t_tile get_tile(t_map *map, int x, int y) { - if (x < 0 || y < 0 || x >= map->width || y >= map->height) + if (x < 0 || y < 0 || x >= (int) map->width || y >= (int) map->height) return (TILE_WALL); return (map->grid[y][x]); } diff --git a/src/parser/map_width.c b/src/parser/map_width.c index 14b5c13..9c84f97 100644 --- a/src/parser/map_width.c +++ b/src/parser/map_width.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* :::::::: */ -/* map_width.c :+: :+: */ -/* +:+ */ -/* By: whaffman +#+ */ -/* +#+ */ -/* Created: 2025/04/22 13:13:07 by whaffman #+# #+# */ -/* Updated: 2025/05/07 11:48:00 by whaffman ######## odam.nl */ +/* ::: :::::::: */ +/* map_width.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/04/22 13:13:07 by whaffman #+# #+# */ +/* Updated: 2025/06/10 14:38:27 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -21,7 +21,7 @@ int map_width(char **lines) width = 0; while (lines[i]) { - if (ft_strlen(lines[i]) > width) + if ((int) ft_strlen(lines[i]) > width) width = ft_strlen(lines[i]); i++; } diff --git a/src/parser/parse_config_line.c b/src/parser/parse_config_line.c index 4b1aa8c..16bd5df 100644 --- a/src/parser/parse_config_line.c +++ b/src/parser/parse_config_line.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/22 13:10:06 by whaffman #+# #+# */ -/* Updated: 2025/06/05 17:15:42 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:39:39 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -27,6 +27,7 @@ mlx_texture_t *load_texture(const char *path) t_token_handler handle_config_token(const char *token, t_map *map) { + (void)map; const char *config_tokens[] = { "NO", "SO", "WE", "EA", "D", "F", "C", "FT", "CT", "-c", "-s", "-e", NULL diff --git a/src/parser/parse_map.c b/src/parser/parse_map.c index 4634813..eb7672c 100644 --- a/src/parser/parse_map.c +++ b/src/parser/parse_map.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/22 13:12:04 by whaffman #+# #+# */ -/* Updated: 2025/05/28 17:07:32 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:39:03 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -48,8 +48,8 @@ int parse_player(t_game *game, int y, int x, char c) int parse_map_line(char **lines, t_game *game, int y) { - int x; - t_map *map; + unsigned int x; + t_map *map; map = game->map; map->grid[y] = malloc(sizeof(t_tile) * (map->width + 1)); @@ -148,8 +148,8 @@ int parse_map_line_sprites(char *line, t_game *game, int y) int parse_map(char **lines, t_game *game) { - int y; - t_map *map; + unsigned int y; + t_map *map; map = game->map; if (!prepare_map(lines, game)) diff --git a/src/parser/print_map.c b/src/parser/print_map.c index 9d1ede5..a07454c 100644 --- a/src/parser/print_map.c +++ b/src/parser/print_map.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* :::::::: */ -/* print_map.c :+: :+: */ -/* +:+ */ -/* By: whaffman +#+ */ -/* +#+ */ -/* Created: 2025/04/23 12:11:12 by whaffman #+# #+# */ -/* Updated: 2025/04/23 12:20:12 by whaffman ######## odam.nl */ +/* ::: :::::::: */ +/* print_map.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/04/23 12:11:12 by whaffman #+# #+# */ +/* Updated: 2025/06/10 14:40:11 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -15,8 +15,8 @@ void print_map(t_map *map) { const int chars[] = {'X', ' ', '.', '#', 'P'}; - int i; - int j; + unsigned int i; + unsigned int j; if (!map) return ; diff --git a/src/render/dda.c b/src/render/dda.c index 67ceb76..2d306b8 100644 --- a/src/render/dda.c +++ b/src/render/dda.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/02 11:58:09 by whaffman #+# #+# */ -/* Updated: 2025/06/04 18:32:57 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:35:17 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -68,9 +68,9 @@ int dda_main(t_vec2 ray_dir, t_vec2_int map_pos, t_vec2 *side_dist, t_map *map) map_pos.x += step.x * (1 - side); map_pos.y += step.y * side; if (map_pos.x < 0 - || map_pos.x >= map->width + || map_pos.x >= (int) map->width || map_pos.y < 0 - || map_pos.y >= map->height) + || map_pos.y >= (int) map->height) printf("Out of bounds: %d %d\n", map_pos.x, map_pos.y); if (map->grid[map_pos.y][map_pos.x] == TILE_EMPTY) map->grid[map_pos.y][map_pos.x] = TILE_VISITED; diff --git a/src/render/render.c b/src/render/render.c index 4779ff9..f4c3f51 100644 --- a/src/render/render.c +++ b/src/render/render.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 16:28:10 by qmennen #+# #+# */ -/* Updated: 2025/06/03 22:17:23 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:34:55 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,11 +14,12 @@ void create_screenshot(t_game *game) { - int i; - int j; - int idx1; - int idx2; - mlx_image_t *screenshot; + unsigned int i; + unsigned int j; + int idx1; + int idx2; + mlx_image_t *screenshot; + if (!game->screenshots[game->screenshot_idx % MAX_SCREENSHOTS]) { game->screenshots[game->screenshot_idx % MAX_SCREENSHOTS] = mlx_new_image(game->screen->mlx, game->screen->width / 3, game->screen->height / 3); @@ -52,8 +53,8 @@ void create_screenshot(t_game *game) void flash(t_game *game) { mlx_image_t *img; - int x; - int y; + unsigned int x; + unsigned int y; if (game->screen->flash == 0) return ; @@ -76,8 +77,8 @@ void flash(t_game *game) void cast_rays(t_game *game) { - int x; - t_render render[WIDTH]; + unsigned int x; + t_render render[WIDTH]; x = 0; draw_floor(game); diff --git a/src/render/render_floor.c b/src/render/render_floor.c index 2a51534..9d6a248 100644 --- a/src/render/render_floor.c +++ b/src/render/render_floor.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/14 13:06:39 by whaffman #+# #+# */ -/* Updated: 2025/06/05 17:01:36 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:45:54 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -33,14 +33,14 @@ static void draw_floor_ceiling_pixel(t_game *game, color = game->map->floor_color << 8 | (int)(1.0 / row_dist * 255); else color = get_texture_color(game->map->texture_floor, - (t_render){row_dist, 0, 0}, tex); + (t_render){.perp_dist = row_dist, .sign = 0, .door = 0, .side = SIDE_DOOR, .wall_x = 0}, tex); mlx_put_pixel(game->screen->img, coord.x, coord.y, color); if (game->map->texture_ceiling == NULL) color = game->map->ceiling_color << 8 | (int)(1.0 / row_dist * 255); else color = get_texture_color(game->map->texture_ceiling, - (t_render){row_dist, 0, 0}, tex); + (t_render){.perp_dist = row_dist, .sign = 0, .door = 0, .side = SIDE_DOOR, .wall_x = 0}, tex); mlx_put_pixel(game->screen->img, coord.x, game->screen->height - coord.y - 1, color); } @@ -58,7 +58,7 @@ static void draw_floor_row(t_game *game, floor_pos = add(game->player->pos, mul(left_ray, row_dist)); if (isinf(floor_pos.x) || isinf(floor_pos.y)) return ; - while (coord.x < game->screen->width) + while (coord.x < (int) game->screen->width) { draw_floor_ceiling_pixel(game, coord, row_dist, floor_pos); floor_pos = add(floor_pos, floor_step); @@ -74,7 +74,7 @@ void draw_floor(t_game *game) coord.y = game->screen->height / 2; coord.x = 0; - while (coord.y < game->screen->height) + while (coord.y < (int) game->screen->height) { draw_floor_row(game, coord, left_ray, right_ray); coord.y++; diff --git a/src/render/render_sprite.c b/src/render/render_sprite.c index 67f3235..afe9865 100644 --- a/src/render/render_sprite.c +++ b/src/render/render_sprite.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/08 12:23:17 by qmennen #+# #+# */ -/* Updated: 2025/06/03 22:15:19 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:34:01 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -34,13 +34,12 @@ static int sprite_visible(t_game *game, return (!isnan(sprite->cam_frac) && sprite->dist > MIN_SPRITE_DIST && x > 0 - && x < game->screen->width + && x < (int) game->screen->width && sprite->dist <= render[x].perp_dist); } static void draw_sprite_column( - t_game *game, t_sprite *sprite, t_render *render, - t_sprite_column column) +t_game *game, t_sprite *sprite, t_sprite_column column) { t_vec2_int tex; t_vec2 inv_range; @@ -52,8 +51,7 @@ static void draw_sprite_column( frame %= sprite->n_frames; inv_range.y = 1.0 / (column.end.y - column.start.y); inv_range.x = 1.0 / (column.end.x - column.start.x); - sprite->alpha = calculate_alpha(column.start.x, - column.start.y, sprite->dist); + sprite->alpha = calculate_alpha(sprite->dist); tex.x = column.x - column.start.x; tex.x *= sprite->texture->width / sprite->n_frames; tex.x *= inv_range.x; @@ -63,7 +61,7 @@ static void draw_sprite_column( tex.y = (y - column.start.y) * sprite->texture->height; tex.y *= inv_range.y; color = sample_texture_color(sprite, tex, frame); - if (y > 0 && y < game->screen->height && (color & 0xFF) != 0) + if (y > 0 && y < (int) game->screen->height && (color & 0xFF) != 0) mlx_put_pixel(game->screen->img, column.x, y, color); y++; } @@ -88,7 +86,7 @@ void draw_sprite(t_game *game, t_sprite *sprite, t_render *render) column.start = start; column.end = end; column.x = x; - draw_sprite_column(game, sprite, render, column); + draw_sprite_column(game, sprite, column); } x++; } @@ -96,7 +94,7 @@ void draw_sprite(t_game *game, t_sprite *sprite, t_render *render) void render_sprites(t_render *render, t_game *game) { - int i; + unsigned int i; calculate_sprite_dist(game); sort_sprites(game); diff --git a/src/render/render_sprite_utils.c b/src/render/render_sprite_utils.c index c441907..1f6896b 100644 --- a/src/render/render_sprite_utils.c +++ b/src/render/render_sprite_utils.c @@ -1,12 +1,12 @@ /* ************************************************************************** */ /* */ -/* :::::::: */ -/* render_sprite_utils.c :+: :+: */ -/* +:+ */ -/* By: whaffman +#+ */ -/* +#+ */ -/* Created: 2025/05/14 21:21:57 by whaffman #+# #+# */ -/* Updated: 2025/05/18 12:51:23 by whaffman ######## odam.nl */ +/* ::: :::::::: */ +/* render_sprite_utils.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: qmennen +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/05/14 21:21:57 by whaffman #+# #+# */ +/* Updated: 2025/06/10 14:30:19 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,9 +14,9 @@ void sort_sprites(t_game *game) { - int i; - int j; - t_sprite key; + unsigned int i; + int j; + t_sprite key; i = 1; while (i < game->map->n_sprites) @@ -35,8 +35,8 @@ void sort_sprites(t_game *game) void calculate_sprite_dist(t_game *game) { - t_vec2 player_pos; - int i; + t_vec2 player_pos; + unsigned int i; i = 0; player_pos = game->player->pos; @@ -70,7 +70,7 @@ void cam_fraction(t_game *game, t_sprite *sprite) return ; } -unsigned int calculate_alpha(int x, int y, double dist) +unsigned int calculate_alpha(double dist) { int alpha; diff --git a/src/render/render_walls.c b/src/render/render_walls.c index 27f2e85..95c1c43 100644 --- a/src/render/render_walls.c +++ b/src/render/render_walls.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/14 13:05:28 by whaffman #+# #+# */ -/* Updated: 2025/06/04 18:17:33 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:45:19 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -40,6 +40,7 @@ t_render cast_ray(t_game *game, int x) double perp_dist; render.door = 0; + render.sign = 1; ray_dir = add(game->player->dir, mul(game->player->camera, (2.0f * x / (double)game->screen->width - 1))); @@ -84,7 +85,7 @@ static int set_range(t_game *game, t_render render, t_range *range, int height) tex_start = range->start; range->start = (range->start > 0) * range->start; range->end = height / 2 + game->screen->height / 2; - if (range->end >= game->screen->height) + if (range->end >= (int) game->screen->height) range->end = game->screen->height - 1; return (tex_start); } @@ -109,9 +110,9 @@ void draw_line(t_game *game, t_render render, int x) color = get_texture_color(game->map->textures[render.side], render, tex); if (x < 0 - || x >= game->screen->width + || x >= (int) game->screen->width || range.start < 0 - || range.start >= game->screen->height) + || range.start >= (int) game->screen->height) break ; mlx_put_pixel(game->screen->img, x, range.start, color); range.start++; diff --git a/src/screen.c b/src/screen.c index 293a704..a377453 100644 --- a/src/screen.c +++ b/src/screen.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/15 15:30:27 by qmennen #+# #+# */ -/* Updated: 2025/06/05 17:15:05 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:41:07 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -43,8 +43,8 @@ int screen_create(t_game **game) void fill_background(mlx_image_t *image, int color) { - int i; - int j; + unsigned int i; + unsigned int j; i = 0; while (i < image->width) diff --git a/src/shader/shaders.c b/src/shader/shaders.c index ddcece4..99e2fb1 100644 --- a/src/shader/shaders.c +++ b/src/shader/shaders.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/08 18:27:59 by qmennen #+# #+# */ -/* Updated: 2025/06/05 17:26:44 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:42:39 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -16,9 +16,6 @@ void set_uniforms(t_game *game) { - mlx_ctx_t *ctx; - - ctx = (mlx_ctx_t *)game->screen->mlx->context; glUniform1f(game->screen->u_time_location, (float)mlx_get_time()); glUniform1f(game->screen->u_battery_location, game->player->battery); glUniform2f(game->screen->u_resolution_location, @@ -58,7 +55,7 @@ static const char *read_vertex_shader(void) char *shader; int fd; int file_size; - size_t bytes_read; + ssize_t bytes_read; file_size = get_file_size(target); fd = open(target, O_RDONLY); @@ -85,7 +82,7 @@ static const char *read_fragment_shader(void) char *shader; int fd; int file_size; - size_t bytes_read; + ssize_t bytes_read; file_size = get_file_size(target); fd = open(target, O_RDONLY); @@ -108,7 +105,7 @@ static const char *read_fragment_shader(void) return (close(fd), shader); } -int shader_init(t_game **game) +int shader_init() { vert_shader = read_vertex_shader(); if (!vert_shader) diff --git a/src/util/initialize.c b/src/util/initialize.c index cb329d9..d0baa8a 100644 --- a/src/util/initialize.c +++ b/src/util/initialize.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/04/22 17:08:26 by qmennen #+# #+# */ -/* Updated: 2025/06/04 19:51:13 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:42:24 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -47,7 +47,7 @@ int initialize_cub3d(t_game **game, const char *mapfile) return (FAILURE); if (!texture_load(*game)) return (FAILURE); - if (!shader_init(game)) + if (!shader_init()) return (FAILURE); if (!screen_create(game)) return (FAILURE); diff --git a/src/util/score.c b/src/util/score.c index 038f512..69d59b9 100644 --- a/src/util/score.c +++ b/src/util/score.c @@ -6,7 +6,7 @@ /* By: qmennen +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/05/25 20:54:23 by whaffman #+# #+# */ -/* Updated: 2025/06/03 21:42:54 by qmennen ### ########.fr */ +/* Updated: 2025/06/10 14:40:40 by qmennen ### ########.fr */ /* */ /* ************************************************************************** */ @@ -14,9 +14,9 @@ int count_tiles(t_map *map, t_tile tile_type) { - int count; - int x; - int y; + int count; + unsigned int x; + unsigned int y; count = 0; y = 0; @@ -36,8 +36,8 @@ int count_tiles(t_map *map, t_tile tile_type) int count_collected(t_game *game) { - int collected; - int i; + int collected; + unsigned int i; i = 0; collected = 0;