From 742a014597436773484483c748968b024b0e1473 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kha=C3=AFs=20COLIN?= Date: Mon, 18 Aug 2025 13:21:52 +0200 Subject: [PATCH] feat: basic zombie movement (very bad) --- Makefile | 3 ++- src/main.c | 4 +++- src/sprites/move_sprites.c | 27 +++++++++++++++++++++++++++ src/sprites/move_sprites.h | 20 ++++++++++++++++++++ 4 files changed, 52 insertions(+), 2 deletions(-) create mode 100644 src/sprites/move_sprites.c create mode 100644 src/sprites/move_sprites.h diff --git a/Makefile b/Makefile index ebea878..781e3f5 100644 --- a/Makefile +++ b/Makefile @@ -30,9 +30,10 @@ SOURCEFILES = \ src/raycast/ray.c \ src/raycast/walls.c \ src/renderer/render.c \ + src/sprites/create_sprite.c \ + src/sprites/move_sprites.c \ src/sprites/sort_sprites.c \ src/sprites/sprite_caster.c \ - src/sprites/create_sprite.c \ OBJECTS = $(SOURCEFILES:.c=.o) NAME = cub3d diff --git a/src/main.c b/src/main.c index 3ae8f7c..60523db 100644 --- a/src/main.c +++ b/src/main.c @@ -6,7 +6,7 @@ /* By: kcolin +#+ +:+ +#+ */ /* +#+#+#+#+#+ +#+ */ /* Created: 2025/07/17 14:14:30 by kcolin #+# #+# */ -/* Updated: 2025/08/12 14:49:01 by tchampio ### ########.fr */ +/* Updated: 2025/08/18 13:23:26 by kcolin ### ########.fr */ /* */ /* ************************************************************************** */ @@ -31,6 +31,7 @@ #include #include #include "utils/time.h" +#include "sprites/move_sprites.h" int game_loop(t_cub3d_data *data) { @@ -41,6 +42,7 @@ int game_loop(t_cub3d_data *data) data->last_tick = get_milliseconds(); reset_matrix(data); move_player(data); + move_sprites(data); raycaster(data, &ray); sprite_caster(data); matrix_to_image(data); diff --git a/src/sprites/move_sprites.c b/src/sprites/move_sprites.c new file mode 100644 index 0000000..47cfd90 --- /dev/null +++ b/src/sprites/move_sprites.c @@ -0,0 +1,27 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* move_sprites.c :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: kcolin +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/08/18 13:22:50 by kcolin #+# #+# */ +/* Updated: 2025/08/18 13:25:07 by kcolin ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#include "move_sprites.h" +#include "sprite.h" + +void move_sprites(t_cub3d_data *data) +{ + int i; + + i = 0; + while (i < data->sprite_counter) + { + if (data->sprite_list[i]->sprite_type == ZOMBIE) + data->sprite_list[i]->sprite_pos_x += MOVEMENT_SPEED * data->delta; + i++; + } +} diff --git a/src/sprites/move_sprites.h b/src/sprites/move_sprites.h new file mode 100644 index 0000000..0478e7e --- /dev/null +++ b/src/sprites/move_sprites.h @@ -0,0 +1,20 @@ +/* ************************************************************************** */ +/* */ +/* ::: :::::::: */ +/* move_sprites.h :+: :+: :+: */ +/* +:+ +:+ +:+ */ +/* By: kcolin +#+ +:+ +#+ */ +/* +#+#+#+#+#+ +#+ */ +/* Created: 2025/08/18 13:22:06 by kcolin #+# #+# */ +/* Updated: 2025/08/18 13:22:40 by kcolin ### ########.fr */ +/* */ +/* ************************************************************************** */ + +#ifndef MOVE_SPRITES_H +# define MOVE_SPRITES_H + +# include "../cub3d_data.h" + +void move_sprites(t_cub3d_data *data); + +#endif // MOVE_SPRITES_H