diff --git a/res/generators/default.lua b/res/generators/default.lua index 564339b0..5163e0f8 100644 --- a/res/generators/default.lua +++ b/res/generators/default.lua @@ -7,9 +7,20 @@ function generate_heightmap(x, y, w, h) vmap:noise({x+95, y+246}, 0.15, 3, 35.8) local map = Heightmap(w, h) - map:noise({x, y}, 0.02, 6, 0.2) - map:noise({x, y}, 0.06, 7, 0.5, umap, vmap) - map:mul(0.3) + map:noise({x, y}, 0.02, 7, 0.2) + map:noise({x, y}, 0.06, 8, 0.5, umap, vmap) + map:mul(0.5) map:add(0.3) + map:pow(2.0) + + local rivermap = Heightmap(w, h) + rivermap:noise({x+21, y+12}, 0.03, 4) + rivermap:abs() + rivermap:mul(2.0) + rivermap:pow(0.18) + map:add(0.4) + map:mul(rivermap) + map:add(-0.2) + return map end diff --git a/src/logic/scripting/lua/lua_type_heightmap.cpp b/src/logic/scripting/lua/lua_type_heightmap.cpp index 506177ea..b2555103 100644 --- a/src/logic/scripting/lua/lua_type_heightmap.cpp +++ b/src/logic/scripting/lua/lua_type_heightmap.cpp @@ -113,7 +113,7 @@ static int l_binop_func(lua::State* L) { } } } else { - auto map = touserdata(L, 2); + auto map = touserdata(L, 2); for (uint y = 0; y < h; y++) { for (uint x = 0; x < w; x++) { uint i = y * w + x; @@ -132,7 +132,6 @@ static int l_unaryop_func(lua::State* L) { uint w = heightmap->getWidth(); uint h = heightmap->getHeight(); auto heights = heightmap->getValues(); - float power = tonumber(L, 2); for (uint y = 0; y < h; y++) { for (uint x = 0; x < w; x++) { uint i = y * w + x;