From bf79f6bc75a7686d59fdd0dba8b9018d6191e980 Mon Sep 17 00:00:00 2001 From: MihailRis Date: Thu, 10 Apr 2025 23:10:49 +0300 Subject: [PATCH] fix "upgrade square is not fully inside of area" error --- src/logic/ChunksController.cpp | 6 ++++-- src/world/generator/WorldGenerator.cpp | 5 +++-- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/logic/ChunksController.cpp b/src/logic/ChunksController.cpp index ccdd59b1..1c90b122 100644 --- a/src/logic/ChunksController.cpp +++ b/src/logic/ChunksController.cpp @@ -35,12 +35,14 @@ void ChunksController::update( int64_t maxDuration, int loadDistance, uint padding, Player& player ) const { const auto& position = player.getPosition(); - int centerX = floordiv(position.x); - int centerY = floordiv(position.z); + int centerX = floordiv(glm::floor(position.x)); + int centerY = floordiv(glm::floor(position.z)); if (player.isLoadingChunks()) { /// FIXME: one generator for multiple players generator->update(centerX, centerY, loadDistance); + } else { + return; } int64_t mcstotal = 0; diff --git a/src/world/generator/WorldGenerator.cpp b/src/world/generator/WorldGenerator.cpp index 955e3195..9ebd9067 100644 --- a/src/world/generator/WorldGenerator.cpp +++ b/src/world/generator/WorldGenerator.cpp @@ -355,8 +355,9 @@ void WorldGenerator::generateHeightmap( void WorldGenerator::update(int centerX, int centerY, int loadDistance) { surroundMap.setCenter(centerX, centerY); - // 2 is safety padding preventing ChunksController rounding problem - surroundMap.resize(loadDistance + 2); + // 3 is safety padding preventing ChunksController rounding problem + // FIXME + surroundMap.resize(loadDistance + 3); surroundMap.setCenter(centerX, centerY); }