From 3cd371182fdb92688b685516c34103fb9240d952 Mon Sep 17 00:00:00 2001 From: whaffman Date: Wed, 14 May 2025 16:14:27 +0200 Subject: [PATCH] norm and compiler flags --- Makefile | 4 +- assets/overlay2.png | Bin 2473058 -> 2475129 bytes inc/allowed.h | 16 +-- inc/collision.h | 22 +-- inc/cub3d.h | 6 +- inc/errors.h | 19 ++- inc/map.h | 4 +- inc/player.h | 24 ++-- inc/render.h | 16 ++- inc/screen.h | 16 +-- inc/types.h | 106 +++++++-------- inc/vec_math.h | 3 +- src/map/map_free.c | 12 +- src/math/add.c | 2 +- src/math/dist.c | 2 +- src/math/dist_point_line.c | 2 +- src/math/dot.c | 2 +- src/math/get_fraction.c | 4 +- src/math/mul.c | 2 +- src/math/norm.c | 2 +- src/math/perp.c | 2 +- src/math/rot.c | 2 +- src/math/rot_by_dir.c | 15 ++- src/math/sub.c | 2 +- src/math/vec2_from_int.c | 4 +- src/math/vec2_to_int.c | 4 +- src/parser/parse_config_line.c | 14 +- src/parser/print_config.c | 12 +- src/render/DDAscratch.c | 235 --------------------------------- src/render/dda.c | 235 +++++++++++++++++++++++++++++++++ src/render/render_floor.c | 46 +++++++ src/render/render_sprite.c | 4 +- src/render/render_walls.c | 119 +++++++++++++++++ src/texture/texutre_load.c | 19 ++- 34 files changed, 572 insertions(+), 405 deletions(-) delete mode 100644 src/render/DDAscratch.c create mode 100644 src/render/dda.c create mode 100644 src/render/render_floor.c create mode 100644 src/render/render_walls.c diff --git a/Makefile b/Makefile index 1418125..3f80ddf 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: whaffman +#+ # # +#+ # # Created: 2024/10/15 11:48:46 by whaffman #+# #+# # -# Updated: 2025/05/11 13:26:58 by whaffman ######## odam.nl # +# Updated: 2025/05/14 16:06:31 by whaffman ######## odam.nl # # # # **************************************************************************** # @@ -45,7 +45,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 -O3 +release_CFLAGS = -Wall -Werror -Werror -flto -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 -fsanitize=address,leak,undefined -g3 tsan_CFLAGS = -Wall -Werror -Werror -fsanitize=thread -g3 diff --git a/assets/overlay2.png b/assets/overlay2.png index 2ddae1e9169fd6386577f0bb6f96a7b71619afad..ab0c3ba7bf5fca5361a58eeefc8eb24fccba832c 100644 GIT binary patch delta 952421 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