Add flag to modify how noise is scaled

Sometimes, for 3d noise, the scale needs modifying (e.g. used with 2d noise),
while other times the spread alone is correct.
master
qwertymine3 2017-02-14 20:46:39 +00:00
parent 63b06d593a
commit 471bf22526
2 changed files with 8 additions and 4 deletions

11
api.lua
View File

@ -4,15 +4,18 @@ local function scale_noise(noise,scale)
s.x = s.x / scale.x
s.z = s.z / scale.z
if noise.dims
and noise.dims == 2 then
if (noise.dims and noise.dims == 2) then
s.y = s.y / scale.z
noise.scale = noise.scale / scale.y
noise.offset = noise.offset / scale.y
else
s.y = s.y / scale.y
end
if (dims == 2 and noise.mgmini_scale_values ~= false)
or (dims == 3 and noise.mgmini_scale_values) then
noise.scale = noise.scale / scale.y
noise.offset = noise.offset / scale.y
else
return noise
end

View File

@ -10,6 +10,7 @@ mgmini.zero_noise = {
}
mgmini.ave_val_def = function(value)
minetest.log("error", "Average value noise used")
local noise = table.copy(mgmini.zero_noise)
noise.offset = value
return noise