From 889eba1df501e190f9019cc42bad1606477c4cce Mon Sep 17 00:00:00 2001 From: Mattes D Date: Fri, 26 May 2023 12:59:31 +0200 Subject: Anvil: Allow loading chunks without HeightMap. --- src/SetChunkData.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/SetChunkData.cpp (limited to 'src/SetChunkData.cpp') diff --git a/src/SetChunkData.cpp b/src/SetChunkData.cpp new file mode 100644 index 000000000..4d298a093 --- /dev/null +++ b/src/SetChunkData.cpp @@ -0,0 +1,30 @@ +#include "Globals.h" +#include "SetChunkData.h" +#include "BlockType.h" +#include "Entities/Entity.h" + + + + + +void SetChunkData::UpdateHeightMap() +{ + for (int x = 0; x < cChunkDef::Width; x++) + { + for (int z = 0; z < cChunkDef::Width; z++) + { + HEIGHTTYPE Height = 0; + for (HEIGHTTYPE y = cChunkDef::Height - 1; y > 0; y--) + { + BLOCKTYPE BlockType = BlockData.GetBlock({x, y, z}); + if (BlockType != E_BLOCK_AIR) + { + Height = y; + break; + } + } // for y + auto idx = x + cChunkDef::Width * z; + HeightMap[idx] = Height; + } // for z + } // for x +} -- cgit v1.2.3