diff options
Diffstat (limited to 'src/SetChunkData.cpp')
-rw-r--r-- | src/SetChunkData.cpp | 30 |
1 files changed, 30 insertions, 0 deletions
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 +} |