From cd43d9545a52ca153b7548585c65af8b98bbfc7f Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 29 Dec 2025 20:56:34 +0300 Subject: [PATCH 1/2] fix on_blocks_tick interval --- src/logic/BlocksController.cpp | 4 ++-- src/util/Clock.cpp | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/logic/BlocksController.cpp b/src/logic/BlocksController.cpp index 616060951..08e2aae7c 100644 --- a/src/logic/BlocksController.cpp +++ b/src/logic/BlocksController.cpp @@ -24,7 +24,7 @@ BlocksController::BlocksController(const Level& level, Lighting* lighting) chunks(*level.chunks), lighting(lighting), randTickClock(20, 3), - blocksTickClock(20, 1), + blocksTickClock(20, 3), worldTickClock(20, 1) { } @@ -124,7 +124,7 @@ void BlocksController::update(float delta, uint padding) { randomTick(randTickClock.getPart(), randTickClock.getParts(), padding); } if (blocksTickClock.update(delta)) { - onBlocksTick(blocksTickClock.getPart(), blocksTickClock.getParts()); + onBlocksTick(blocksTickClock.getTickId(), blocksTickClock.getParts()); } if (worldTickClock.update(delta)) { scripting::on_world_tick(worldTickClock.getTickRate()); diff --git a/src/util/Clock.cpp b/src/util/Clock.cpp index 58aea31a2..0d4f74021 100644 --- a/src/util/Clock.cpp +++ b/src/util/Clock.cpp @@ -18,6 +18,7 @@ bool Clock::update(float delta) { tickTimer = std::fmod(tickTimer, delay); tickPartsUndone = tickParts - 1; } + ++tickId; return true; } return false; From 5ee67e003548404d5577a49c02a96144a050eed2 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Mon, 29 Dec 2025 21:51:30 +0300 Subject: [PATCH 2/2] feat: close selectbox popup on second click --- src/graphics/ui/elements/SelectBox.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/graphics/ui/elements/SelectBox.cpp b/src/graphics/ui/elements/SelectBox.cpp index 97a899e6c..f944f5c49 100644 --- a/src/graphics/ui/elements/SelectBox.cpp +++ b/src/graphics/ui/elements/SelectBox.cpp @@ -21,7 +21,8 @@ SelectBox::SelectBox( listenAction(UIAction::CLICK, [this](GUI& gui) { auto panel = std::make_shared(gui, getSize()); - panel->setPos(calcPos() + glm::vec2(0, size.y)); + panel->setPadding(glm::vec4(0, size.y, 0, 0)); + panel->setPos(calcPos() + glm::vec2(0, 0)); for (const auto& option : this->options) { auto button = std::make_shared