/* ************************************************************************** */ /* */ /* :::::::: */ /* monster.c :+: :+: */ /* +:+ */ /* By: qmennen +#+ */ /* +#+ */ /* Created: 2025/05/28 17:15:52 by qmennen #+# #+# */ /* Updated: 2025/06/03 14:51:23 by whaffman ######## odam.nl */ /* */ /* ************************************************************************** */ #include "cub3d.h" void update_monsters(t_game *game) { int i; t_vec2 d; t_sprite *sprite; double dist_squared; double inv_dist; i = -1; while (++i < game->map->n_sprites) { sprite = &game->map->sprites[i]; if (sprite->type != SPRITE_TYPE_ENEMY) continue ; d = sub(game->player->pos, sprite->pos); dist_squared = d.x * d.x + d.y * d.y; if (dist_squared >= 0.02) { inv_dist = 1.0 / sqrt(dist_squared); sprite->pos.x += d.x * inv_dist * .05f; sprite->pos.y += d.y * inv_dist * .05f; } } }