From 165498cecfc11f3471d84855f4d019be9b353621 Mon Sep 17 00:00:00 2001 From: proller Date: Wed, 13 Mar 2013 00:41:14 +0400 Subject: initial mapgen indev version with farscale feature and huge caves --- src/mapgen_v6.h | 21 ++++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) (limited to 'src/mapgen_v6.h') diff --git a/src/mapgen_v6.h b/src/mapgen_v6.h index 89d72300a..34de7c0ed 100644 --- a/src/mapgen_v6.h +++ b/src/mapgen_v6.h @@ -43,6 +43,16 @@ extern NoiseParams nparams_v6_def_humidity; extern NoiseParams nparams_v6_def_trees; extern NoiseParams nparams_v6_def_apple_trees; +struct Cave { + s16 min_tunnel_diameter; + s16 max_tunnel_diameter; + int dswitchint; + u16 tunnel_routepoints; + int part_max_length_rs; + bool large_cave_is_flat; + bool flooded; +}; + struct MapgenV6Params : public MapgenParams { float freq_desert; float freq_beach; @@ -126,9 +136,9 @@ public: float baseTerrainLevel(float terrain_base, float terrain_higher, float steepness, float height_select); - float baseTerrainLevelFromNoise(v2s16 p); - float baseTerrainLevelFromMap(v2s16 p); - float baseTerrainLevelFromMap(int index); + virtual float baseTerrainLevelFromNoise(v2s16 p); + virtual float baseTerrainLevelFromMap(v2s16 p); + virtual float baseTerrainLevelFromMap(int index); s16 find_ground_level(v2s16 p2d); s16 find_stone_level(v2s16 p2d); @@ -139,7 +149,7 @@ public: float getTreeAmount(v2s16 p); bool getHaveAppleTree(v2s16 p); float getMudAmount(v2s16 p); - float getMudAmount(int index); + virtual float getMudAmount(int index); bool getHaveBeach(v2s16 p); bool getHaveBeach(int index); BiomeType getBiome(v2s16 p); @@ -148,13 +158,14 @@ public: u32 get_blockseed(u64 seed, v3s16 p); - void calculateNoise(); + virtual void calculateNoise(); int generateGround(); void addMud(); void flowMud(s16 &mudflow_minpos, s16 &mudflow_maxpos); void addDirtGravelBlobs(); void growGrass(); void placeTrees(); + virtual void defineCave(Cave & cave, PseudoRandom ps, v3s16 node_min, bool large_cave); void generateCaves(int max_stone_y); }; -- cgit v1.2.3