From 7943a837b68669f582e8cd6c22152c615ec3da71 Mon Sep 17 00:00:00 2001 From: Lars Date: Tue, 24 Jun 2025 19:35:19 -0700 Subject: [PATCH] Avoid copying empty blocks for mesh-generation --- src/client/mesh_generator_thread.cpp | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/src/client/mesh_generator_thread.cpp b/src/client/mesh_generator_thread.cpp index 712c785ce..6765c6837 100644 --- a/src/client/mesh_generator_thread.cpp +++ b/src/client/mesh_generator_thread.cpp @@ -11,18 +11,6 @@ #include "util/directiontables.h" #include "porting.h" -// Data placeholder used for copying from non-existent blocks -static struct BlockPlaceholder { - MapNode data[MapBlock::nodecount]; - - BlockPlaceholder() - { - for (std::size_t i = 0; i < MapBlock::nodecount; i++) - data[i] = MapNode(CONTENT_IGNORE); - } - -} block_placeholder; - /* QueuedMeshUpdate */ @@ -188,7 +176,8 @@ void MeshUpdateQueue::fillDataFromMapBlocks(QueuedMeshUpdate *q) for (pos.Z = q->p.Z - 1; pos.Z <= q->p.Z + mesh_grid.cell_size; pos.Z++) for (pos.Y = q->p.Y - 1; pos.Y <= q->p.Y + mesh_grid.cell_size; pos.Y++) { MapBlock *block = q->map_blocks[i++]; - data->fillBlockData(pos, block ? block->getData() : block_placeholder.data); + if (block) + data->fillBlockData(pos, block->getData()); } data->setCrack(q->crack_level, q->crack_pos);