summaryrefslogtreecommitdiffstats
path: root/src/SetChunkData.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/SetChunkData.cpp')
-rw-r--r--src/SetChunkData.cpp30
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
+}