diff options
Diffstat (limited to 'source/Generating/FinishGen.h')
-rw-r--r-- | source/Generating/FinishGen.h | 185 |
1 files changed, 0 insertions, 185 deletions
diff --git a/source/Generating/FinishGen.h b/source/Generating/FinishGen.h deleted file mode 100644 index ed7df5909..000000000 --- a/source/Generating/FinishGen.h +++ /dev/null @@ -1,185 +0,0 @@ - -// FinishGen.h - -/* Interfaces to the various finishing generators: - - cFinishGenSnow - - cFinishGenIce - - cFinishGenSprinkleFoliage - - cFinishGenLilypads - - cFinishGenBottomLava - - cFinishGenPreSimulator - - cFinishGenDeadBushes -*/ - - - - - -#include "ComposableGenerator.h" -#include "../Noise.h" -#include "../ProbabDistrib.h" - - - - - -class cFinishGenSnow : - public cFinishGen -{ -protected: - // cFinishGen override: - virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; - - - - - -class cFinishGenIce : - public cFinishGen -{ -protected: - // cFinishGen override: - virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; - - - - - -class cFinishGenSprinkleFoliage : - public cFinishGen -{ -public: - cFinishGenSprinkleFoliage(int a_Seed) : m_Noise(a_Seed), m_Seed(a_Seed) {} - -protected: - cNoise m_Noise; - int m_Seed; - - /// Tries to place sugarcane at the coords specified, returns true if successful - bool TryAddSugarcane(cChunkDesc & a_ChunkDesc, int a_RelX, int a_RelY, int a_RelZ); - - // cFinishGen override: - virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; - - - - - -/** This class adds a single top block in random positions in the specified biome on top of specified allowed blocks. -Used for: -- Lilypads finisher -- DeadBushes finisher -*/ -class cFinishGenSingleBiomeSingleTopBlock : - public cFinishGen -{ -public: - cFinishGenSingleBiomeSingleTopBlock( - int a_Seed, BLOCKTYPE a_BlockType, EMCSBiome a_Biome, int a_Amount, - BLOCKTYPE a_AllowedBelow1, BLOCKTYPE a_AllowedBelow2 - ) : - m_Noise(a_Seed), - m_BlockType(a_BlockType), - m_Biome(a_Biome), - m_Amount(a_Amount), - m_AllowedBelow1(a_AllowedBelow1), - m_AllowedBelow2(a_AllowedBelow2) - { - } - -protected: - cNoise m_Noise; - BLOCKTYPE m_BlockType; - EMCSBiome m_Biome; - int m_Amount; ///< Relative amount of blocks to try adding. 1 = one block per 256 biome columns. - BLOCKTYPE m_AllowedBelow1; ///< First of the two blocktypes that are allowed below m_BlockType - BLOCKTYPE m_AllowedBelow2; ///< Second of the two blocktypes that are allowed below m_BlockType - - int GetNumToGen(const cChunkDef::BiomeMap & a_BiomeMap); - - // cFinishGen override: - virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; - - - - - -class cFinishGenBottomLava : - public cFinishGen -{ -public: - cFinishGenBottomLava(int a_Level) : - m_Level(a_Level) - { - } - -protected: - int m_Level; - - // cFinishGen override: - virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; - - - - - -class cFinishGenPreSimulator : - public cFinishGen -{ -public: - cFinishGenPreSimulator(void); - -protected: - // Drops hanging sand and gravel down to the ground, recalculates heightmap - void CollapseSandGravel( - cChunkDef::BlockTypes & a_BlockTypes, // Block types to read and change - cChunkDef::HeightMap & a_HeightMap // Height map to update by the current data - ); - - /** For each fluid block: - - if all surroundings are of the same fluid, makes it stationary; otherwise makes it flowing (excl. top) - - all fluid on the chunk's edge is made flowing - */ - void StationarizeFluid( - cChunkDef::BlockTypes & a_BlockTypes, // Block types to read and change - cChunkDef::HeightMap & a_HeightMap, // Height map to read - BLOCKTYPE a_Fluid, - BLOCKTYPE a_StationaryFluid - ); - - // cFinishGen override: - virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; -} ; - - - - - -class cFinishGenFluidSprings : - public cFinishGen -{ -public: - cFinishGenFluidSprings(int a_Seed, BLOCKTYPE a_Fluid, cIniFile & a_IniFile, const cWorld & a_World); - -protected: - - cNoise m_Noise; - cProbabDistrib m_HeightDistribution; - BLOCKTYPE m_Fluid; - int m_Chance; ///< Chance, [0..100], that a spring will be generated in a chunk - - // cFinishGen override: - virtual void GenFinish(cChunkDesc & a_ChunkDesc) override; - - /// Tries to place a spring at the specified coords, checks neighbors. Returns true if successful - bool TryPlaceSpring(cChunkDesc & a_ChunkDesc, int x, int y, int z); -} ; - - - - |