1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-07-27 17:28:41 +00:00

Mapgen V7: Huge rewrite, also tweaks to cavegen et al.

This commit is contained in:
kwolekr 2013-07-06 02:21:35 -04:00
parent 3607fae75a
commit 18d7bc7fa1
12 changed files with 452 additions and 196 deletions

View file

@ -24,25 +24,34 @@ with this program; if not, write to the Free Software Foundation, Inc.,
extern NoiseParams nparams_v7_def_terrain_base;
extern NoiseParams nparams_v7_def_terrain_alt;
extern NoiseParams nparams_v7_def_terrain_mod;
extern NoiseParams nparams_v7_def_terrain_persist;
extern NoiseParams nparams_v7_def_height_select;
extern NoiseParams nparams_v7_def_filler_depth;
extern NoiseParams nparams_v7_def_mount_height;
extern NoiseParams nparams_v7_def_ridge_uwater;
extern NoiseParams nparams_v7_def_mountain;
extern NoiseParams nparams_v7_def_ridge;
struct MapgenV7Params : public MapgenParams {
NoiseParams np_terrain_base;
NoiseParams np_terrain_alt;
NoiseParams np_terrain_mod;
NoiseParams np_terrain_persist;
NoiseParams np_height_select;
NoiseParams np_filler_depth;
NoiseParams np_mount_height;
NoiseParams np_ridge_uwater;
NoiseParams np_mountain;
NoiseParams np_ridge;
MapgenV7Params() {
np_terrain_base = nparams_v7_def_terrain_base;
np_terrain_alt = nparams_v7_def_terrain_alt;
np_terrain_mod = nparams_v7_def_terrain_mod;
np_terrain_persist = nparams_v7_def_terrain_persist;
np_height_select = nparams_v7_def_height_select;
np_filler_depth = nparams_v7_def_filler_depth;
np_mount_height = nparams_v7_def_mount_height;
np_ridge_uwater = nparams_v7_def_ridge_uwater;
np_mountain = nparams_v7_def_mountain;
np_ridge = nparams_v7_def_ridge;
}
@ -58,8 +67,8 @@ public:
BiomeDefManager *bmgr;
int ystride;
int zstride;
u32 flags;
bool ridges;
u32 blockseed;
v3s16 node_min;
@ -71,10 +80,12 @@ public:
Noise *noise_terrain_base;
Noise *noise_terrain_alt;
Noise *noise_terrain_mod;
Noise *noise_terrain_persist;
Noise *noise_height_select;
Noise *noise_filler_depth;
Noise *noise_mount_height;
Noise *noise_ridge_uwater;
Noise *noise_mountain;
Noise *noise_ridge;
Noise *noise_heat;
@ -86,6 +97,7 @@ public:
content_t c_sand;
content_t c_water_source;
content_t c_lava_source;
content_t c_ice;
content_t c_gravel;
content_t c_cobble;
content_t c_desert_sand;
@ -100,15 +112,20 @@ public:
float baseTerrainLevelAtPoint(int x, int z);
float baseTerrainLevelFromMap(int index);
bool getMountainTerrainAtPoint(int x, int y, int z);
bool getMountainTerrainFromMap(int idx_xyz, int idx_xz, int y);
void calculateNoise();
int calcHeightMap();
virtual void generateTerrain();
void carveRidges();
//void carveRivers(); //experimental
virtual int generateTerrain();
int generateBaseTerrain();
void generateMountainTerrain();
void generateRidgeTerrain();
void testBiomes();
void addTopNodes();
void generateBiomes();
void dustTopNodes();
//void addTopNodes();
void generateCaves(int max_stone_y);
};