Luanti 5.15.0-dev
 
Loading...
Searching...
No Matches
mapgen_fractal.h
Go to the documentation of this file.
1// Luanti
2// SPDX-License-Identifier: LGPL-2.1-or-later
3// Copyright (C) 2015-2019 paramat
4// Copyright (C) 2015-2016 kwolekr, Ryan Kwolek
5
6#pragma once
7
8#include "mapgen.h"
9
11#define MGFRACTAL_TERRAIN 0x01
12
13
15
16
18{
19 float cave_width = 0.09f;
25 float large_cave_flooded = 0.5f;
26 s16 dungeon_ymin = -31000;
27 s16 dungeon_ymax = 31000;
28 u16 fractal = 1;
29 u16 iterations = 11;
30 v3f scale = v3f(4096.0, 1024.0, 4096.0);
31 v3f offset = v3f(1.52, 0.0, 0.0);
32 float slice_w = 0.0f;
33 float julia_x = 0.267f;
34 float julia_y = 0.2f;
35 float julia_z = 0.133f;
36 float julia_w = 0.067f;
37
43
46
47 void readParams(const Settings *settings);
48 void writeParams(Settings *settings) const;
50};
51
52
54{
55public:
58
59 virtual MapgenType getType() const { return MAPGEN_FRACTAL; }
60
61 virtual void makeChunk(BlockMakeData *data);
63 bool getFractalAtPoint(s16 x, s16 y, s16 z);
64 s16 generateTerrain();
65
66private:
68 bool julia;
73 float slice_w;
74 float julia_x;
75 float julia_y;
76 float julia_z;
77 float julia_w;
78 Noise *noise_seabed = nullptr;
79};
Definition emerge.h:84
Definition mapgen.h:276
Definition mapgen_fractal.h:54
float julia_y
Definition mapgen_fractal.h:75
u16 formula
Definition mapgen_fractal.h:67
~MapgenFractal()
Definition mapgen_fractal.cpp:74
float julia_x
Definition mapgen_fractal.h:74
int getSpawnLevelAtPoint(v2s16 p)
Definition mapgen_fractal.cpp:171
bool getFractalAtPoint(s16 x, s16 y, s16 z)
Definition mapgen_fractal.cpp:271
float julia_w
Definition mapgen_fractal.h:77
virtual MapgenType getType() const
Definition mapgen_fractal.h:59
u16 fractal
Definition mapgen_fractal.h:69
virtual void makeChunk(BlockMakeData *data)
Definition mapgen_fractal.cpp:201
float slice_w
Definition mapgen_fractal.h:73
v3f offset
Definition mapgen_fractal.h:72
float julia_z
Definition mapgen_fractal.h:76
bool julia
Definition mapgen_fractal.h:68
MapgenFractal(MapgenFractalParams *params, EmergeParams *emerge)
Definition mapgen_fractal.cpp:34
Noise * noise_seabed
Definition mapgen_fractal.h:78
s16 generateTerrain()
Definition mapgen_fractal.cpp:401
u16 iterations
Definition mapgen_fractal.h:70
v3f scale
Definition mapgen_fractal.h:71
Definition noise.h:146
Definition settings.h:110
static const char * settings[]
Definition fontengine.cpp:26
core::vector2d< s16 > v2s16
Definition irr_v2d.h:12
core::vector3df v3f
Definition irr_v3d.h:11
MapgenType
Definition mapgen.h:99
@ MAPGEN_FRACTAL
Definition mapgen.h:105
const FlagDesc flagdesc_mapgen_fractal[]
Definition mapgen_fractal.cpp:26
Definition emerge.h:36
Definition string.h:68
Definition mapgen_fractal.h:18
u16 fractal
Definition mapgen_fractal.h:28
float cave_width
Definition mapgen_fractal.h:19
NoiseParams np_cave1
Definition mapgen_fractal.h:40
float slice_w
Definition mapgen_fractal.h:32
s16 large_cave_depth
Definition mapgen_fractal.h:20
void setDefaultSettings(Settings *settings)
Definition mapgen_fractal.cpp:161
float julia_y
Definition mapgen_fractal.h:34
~MapgenFractalParams()=default
u16 large_cave_num_min
Definition mapgen_fractal.h:23
NoiseParams np_seabed
Definition mapgen_fractal.h:38
void readParams(const Settings *settings)
Definition mapgen_fractal.cpp:91
s16 dungeon_ymin
Definition mapgen_fractal.h:26
u16 small_cave_num_min
Definition mapgen_fractal.h:21
u16 iterations
Definition mapgen_fractal.h:29
u16 large_cave_num_max
Definition mapgen_fractal.h:24
NoiseParams np_filler_depth
Definition mapgen_fractal.h:39
float large_cave_flooded
Definition mapgen_fractal.h:25
float julia_z
Definition mapgen_fractal.h:35
NoiseParams np_cave2
Definition mapgen_fractal.h:41
v3f scale
Definition mapgen_fractal.h:30
v3f offset
Definition mapgen_fractal.h:31
float julia_w
Definition mapgen_fractal.h:36
MapgenFractalParams()
Definition mapgen_fractal.cpp:81
u16 small_cave_num_max
Definition mapgen_fractal.h:22
NoiseParams np_dungeons
Definition mapgen_fractal.h:42
void writeParams(Settings *settings) const
Definition mapgen_fractal.cpp:131
float julia_x
Definition mapgen_fractal.h:33
s16 dungeon_ymax
Definition mapgen_fractal.h:27
Definition mapgen.h:111
Definition noise.h:119
static std::string p(std::string path)
Definition test_filesys.cpp:64
constexpr v3f x
Definition test_irr_matrix4.cpp:18
constexpr v3f y
Definition test_irr_matrix4.cpp:19
constexpr v3f z
Definition test_irr_matrix4.cpp:20