From c33d0fa9c43fb316a9c6bbb2be81446dce7f49da Mon Sep 17 00:00:00 2001 From: Paweł Redman Date: Tue, 12 Dec 2017 15:44:19 +0100 Subject: Move tile data to src/game. --- src/game/worldgen.cpp | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 src/game/worldgen.cpp (limited to 'src/game/worldgen.cpp') diff --git a/src/game/worldgen.cpp b/src/game/worldgen.cpp new file mode 100644 index 0000000..573d03b --- /dev/null +++ b/src/game/worldgen.cpp @@ -0,0 +1,29 @@ +#include "game.hpp" + +namespace game { + +void worldgen(world::tile_t *tile, world::tile_index_t x, + procgen::perlin_noise_t *perlin) +{ + float waterlevel, height; + + waterlevel = perlin->get(x, 1000.0f) * 0.3f + + perlin->get(x, 500.0f) * 0.1f; + + height = perlin->get(x, 40.0f) * 0.6f + + perlin->get(x, 20.0f) * 0.25f + + perlin->get(x, 10.0f) * 0.2f + + perlin->get(x, 4.0f) * 0.1f + + perlin->get(x, 1.0f) * 0.05f; + + if (height < waterlevel) + tile->type = TILE_WALL; + else if (height < waterlevel + 0.1) + tile->type = TILE_DIRT; + else if (perlin->get(x, 3.0f) > 0.0f) + tile->type = TILE_WALL; + else + tile->type = TILE_DIRT; +} + +} -- cgit