X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Fmapgen_v6.h;h=64aa2d87a58463151c483379a147c35b606af7ed;hb=718bcafd5174690a7731f9b04873e9a09f7a47b7;hp=07d79f6a6b22278f4f5bf31ba7e26f02baead7d4;hpb=5a34f40d80ea1a339b599bc11db549a6bd86912f;p=minetest.git diff --git a/src/mapgen_v6.h b/src/mapgen_v6.h index 07d79f6a6..64aa2d87a 100644 --- a/src/mapgen_v6.h +++ b/src/mapgen_v6.h @@ -21,19 +21,20 @@ with this program; if not, write to the Free Software Foundation, Inc., #define MAPGENV6_HEADER #include "mapgen.h" +#include "noise.h" #define AVERAGE_MUD_AMOUNT 4 /////////////////// Mapgen V6 flags -#define MGV6_JUNGLES 0x01 -#define MGV6_BIOME_BLEND 0x02 -#define MGV6_NOMUDFLOW 0x04 +#define MGV6_JUNGLES 0x01 +#define MGV6_BIOMEBLEND 0x02 +#define MGV6_MUDFLOW 0x04 extern FlagDesc flagdesc_mapgen_v6[]; -enum BiomeType +enum BiomeV6Type { BT_NORMAL, BT_DESERT @@ -54,23 +55,21 @@ struct MapgenV6Params : public MapgenSpecificParams { NoiseParams np_humidity; NoiseParams np_trees; NoiseParams np_apple_trees; - + MapgenV6Params(); ~MapgenV6Params() {} - + void readParams(Settings *settings); void writeParams(Settings *settings); }; class MapgenV6 : public Mapgen { public: - EmergeManager *emerge; + EmergeManager *m_emerge; int ystride; - u32 flags; u32 spflags; - u32 blockseed; v3s16 node_min; v3s16 node_max; v3s16 full_node_min; @@ -110,12 +109,12 @@ class MapgenV6 : public Mapgen { MapgenV6(int mapgenid, MapgenParams *params, EmergeManager *emerge); ~MapgenV6(); - + void makeChunk(BlockMakeData *data); int getGroundLevelAtPoint(v2s16 p); float baseTerrainLevel(float terrain_base, float terrain_higher, - float steepness, float height_select); + float steepness, float height_select); virtual float baseTerrainLevelFromNoise(v2s16 p); virtual float baseTerrainLevelFromMap(v2s16 p); virtual float baseTerrainLevelFromMap(int index); @@ -123,7 +122,7 @@ class MapgenV6 : public Mapgen { s16 find_stone_level(v2s16 p2d); bool block_is_underground(u64 seed, v3s16 blockpos); s16 find_ground_level_from_noise(u64 seed, v2s16 p2d, s16 precision); - + float getHumidity(v2s16 p); float getTreeAmount(v2s16 p); bool getHaveAppleTree(v2s16 p); @@ -131,11 +130,11 @@ class MapgenV6 : public Mapgen { virtual float getMudAmount(int index); bool getHaveBeach(v2s16 p); bool getHaveBeach(int index); - BiomeType getBiome(v2s16 p); - BiomeType getBiome(int index, v2s16 p); - + BiomeV6Type getBiome(v2s16 p); + BiomeV6Type getBiome(int index, v2s16 p); + u32 get_blockseed(u64 seed, v3s16 p); - + virtual void calculateNoise(); int generateGround(); void addMud(); @@ -148,11 +147,13 @@ class MapgenV6 : public Mapgen { }; struct MapgenFactoryV6 : public MapgenFactory { - Mapgen *createMapgen(int mgid, MapgenParams *params, EmergeManager *emerge) { + Mapgen *createMapgen(int mgid, MapgenParams *params, EmergeManager *emerge) + { return new MapgenV6(mgid, params, emerge); }; - - MapgenSpecificParams *createMapgenParams() { + + MapgenSpecificParams *createMapgenParams() + { return new MapgenV6Params(); }; };