diff --git a/src/logic/LevelController.cpp b/src/logic/LevelController.cpp index 4849df308..870fed923 100644 --- a/src/logic/LevelController.cpp +++ b/src/logic/LevelController.cpp @@ -104,10 +104,12 @@ void LevelController::update(float delta, bool pause) { if (player->isSuspended()) { continue; } - if (playerTickClock.update(delta)) { - if (player->getId() % playerTickClock.getParts() == - playerTickClock.getPart()) { - + if (int parts = playerTickClock.update(delta)) { + for (int i = 0; i < parts; i++) { + if (player->getId() % playerTickClock.getParts() != + playerTickClock.convertPart(i)) { + continue; + } const auto& position = player->getPosition(); if (player->chunks->get( std::floor(position.x), @@ -119,6 +121,7 @@ void LevelController::update(float delta, bool pause) { ); } } + } } } diff --git a/src/util/Clock.cpp b/src/util/Clock.cpp index c682a207d..dbe7b870f 100644 --- a/src/util/Clock.cpp +++ b/src/util/Clock.cpp @@ -27,10 +27,6 @@ int Clock::update(float delta) { return parts; } -int Clock::getPart() const { - return currentTickPart; -} - int Clock::getParts() const { return tickParts; } diff --git a/src/util/Clock.hpp b/src/util/Clock.hpp index a2c529d0f..a8ae83fd2 100644 --- a/src/util/Clock.hpp +++ b/src/util/Clock.hpp @@ -13,7 +13,6 @@ namespace util { int update(float delta); - int getPart() const; int getParts() const; int getTickRate() const; int getTickId() const;