Luanti 5.15.0-dev
 
Loading...
Searching...
No Matches
mapgen_v7.h
Go to the documentation of this file.
1// Luanti
2// SPDX-License-Identifier: LGPL-2.1-or-later
3// Copyright (C) 2014-2020 paramat
4// Copyright (C) 2013-2016 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
5
6#pragma once
7
8#include "mapgen.h"
9
11#define MGV7_MOUNTAINS 0x01
12#define MGV7_RIDGES 0x02
13#define MGV7_FLOATLANDS 0x04
14#define MGV7_CAVERNS 0x08
15#define MGV7_BIOMEREPEAT 0x10 // Now unused
16
17
18extern const FlagDesc flagdesc_mapgen_v7[];
19
20
65
66
67class MapgenV7 : public MapgenBasic {
68public:
69 MapgenV7(MapgenV7Params *params, EmergeParams *emerge);
70 ~MapgenV7();
71
72 virtual MapgenType getType() const { return MAPGEN_V7; }
73
74 virtual void makeChunk(BlockMakeData *data);
76
77 float baseTerrainLevelAtPoint(s16 x, s16 z);
78 float baseTerrainLevelFromMap(int index);
79 bool getMountainTerrainAtPoint(s16 x, s16 y, s16 z);
80 bool getMountainTerrainFromMap(int idx_xyz, int idx_xz, s16 y);
81 bool getRiverChannelFromMap(int idx_xyz, int idx_xz, s16 y);
82 bool getFloatlandTerrainFromMap(int idx_xyz, float float_offset);
83
84 int generateTerrain();
85
86private:
94
95 float *float_offset_cache = nullptr;
96
104 Noise *noise_ridge = nullptr;
106};
Definition emerge.h:84
Definition mapgen.h:276
Definition mapgen_v7.h:67
float float_taper_exp
Definition mapgen_v7.h:91
bool getMountainTerrainFromMap(int idx_xyz, int idx_xz, s16 y)
Definition mapgen_v7.cpp:434
s16 floatland_ywater
Definition mapgen_v7.h:93
bool getMountainTerrainAtPoint(s16 x, s16 y, s16 z)
Definition mapgen_v7.cpp:423
float baseTerrainLevelAtPoint(s16 x, s16 z)
Definition mapgen_v7.cpp:390
MapgenV7(MapgenV7Params *params, EmergeParams *emerge)
Definition mapgen_v7.cpp:38
Noise * noise_ridge_uwater
Definition mapgen_v7.h:102
Noise * noise_height_select
Definition mapgen_v7.h:100
Noise * noise_mount_height
Definition mapgen_v7.h:101
s16 floatland_ymax
Definition mapgen_v7.h:89
s16 floatland_taper
Definition mapgen_v7.h:90
~MapgenV7()
Definition mapgen_v7.cpp:111
Noise * noise_floatland
Definition mapgen_v7.h:105
Noise * noise_ridge
Definition mapgen_v7.h:104
virtual void makeChunk(BlockMakeData *data)
Definition mapgen_v7.cpp:299
float * float_offset_cache
Definition mapgen_v7.h:95
Noise * noise_terrain_persist
Definition mapgen_v7.h:99
s16 floatland_ymin
Definition mapgen_v7.h:88
Noise * noise_terrain_base
Definition mapgen_v7.h:97
bool getFloatlandTerrainFromMap(int idx_xyz, float float_offset)
Definition mapgen_v7.cpp:461
int generateTerrain()
Definition mapgen_v7.cpp:467
virtual MapgenType getType() const
Definition mapgen_v7.h:72
Noise * noise_mountain
Definition mapgen_v7.h:103
s16 mount_zero_level
Definition mapgen_v7.h:87
float floatland_density
Definition mapgen_v7.h:92
float baseTerrainLevelFromMap(int index)
Definition mapgen_v7.cpp:410
Noise * noise_terrain_alt
Definition mapgen_v7.h:98
bool getRiverChannelFromMap(int idx_xyz, int idx_xz, s16 y)
Definition mapgen_v7.cpp:444
int getSpawnLevelAtPoint(v2s16 p)
Definition mapgen_v7.cpp:248
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
MapgenType
Definition mapgen.h:99
@ MAPGEN_V7
Definition mapgen.h:100
const FlagDesc flagdesc_mapgen_v7[]
Definition mapgen_v7.cpp:26
Definition emerge.h:36
Definition string.h:68
Definition mapgen.h:111
Definition mapgen_v7.h:21
void writeParams(Settings *settings) const
Definition mapgen_v7.cpp:197
float floatland_density
Definition mapgen_v7.h:27
~MapgenV7Params()=default
NoiseParams np_filler_depth
Definition mapgen_v7.h:47
void setDefaultSettings(Settings *settings)
Definition mapgen_v7.cpp:238
s16 cavern_limit
Definition mapgen_v7.h:37
s16 cavern_taper
Definition mapgen_v7.h:38
MapgenV7Params()
Definition mapgen_v7.cpp:137
NoiseParams np_cave2
Definition mapgen_v7.h:55
NoiseParams np_floatland
Definition mapgen_v7.h:52
NoiseParams np_ridge_uwater
Definition mapgen_v7.h:49
u16 small_cave_num_max
Definition mapgen_v7.h:33
NoiseParams np_terrain_persist
Definition mapgen_v7.h:45
s16 floatland_ymin
Definition mapgen_v7.h:23
float cavern_threshold
Definition mapgen_v7.h:39
NoiseParams np_terrain_alt
Definition mapgen_v7.h:44
float cave_width
Definition mapgen_v7.h:30
u16 small_cave_num_min
Definition mapgen_v7.h:32
s16 floatland_taper
Definition mapgen_v7.h:25
NoiseParams np_cavern
Definition mapgen_v7.h:53
NoiseParams np_ridge
Definition mapgen_v7.h:51
NoiseParams np_height_select
Definition mapgen_v7.h:46
NoiseParams np_dungeons
Definition mapgen_v7.h:56
s16 large_cave_depth
Definition mapgen_v7.h:31
NoiseParams np_cave1
Definition mapgen_v7.h:54
NoiseParams np_mount_height
Definition mapgen_v7.h:48
s16 dungeon_ymin
Definition mapgen_v7.h:40
NoiseParams np_mountain
Definition mapgen_v7.h:50
s16 mount_zero_level
Definition mapgen_v7.h:22
s16 floatland_ymax
Definition mapgen_v7.h:24
void readParams(const Settings *settings)
Definition mapgen_v7.cpp:156
float float_taper_exp
Definition mapgen_v7.h:26
float large_cave_flooded
Definition mapgen_v7.h:36
u16 large_cave_num_max
Definition mapgen_v7.h:35
u16 large_cave_num_min
Definition mapgen_v7.h:34
s16 floatland_ywater
Definition mapgen_v7.h:28
s16 dungeon_ymax
Definition mapgen_v7.h:41
NoiseParams np_terrain_base
Definition mapgen_v7.h:43
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