mirror of
https://github.com/minetest/minetest.git
synced 2024-11-30 11:33:44 +01:00
Mgfractal: Revert unnecessary duplication of parameters
This commit is contained in:
parent
bdfb761dd0
commit
cb7da90138
@ -980,49 +980,34 @@ mgfractal_spflags (Mapgen fractal flags) flags nojulia julia,nojulia
|
|||||||
# 3 = 4D "Mandy Cousin" mandelbrot set, 4 = 4D mandelbrot set variation.
|
# 3 = 4D "Mandy Cousin" mandelbrot set, 4 = 4D mandelbrot set variation.
|
||||||
mgfractal_formula (Mapgen fractal formula) int 1 1 4
|
mgfractal_formula (Mapgen fractal formula) int 1 1 4
|
||||||
|
|
||||||
# Mandelbrot set: Iterations of the recursive function.
|
# Iterations of the recursive function.
|
||||||
# Controls scale of finest detail.
|
# Controls scale of finest detail.
|
||||||
mgfractal_m_iterations (Mapgen fractal mandelbrot iterations) int 9
|
mgfractal_iterations (Mapgen fractal iterations) int 9
|
||||||
|
|
||||||
# Mandelbrot set: Approximate (X,Y,Z) scales in nodes.
|
# Approximate (X,Y,Z) scales in nodes.
|
||||||
mgfractal_m_scale (Mapgen fractal mandelbrot scale) v3f (1024.0, 256.0, 1024.0)
|
mgfractal_scale (Mapgen fractal scale) v3f (1024.0, 256.0, 1024.0)
|
||||||
|
|
||||||
# Mandelbrot set: (X,Y,Z) offsets from world centre.
|
# (X,Y,Z) offsets from world centre.
|
||||||
# Range roughly -2 to 2, multiply by m_scale for offsets in nodes.
|
# Range roughly -2 to 2, multiply by 'scale' for offsets in nodes.
|
||||||
mgfractal_m_offset (Mapgen fractal mandelbrot offset) v3f (1.75, 0.0, 0.0)
|
mgfractal_offset (Mapgen fractal offset) v3f (1.75, 0.0, 0.0)
|
||||||
|
|
||||||
# Mandelbrot set: W co-ordinate of the generated 3D slice of the 4D shape.
|
# W co-ordinate of the generated 3D slice of the 4D shape.
|
||||||
# Range roughly -2 to 2.
|
# Range roughly -2 to 2.
|
||||||
mgfractal_m_slice_w (Mapgen fractal mandelbrot slice w) float 0.0
|
mgfractal_slice_w (Mapgen fractal slice w) float 0.0
|
||||||
|
|
||||||
# Julia set: Iterations of the recursive function.
|
# Julia set only: X value determining the 4D shape.
|
||||||
# Controls scale of finest detail.
|
|
||||||
mgfractal_j_iterations (Mapgen fractal julia iterations) int 9
|
|
||||||
|
|
||||||
# Julia set: Approximate (X,Y,Z) scales in nodes.
|
|
||||||
mgfractal_j_scale (Mapgen fractal julia scale) v3f (2048.0, 512.0, 2048.0)
|
|
||||||
|
|
||||||
# Julia set: (X,Y,Z) offsets from world centre.
|
|
||||||
# Range roughly -2 to 2, multiply by j_scale for offsets in nodes.
|
|
||||||
mgfractal_j_offset (Mapgen fractal julia offset) v3f (0.0, 1.0, 0.0)
|
|
||||||
|
|
||||||
# Julia set: W co-ordinate of the generated 3D slice of the 4D shape.
|
|
||||||
# Range roughly -2 to 2.
|
|
||||||
mgfractal_j_slice_w (Mapgen fractal julia slice w) float 0.0
|
|
||||||
|
|
||||||
# Julia set: X value determining the 4D shape.
|
|
||||||
# Range roughly -2 to 2.
|
# Range roughly -2 to 2.
|
||||||
mgfractal_julia_x (Mapgen fractal julia x) float 0.33
|
mgfractal_julia_x (Mapgen fractal julia x) float 0.33
|
||||||
|
|
||||||
# Julia set: Y value determining the 4D shape.
|
# Julia set only: Y value determining the 4D shape.
|
||||||
# Range roughly -2 to 2.
|
# Range roughly -2 to 2.
|
||||||
mgfractal_julia_y (Mapgen fractal julia y) float 0.33
|
mgfractal_julia_y (Mapgen fractal julia y) float 0.33
|
||||||
|
|
||||||
# Julia set: Z value determining the 4D shape.
|
# Julia set only: Z value determining the 4D shape.
|
||||||
# Range roughly -2 to 2.
|
# Range roughly -2 to 2.
|
||||||
mgfractal_julia_z (Mapgen fractal julia z) float 0.33
|
mgfractal_julia_z (Mapgen fractal julia z) float 0.33
|
||||||
|
|
||||||
# Julia set: W value determining the 4D shape.
|
# Julia set only: W value determining the 4D shape.
|
||||||
# Range roughly -2 to 2.
|
# Range roughly -2 to 2.
|
||||||
mgfractal_julia_w (Mapgen fractal julia w) float 0.33
|
mgfractal_julia_w (Mapgen fractal julia w) float 0.33
|
||||||
|
|
||||||
|
@ -1246,62 +1246,31 @@
|
|||||||
# type: int
|
# type: int
|
||||||
# mgfractal_formula = 1
|
# mgfractal_formula = 1
|
||||||
|
|
||||||
# Mandelbrot set: Iterations of the recursive function.
|
# Iterations of the recursive function.
|
||||||
# Controls scale of finest detail.
|
# Controls scale of finest detail.
|
||||||
# type: int
|
# type: int
|
||||||
# mgfractal_m_iterations = 9
|
# mgfractal_iterations = 9
|
||||||
|
|
||||||
# Mandelbrot set: Approximate (X,Y,Z) scales in nodes.
|
# Approximate (X,Y,Z) scales in nodes.
|
||||||
# type: v3f
|
# type: v3f
|
||||||
# mgfractal_m_scale = (1024.0, 256.0, 1024.0)
|
# mgfractal_scale = (1024.0, 256.0, 1024.0)
|
||||||
|
|
||||||
# Mandelbrot set: (X,Y,Z) offsets from world centre.
|
# (X,Y,Z) offsets from world centre.
|
||||||
# Range roughly -2 to 2, multiply by m_scale for offsets in nodes.
|
# Range roughly -2 to 2, multiply by 'scale' for offsets in nodes.
|
||||||
# type: v3f
|
# type: v3f
|
||||||
# mgfractal_m_offset = (1.75, 0.0, 0.0)
|
# mgfractal_offset = (1.75, 0.0, 0.0)
|
||||||
|
|
||||||
# Mandelbrot set: W co-ordinate of the generated 3D slice of the 4D shape.
|
# W co-ordinate of the generated 3D slice of the 4D shape.
|
||||||
# Range roughly -2 to 2.
|
# Range roughly -2 to 2.
|
||||||
# type: float
|
# type: float
|
||||||
# mgfractal_m_slice_w = 0.0
|
# mgfractal_slice_w = 0.0
|
||||||
|
|
||||||
# Julia set: Iterations of the recursive function.
|
# Julia set only: 4 values determining the 4D shape.
|
||||||
# Controls scale of finest detail.
|
|
||||||
# type: int
|
|
||||||
# mgfractal_j_iterations = 9
|
|
||||||
|
|
||||||
# Julia set: Approximate (X,Y,Z) scales in nodes.
|
|
||||||
# type: v3f
|
|
||||||
# mgfractal_j_scale = (2048.0, 512.0, 2048.0)
|
|
||||||
|
|
||||||
# Julia set: (X,Y,Z) offsets from world centre.
|
|
||||||
# Range roughly -2 to 2, multiply by j_scale for offsets in nodes.
|
|
||||||
# type: v3f
|
|
||||||
# mgfractal_j_offset = (0.0, 1.0, 0.0)
|
|
||||||
|
|
||||||
# Julia set: W co-ordinate of the generated 3D slice of the 4D shape.
|
|
||||||
# Range roughly -2 to 2.
|
|
||||||
# type: float
|
|
||||||
# mgfractal_j_slice_w = 0.0
|
|
||||||
|
|
||||||
# Julia set: X value determining the 4D shape.
|
|
||||||
# Range roughly -2 to 2.
|
# Range roughly -2 to 2.
|
||||||
# type: float
|
# type: float
|
||||||
# mgfractal_julia_x = 0.33
|
# mgfractal_julia_x = 0.33
|
||||||
|
|
||||||
# Julia set: Y value determining the 4D shape.
|
|
||||||
# Range roughly -2 to 2.
|
|
||||||
# type: float
|
|
||||||
# mgfractal_julia_y = 0.33
|
# mgfractal_julia_y = 0.33
|
||||||
|
|
||||||
# Julia set: Z value determining the 4D shape.
|
|
||||||
# Range roughly -2 to 2.
|
|
||||||
# type: float
|
|
||||||
# mgfractal_julia_z = 0.33
|
# mgfractal_julia_z = 0.33
|
||||||
|
|
||||||
# Julia set: W value determining the 4D shape.
|
|
||||||
# Range roughly -2 to 2.
|
|
||||||
# type: float
|
|
||||||
# mgfractal_julia_w = 0.33
|
# mgfractal_julia_w = 0.33
|
||||||
|
|
||||||
# type: noise_params
|
# type: noise_params
|
||||||
|
@ -59,25 +59,20 @@ MapgenFractal::MapgenFractal(int mapgenid, MapgenParams *params, EmergeManager *
|
|||||||
this->ystride = csize.X;
|
this->ystride = csize.X;
|
||||||
this->zstride = csize.X * (csize.Y + 2);
|
this->zstride = csize.X * (csize.Y + 2);
|
||||||
|
|
||||||
this->biomemap = new u8[csize.X * csize.Z];
|
this->biomemap = new u8[csize.X * csize.Z];
|
||||||
this->heightmap = new s16[csize.X * csize.Z];
|
this->heightmap = new s16[csize.X * csize.Z];
|
||||||
this->heatmap = NULL;
|
this->heatmap = NULL;
|
||||||
this->humidmap = NULL;
|
this->humidmap = NULL;
|
||||||
|
|
||||||
MapgenFractalParams *sp = (MapgenFractalParams *)params->sparams;
|
MapgenFractalParams *sp = (MapgenFractalParams *)params->sparams;
|
||||||
this->spflags = sp->spflags;
|
this->spflags = sp->spflags;
|
||||||
|
|
||||||
this->formula = sp->formula;
|
this->formula = sp->formula;
|
||||||
|
this->iterations = sp->iterations;
|
||||||
|
this->scale = sp->scale;
|
||||||
|
this->offset = sp->offset;
|
||||||
|
this->slice_w = sp->slice_w;
|
||||||
|
|
||||||
this->m_iterations = sp->m_iterations;
|
|
||||||
this->m_scale = sp->m_scale;
|
|
||||||
this->m_offset = sp->m_offset;
|
|
||||||
this->m_slice_w = sp->m_slice_w;
|
|
||||||
|
|
||||||
this->j_iterations = sp->j_iterations;
|
|
||||||
this->j_scale = sp->j_scale;
|
|
||||||
this->j_offset = sp->j_offset;
|
|
||||||
this->j_slice_w = sp->j_slice_w;
|
|
||||||
this->julia_x = sp->julia_x;
|
this->julia_x = sp->julia_x;
|
||||||
this->julia_y = sp->julia_y;
|
this->julia_y = sp->julia_y;
|
||||||
this->julia_z = sp->julia_z;
|
this->julia_z = sp->julia_z;
|
||||||
@ -148,16 +143,11 @@ MapgenFractalParams::MapgenFractalParams()
|
|||||||
spflags = 0;
|
spflags = 0;
|
||||||
|
|
||||||
formula = 1;
|
formula = 1;
|
||||||
|
iterations = 9;
|
||||||
|
scale = v3f(1024.0, 256.0, 1024.0);
|
||||||
|
offset = v3f(1.75, 0.0, 0.0);
|
||||||
|
slice_w = 0.0;
|
||||||
|
|
||||||
m_iterations = 9; // Mandelbrot set only
|
|
||||||
m_scale = v3f(1024.0, 256.0, 1024.0);
|
|
||||||
m_offset = v3f(1.75, 0.0, 0.0);
|
|
||||||
m_slice_w = 0.0;
|
|
||||||
|
|
||||||
j_iterations = 9; // Julia set only
|
|
||||||
j_scale = v3f(2048.0, 512.0, 2048.0);
|
|
||||||
j_offset = v3f(0.0, 1.0, 0.0);
|
|
||||||
j_slice_w = 0.0;
|
|
||||||
julia_x = 0.33;
|
julia_x = 0.33;
|
||||||
julia_y = 0.33;
|
julia_y = 0.33;
|
||||||
julia_z = 0.33;
|
julia_z = 0.33;
|
||||||
@ -175,16 +165,11 @@ void MapgenFractalParams::readParams(const Settings *settings)
|
|||||||
settings->getFlagStrNoEx("mgfractal_spflags", spflags, flagdesc_mapgen_fractal);
|
settings->getFlagStrNoEx("mgfractal_spflags", spflags, flagdesc_mapgen_fractal);
|
||||||
|
|
||||||
settings->getU16NoEx("mgfractal_formula", formula);
|
settings->getU16NoEx("mgfractal_formula", formula);
|
||||||
|
settings->getU16NoEx("mgfractal_iterations", iterations);
|
||||||
|
settings->getV3FNoEx("mgfractal_scale", scale);
|
||||||
|
settings->getV3FNoEx("mgfractal_offset", offset);
|
||||||
|
settings->getFloatNoEx("mgfractal_slice_w", slice_w);
|
||||||
|
|
||||||
settings->getU16NoEx("mgfractal_m_iterations", m_iterations);
|
|
||||||
settings->getV3FNoEx("mgfractal_m_scale", m_scale);
|
|
||||||
settings->getV3FNoEx("mgfractal_m_offset", m_offset);
|
|
||||||
settings->getFloatNoEx("mgfractal_m_slice_w", m_slice_w);
|
|
||||||
|
|
||||||
settings->getU16NoEx("mgfractal_j_iterations", j_iterations);
|
|
||||||
settings->getV3FNoEx("mgfractal_j_scale", j_scale);
|
|
||||||
settings->getV3FNoEx("mgfractal_j_offset", j_offset);
|
|
||||||
settings->getFloatNoEx("mgfractal_j_slice_w", j_slice_w);
|
|
||||||
settings->getFloatNoEx("mgfractal_julia_x", julia_x);
|
settings->getFloatNoEx("mgfractal_julia_x", julia_x);
|
||||||
settings->getFloatNoEx("mgfractal_julia_y", julia_y);
|
settings->getFloatNoEx("mgfractal_julia_y", julia_y);
|
||||||
settings->getFloatNoEx("mgfractal_julia_z", julia_z);
|
settings->getFloatNoEx("mgfractal_julia_z", julia_z);
|
||||||
@ -202,16 +187,11 @@ void MapgenFractalParams::writeParams(Settings *settings) const
|
|||||||
settings->setFlagStr("mgfractal_spflags", spflags, flagdesc_mapgen_fractal, U32_MAX);
|
settings->setFlagStr("mgfractal_spflags", spflags, flagdesc_mapgen_fractal, U32_MAX);
|
||||||
|
|
||||||
settings->setU16("mgfractal_formula", formula);
|
settings->setU16("mgfractal_formula", formula);
|
||||||
|
settings->setU16("mgfractal_iterations", iterations);
|
||||||
|
settings->setV3F("mgfractal_scale", scale);
|
||||||
|
settings->setV3F("mgfractal_offset", offset);
|
||||||
|
settings->setFloat("mgfractal_slice_w", slice_w);
|
||||||
|
|
||||||
settings->setU16("mgfractal_m_iterations", m_iterations);
|
|
||||||
settings->setV3F("mgfractal_m_scale", m_scale);
|
|
||||||
settings->setV3F("mgfractal_m_offset", m_offset);
|
|
||||||
settings->setFloat("mgfractal_m_slice_w", m_slice_w);
|
|
||||||
|
|
||||||
settings->setU16("mgfractal_j_iterations", j_iterations);
|
|
||||||
settings->setV3F("mgfractal_j_scale", j_scale);
|
|
||||||
settings->setV3F("mgfractal_j_offset", j_offset);
|
|
||||||
settings->setFloat("mgfractal_j_slice_w", j_slice_w);
|
|
||||||
settings->setFloat("mgfractal_julia_x", julia_x);
|
settings->setFloat("mgfractal_julia_x", julia_x);
|
||||||
settings->setFloat("mgfractal_julia_y", julia_y);
|
settings->setFloat("mgfractal_julia_y", julia_y);
|
||||||
settings->setFloat("mgfractal_julia_z", julia_z);
|
settings->setFloat("mgfractal_julia_z", julia_z);
|
||||||
@ -393,23 +373,21 @@ bool MapgenFractal::getFractalAtPoint(s16 x, s16 y, s16 z)
|
|||||||
cy = julia_y;
|
cy = julia_y;
|
||||||
cz = julia_z;
|
cz = julia_z;
|
||||||
cw = julia_w;
|
cw = julia_w;
|
||||||
ox = (float)x / j_scale.X - j_offset.X;
|
ox = (float)x / scale.X - offset.X;
|
||||||
oy = (float)y / j_scale.Y - j_offset.Y;
|
oy = (float)y / scale.Y - offset.Y;
|
||||||
oz = (float)z / j_scale.Z - j_offset.Z;
|
oz = (float)z / scale.Z - offset.Z;
|
||||||
ow = j_slice_w;
|
ow = slice_w;
|
||||||
} else { // Mandelbrot set
|
} else { // Mandelbrot set
|
||||||
cx = (float)x / m_scale.X - m_offset.X;
|
cx = (float)x / scale.X - offset.X;
|
||||||
cy = (float)y / m_scale.Y - m_offset.Y;
|
cy = (float)y / scale.Y - offset.Y;
|
||||||
cz = (float)z / m_scale.Z - m_offset.Z;
|
cz = (float)z / scale.Z - offset.Z;
|
||||||
cw = m_slice_w;
|
cw = slice_w;
|
||||||
ox = 0.0f;
|
ox = 0.0f;
|
||||||
oy = 0.0f;
|
oy = 0.0f;
|
||||||
oz = 0.0f;
|
oz = 0.0f;
|
||||||
ow = 0.0f;
|
ow = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
u16 iterations = spflags & MGFRACTAL_JULIA ? j_iterations : m_iterations;
|
|
||||||
|
|
||||||
for (u16 iter = 0; iter < iterations; iter++) {
|
for (u16 iter = 0; iter < iterations; iter++) {
|
||||||
float nx = 0.0f;
|
float nx = 0.0f;
|
||||||
float ny = 0.0f;
|
float ny = 0.0f;
|
||||||
|
@ -37,16 +37,11 @@ struct MapgenFractalParams : public MapgenSpecificParams {
|
|||||||
u32 spflags;
|
u32 spflags;
|
||||||
|
|
||||||
u16 formula;
|
u16 formula;
|
||||||
|
u16 iterations;
|
||||||
|
v3f scale;
|
||||||
|
v3f offset;
|
||||||
|
float slice_w;
|
||||||
|
|
||||||
u16 m_iterations;
|
|
||||||
v3f m_scale;
|
|
||||||
v3f m_offset;
|
|
||||||
float m_slice_w;
|
|
||||||
|
|
||||||
u16 j_iterations;
|
|
||||||
v3f j_scale;
|
|
||||||
v3f j_offset;
|
|
||||||
float j_slice_w;
|
|
||||||
float julia_x;
|
float julia_x;
|
||||||
float julia_y;
|
float julia_y;
|
||||||
float julia_z;
|
float julia_z;
|
||||||
@ -79,16 +74,11 @@ public:
|
|||||||
v3s16 full_node_max;
|
v3s16 full_node_max;
|
||||||
|
|
||||||
u16 formula;
|
u16 formula;
|
||||||
|
u16 iterations;
|
||||||
|
v3f scale;
|
||||||
|
v3f offset;
|
||||||
|
float slice_w;
|
||||||
|
|
||||||
u16 m_iterations;
|
|
||||||
v3f m_scale;
|
|
||||||
v3f m_offset;
|
|
||||||
float m_slice_w;
|
|
||||||
|
|
||||||
u16 j_iterations;
|
|
||||||
v3f j_scale;
|
|
||||||
v3f j_offset;
|
|
||||||
float j_slice_w;
|
|
||||||
float julia_x;
|
float julia_x;
|
||||||
float julia_y;
|
float julia_y;
|
||||||
float julia_z;
|
float julia_z;
|
||||||
|
Loading…
Reference in New Issue
Block a user