diff --git a/engine/ecs/systems.cpp b/engine/ecs/systems.cpp index a4d750a..0c2e74b 100644 --- a/engine/ecs/systems.cpp +++ b/engine/ecs/systems.cpp @@ -66,8 +66,8 @@ void movementSystem(entt::registry ®istry, std::vector &tiles, sf::Vector2f delta = vel.value * speed.value * dt; auto canMove = [&](float newX, float newY) { - int tileX = static_cast(newX) - 1; - int tileY = static_cast(newY); + int tileX = static_cast(std::floor(newX)) - 1; + int tileY = static_cast(std::floor(newY)); if (tileX < 0 || tileX >= worldWidth || tileY < 0 || tileY >= worldHeight) return false;