From 42d03c95aaded7df3b99f30b11d221771f9fd8d7 Mon Sep 17 00:00:00 2001 From: djonker Date: Thu, 26 Oct 2023 16:57:23 +0200 Subject: [PATCH] split up the main, ceiling and floor is drawn --- Makefile | 8 +++-- Readme.md | 1 + cub3d | Bin 144128 -> 150296 bytes cub3d.h | 26 ++++++++++++---- src/draw.c | 38 +++++++++++++++++++++++ src/init.c | 28 +++++++++++++++++ src/keys.c | 68 ++++++++++++++++++++++++++++++++++++++++ src/main.c | 88 +++------------------------------------------------- src/parse.c | 60 +++++++++++++++++++++++++++++++++++ 9 files changed, 226 insertions(+), 91 deletions(-) create mode 100644 src/draw.c create mode 100644 src/init.c create mode 100644 src/keys.c create mode 100644 src/parse.c diff --git a/Makefile b/Makefile index 8fccc1d..96ab0ae 100644 --- a/Makefile +++ b/Makefile @@ -6,7 +6,7 @@ # By: houtworm +#+ # # +#+ # # Created: 2023/10/26 10:46:29 by houtworm #+# #+# # -# Updated: 2023/10/26 10:56:42 by houtworm ######## odam.nl # +# Updated: 2023/10/26 16:56:54 by houtworm ######## odam.nl # # # # **************************************************************************** # @@ -16,7 +16,11 @@ FC =-Wall -Werror -Wextra -Wunreachable-code -Ofast -g #-fsanitize=address HEAD =-I ./include -I $(MLX)/include RM =rm -rf LIB =libft/libft.a mlx/build/libmlx42.a -ldl -lglfw -pthread -lm -SRC =src/main.c +SRC =src/main.c\ + src/init.c\ + src/parse.c\ + src/keys.c\ + src/draw.c OBJ =$(SRC:src/%.c=obj/%.o) all: libft mlx/build/mlx42.a $(NAME) diff --git a/Readme.md b/Readme.md index d85ec63..d62f122 100644 --- a/Readme.md +++ b/Readme.md @@ -20,6 +20,7 @@ Cub3D is a simple raycasting game using the mlx library - Animated Sprites - Rotate with the mouse ### Extra +- FPS counter - A Menu? - Levels? - Skybox? diff --git a/cub3d b/cub3d index 56b7fde32f382a68b15d495147e6efa26f086d78..e0ab23c96bb888f3ced11361c7f3adf93afe8f04 100755 GIT binary patch literal 150296 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 +#+ */ /* +#+ */ /* Created: 2023/10/26 10:46:35 by houtworm #+# #+# */ -/* Updated: 2023/10/26 13:56:49 by houtworm ######## odam.nl */ +/* Updated: 2023/10/26 16:56:10 by houtworm ######## odam.nl */ /* */ /* ************************************************************************** */ @@ -20,11 +20,25 @@ typedef struct s_varlist { - mlx_t *mlx; //mlx instance - mlx_image_t *img; //mlx img - mlx_image_t *font[30]; //mlx font image - int w; //actual window width used everywhere - int h; //actual window height used everywhere + mlx_t *mlx; + mlx_image_t *img; + int w; + int h; + char **map; + int playerx; + int playery; + int playerd; } t_varlist; +// init.c +t_varlist initvarlist(void); +// parse.c +char **ft_getmap(void); +// keys.c +void ft_movementkeys(t_varlist *vl); +void keyhook(mlx_key_data_t kd, void *param); +void scrollhook(double xdelta, double ydelta, void *param); +void resizehook(int x, int y, void *param); +// draw.c +void ft_drawnextframe(t_varlist *vl); #endif diff --git a/src/draw.c b/src/draw.c new file mode 100644 index 0000000..37b11ab --- /dev/null +++ b/src/draw.c @@ -0,0 +1,38 @@ +/* ************************************************************************** */ +/* */ +/* :::::::: */ +/* draw.c :+: :+: */ +/* +:+ */ +/* By: houtworm +#+ */ +/* +#+ */ +/* Created: 2023/10/26 16:54:20 by houtworm #+# #+# */ +/* Updated: 2023/10/26 16:54:33 by houtworm ######## odam.nl */ +/* */ +/* ************************************************************************** */ + +#include "../cub3d.h" + +void ft_drawnextframe(t_varlist *vl) +{ + int y; + int x; + int half; + + x = 1; + half = vl->h / 2; + while (vl->w > x) + { + // send out ray to check for walls + // if we hit a wall we get the distance so we know what size it is and how many pixels to draw in color + y = 1; + while (vl->h > y) + { + if (y <= half) + mlx_put_pixel(vl->img, x, y, 0x005566FF); + else + mlx_put_pixel(vl->img, x, y, 0x444444FF); + y++; + } + x++; + } +} diff --git a/src/init.c b/src/init.c new file mode 100644 index 0000000..57fb56d --- /dev/null +++ b/src/init.c @@ -0,0 +1,28 @@ +/* ************************************************************************** */ +/* */ +/* :::::::: */ +/* init.c :+: :+: */ +/* +:+ */ +/* By: houtworm +#+ */ +/* +#+ */ +/* Created: 2023/10/26 16:49:12 by houtworm #+# #+# */ +/* Updated: 2023/10/26 16:49:14 by houtworm ######## odam.nl */ +/* */ +/* ************************************************************************** */ + +#include "../cub3d.h" + +t_varlist initvarlist(void) +{ + t_varlist vl; + + vl.w = 600; + vl.h = 600; + vl.mlx = mlx_init(vl.w, vl.h, "Cub3D", true); + if (!vl.mlx) + exit (1); + vl.img = mlx_new_image(vl.mlx, vl.w, vl.h); + vl.map = ft_getmap(); + // we should validate the map here + return (vl); +} diff --git a/src/keys.c b/src/keys.c new file mode 100644 index 0000000..d971796 --- /dev/null +++ b/src/keys.c @@ -0,0 +1,68 @@ +/* ************************************************************************** */ +/* */ +/* :::::::: */ +/* keys.c :+: :+: */ +/* +:+ */ +/* By: houtworm +#+ */ +/* +#+ */ +/* Created: 2023/10/26 16:50:23 by houtworm #+# #+# */ +/* Updated: 2023/10/26 16:50:33 by houtworm ######## odam.nl */ +/* */ +/* ************************************************************************** */ + +#include "../cub3d.h" + +void ft_movementkeys(t_varlist *vl) +{ + if (mlx_is_mouse_down(vl->mlx, MLX_MOUSE_BUTTON_LEFT)) + ft_putendl("shoot"); + if (mlx_is_key_down(vl->mlx, MLX_KEY_W)) + ft_putendl("W is pressed"); + if (mlx_is_key_down(vl->mlx, MLX_KEY_A)) + ft_putendl("A is pressed"); + if (mlx_is_key_down(vl->mlx, MLX_KEY_S)) + ft_putendl("S is pressed"); + if (mlx_is_key_down(vl->mlx, MLX_KEY_D)) + ft_putendl("D is pressed"); +} + +void keyhook(mlx_key_data_t kd, void *param) +{ + t_varlist *vl; + + vl = param; + vl->w =vl->w; + if (mlx_is_key_down(vl->mlx, MLX_KEY_ESCAPE)) + { + ft_putendl("escape is pressed"); + mlx_close_window(vl->mlx); + return ; + } + if (kd.key == MLX_KEY_H && kd.action == MLX_PRESS) + ft_putendl("H is pressed"); +} + +void scrollhook(double xdelta, double ydelta, void *param) +{ + t_varlist *vl; + + vl = param; + vl = vl; + xdelta++; + if (ydelta > 0) + ft_putendl("scroll up"); + if (ydelta < 0) + ft_putendl("scroll down"); +} + +void resizehook(int x, int y, void *param) +{ + t_varlist *vl; + + vl = param; + vl->h = y; + vl->w = x; + vl->mlx->height = y; + vl->mlx->width = x; +} + diff --git a/src/main.c b/src/main.c index 64d635d..52fec20 100644 --- a/src/main.c +++ b/src/main.c @@ -6,104 +6,26 @@ /* By: houtworm +#+ */ /* +#+ */ /* Created: 2023/10/26 14:13:07 by houtworm #+# #+# */ -/* Updated: 2023/10/26 15:01:26 by houtworm ######## odam.nl */ +/* Updated: 2023/10/26 16:54:42 by houtworm ######## odam.nl */ /* */ /* ************************************************************************** */ #include "../cub3d.h" -void ft_getnextframe(t_varlist *vl) -{ - int y; - int x; - - y = 1; - while (vl->h > y) - { - x = 1; - while (vl->w > x) - { - mlx_put_pixel(vl->img, x, y, 0x000000FF); - x++; - } - y++; - } -} - -void framehook(void *param) +void mainloop(void *param) { t_varlist *vl; vl = param; mlx_delete_image(vl->mlx, vl->img); vl->img = mlx_new_image(vl->mlx, vl->w, vl->h); - ft_getnextframe(vl); + ft_movementkeys(vl); + ft_drawnextframe(vl); if (!vl->img || (mlx_image_to_window(vl->mlx, vl->img, 0, 0) < 0)) exit (1); ft_putendl("frame"); } -void keyhook(mlx_key_data_t kd, void *param) -{ - t_varlist *vl; - - vl = param; - vl->w =vl->w; - if (mlx_is_mouse_down(vl->mlx, MLX_MOUSE_BUTTON_LEFT)) - ft_putendl("shoot"); - if (mlx_is_key_down(vl->mlx, MLX_KEY_ESCAPE)) - { - ft_putendl("escape is pressed"); - mlx_close_window(vl->mlx); - return ; - } - if (kd.key == MLX_KEY_W && kd.action == MLX_PRESS) - ft_putendl("W is pressed"); - if (kd.key == MLX_KEY_A && kd.action == MLX_PRESS) - ft_putendl("A is pressed"); - if (kd.key == MLX_KEY_S && kd.action == MLX_PRESS) - ft_putendl("S is pressed"); - if (kd.key == MLX_KEY_D && kd.action == MLX_PRESS) - ft_putendl("D is pressed"); -} - -void scrollhook(double xdelta, double ydelta, void *param) -{ - t_varlist *vl; - - vl = param; - vl = vl; - xdelta++; - if (ydelta > 0) - ft_putendl("scroll up"); - if (ydelta < 0) - ft_putendl("scroll down"); -} - -void resizehook(int x, int y, void *param) -{ - t_varlist *vl; - - vl = param; - vl->h = y; - vl->w = x; - vl->mlx->height = y; - vl->mlx->width = x; -} - -t_varlist initvarlist(void) -{ - t_varlist vl; - - vl.w = 600; - vl.h = 600; - vl.mlx = mlx_init(vl.w, vl.h, "Cub3D", true); - if (!vl.mlx) - exit (1); - vl.img = mlx_new_image(vl.mlx, vl.w, vl.h); - return (vl); -} - int main(int argc, char **argv) { t_varlist vl; @@ -117,7 +39,7 @@ int main(int argc, char **argv) mlx_key_hook(vl.mlx, &keyhook, &vl); mlx_resize_hook(vl.mlx, &resizehook, &vl); mlx_scroll_hook(vl.mlx, &scrollhook, &vl); - mlx_loop_hook(vl.mlx, &framehook, &vl); + mlx_loop_hook(vl.mlx, &mainloop, &vl); mlx_loop(vl.mlx); mlx_delete_image(vl.mlx, vl.img); mlx_terminate(vl.mlx); diff --git a/src/parse.c b/src/parse.c new file mode 100644 index 0000000..14c7f5a --- /dev/null +++ b/src/parse.c @@ -0,0 +1,60 @@ +/* ************************************************************************** */ +/* */ +/* :::::::: */ +/* parse.c :+: :+: */ +/* +:+ */ +/* By: houtworm +#+ */ +/* +#+ */ +/* Created: 2023/10/26 16:48:55 by houtworm #+# #+# */ +/* Updated: 2023/10/26 16:49:07 by houtworm ######## odam.nl */ +/* */ +/* ************************************************************************** */ + +#include "../cub3d.h" + +char **ft_getmap(void) +{ + int y; + int x; + char **map; + char localmap[24][24] = { + {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,1,0,1,0,1,0,0,0,1}, + {1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,1,0,0,0,1,0,0,0,1}, + {1,0,0,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,1,1,0,1,1,0,0,0,0,1,0,1,0,1,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,1,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,1,0,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1}, + {1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1} + }; + map = ft_calloc(24, 8); + y = 0; + while (y < 24) + { + map[y] = ft_calloc(24, 8); + x = 0; + while (x < 24) + { + map[y][x] = localmap[y][x]; + x++; + } + y++; + } + return (map); +}