adding multiple blocs

This commit is contained in:
Kbz-8
2025-05-22 12:11:47 +02:00
parent c1df84bad7
commit 0e73c65f8d
7 changed files with 66 additions and 33 deletions

View File

@@ -1,13 +1,19 @@
#include <Noise.h>
#include <Block.h>
[[nodiscard]] std::array<std::uint32_t, CHUNK_SIZE.y> Noise::GetHeight(Scop::Vec2i pos)
{
std::array<std::uint32_t, CHUNK_SIZE.y> data;
std::memset(data.data(), 0, data.size() * sizeof(std::uint32_t));
std::memset(data.data(), static_cast<std::uint32_t>(BlockType::Air), data.size() * sizeof(std::uint32_t));
std::uint32_t height = std::abs(std::sin((float)pos.x / 20.0f) * std::cos((float)pos.y / 20.0f) * 60.0f) + 1;
for(std::uint32_t y = 0; y < std::min(height, CHUNK_SIZE.y); y++)
data[y] = 1;
{
if(y > std::min(height, CHUNK_SIZE.y) - 2)
data[y] = static_cast<std::uint32_t>(BlockType::Dirt);
else
data[y] = static_cast<std::uint32_t>(BlockType::Stone);
}
return data;
}