diff options
author | LogicParrot <LogicParrot@users.noreply.github.com> | 2016-02-05 22:45:45 +0100 |
---|---|---|
committer | LogicParrot <LogicParrot@users.noreply.github.com> | 2016-02-05 22:50:18 +0100 |
commit | ca6ef58b1ee8521e4b940ee4883dee714960e413 (patch) | |
tree | 8532add455224b07c07a759e3d906f50c0695888 /src/Generating/CompoGenBiomal.cpp | |
parent | Merge pull request #2972 from marvinkopf/PlayerAutoComplete (diff) | |
download | cuberite-ca6ef58b1ee8521e4b940ee4883dee714960e413.tar cuberite-ca6ef58b1ee8521e4b940ee4883dee714960e413.tar.gz cuberite-ca6ef58b1ee8521e4b940ee4883dee714960e413.tar.bz2 cuberite-ca6ef58b1ee8521e4b940ee4883dee714960e413.tar.lz cuberite-ca6ef58b1ee8521e4b940ee4883dee714960e413.tar.xz cuberite-ca6ef58b1ee8521e4b940ee4883dee714960e413.tar.zst cuberite-ca6ef58b1ee8521e4b940ee4883dee714960e413.zip |
Diffstat (limited to 'src/Generating/CompoGenBiomal.cpp')
-rw-r--r-- | src/Generating/CompoGenBiomal.cpp | 36 |
1 files changed, 18 insertions, 18 deletions
diff --git a/src/Generating/CompoGenBiomal.cpp b/src/Generating/CompoGenBiomal.cpp index 43e98387f..0606477a1 100644 --- a/src/Generating/CompoGenBiomal.cpp +++ b/src/Generating/CompoGenBiomal.cpp @@ -39,7 +39,7 @@ public: { m_Pattern[i] = a_TopBlocks[i]; } - + // Fill the rest with stone: static BlockInfo Stone = {E_BLOCK_STONE, 0}; for (int i = static_cast<int>(a_Count); i < cChunkDef::Height; i++) @@ -47,9 +47,9 @@ public: m_Pattern[i] = Stone; } } - + const BlockInfo * Get(void) const { return m_Pattern; } - + protected: BlockInfo m_Pattern[cChunkDef::Height]; } ; @@ -192,14 +192,14 @@ public: { initMesaPattern(a_Seed); } - + protected: /** The block height at which water is generated instead of air. */ HEIGHTTYPE m_SeaLevel; /** The pattern used for mesa biomes. Initialized by seed on generator creation. */ cPattern::BlockInfo m_MesaPattern[2 * cChunkDef::Height]; - + /** Noise used for selecting between dirt and sand on the ocean floor. */ cNoise m_OceanFloorSelect; @@ -226,7 +226,7 @@ protected: { m_SeaLevel = static_cast<HEIGHTTYPE>(a_IniFile.GetValueSetI("Generator", "SeaLevel", m_SeaLevel)); } - + /** Initializes the m_MesaPattern with a pattern based on the generator's seed. */ @@ -309,7 +309,7 @@ protected: // Frequencies for the podzol floor selecting noise: const NOISE_DATATYPE FrequencyX = 8; const NOISE_DATATYPE FrequencyZ = 8; - + EMCSBiome Biome = a_ChunkDesc.GetBiome(a_RelX, a_RelZ); switch (Biome) { @@ -381,7 +381,7 @@ protected: FillColumnPattern(a_ChunkDesc, a_RelX, a_RelZ, patSand.Get(), a_ShapeColumn); return; } - + case biMushroomIsland: case biMushroomShore: { @@ -426,7 +426,7 @@ protected: } } // switch (Biome) } - + /** Fills the specified column with the specified pattern; restarts the pattern when air is reached, @@ -445,23 +445,23 @@ protected: PatternIdx++; continue; } - + // "air" or "water" part: // Reset the pattern index to zero, so that the pattern is repeated from the top again: PatternIdx = 0; - + if (y >= m_SeaLevel) { // "air" part, do nothing continue; } - + a_ChunkDesc.SetBlockType(a_RelX, y, a_RelZ, E_BLOCK_STATIONARY_WATER); if (HasHadWater) { continue; } - + // Select the ocean-floor pattern to use: if (a_ChunkDesc.GetBiome(a_RelX, a_RelZ) == biDeepOcean) { @@ -500,7 +500,7 @@ protected: { ClayFloor = Top - 1; } - + if (Top - m_SeaLevel < 5) { // Simple case: top is red sand, then hardened clay down to ClayFloor, then stone: @@ -516,7 +516,7 @@ protected: a_ChunkDesc.SetBlockType(a_RelX, 0, a_RelZ, E_BLOCK_BEDROCK); return; } - + // Difficult case: use the mesa pattern and watch for overhangs: int PatternIdx = cChunkDef::Height - (Top - ClayFloor); // We want the block at index ClayFloor to be pattern's 256th block (first stone) const cPattern::BlockInfo * Pattern = m_MesaPattern; @@ -536,7 +536,7 @@ protected: // "air" part, do nothing continue; } - + // "water" part, fill with water and choose new pattern for ocean floor, if not chosen already: PatternIdx = 0; a_ChunkDesc.SetBlockType(a_RelX, y, a_RelZ, E_BLOCK_STATIONARY_WATER); @@ -544,7 +544,7 @@ protected: { continue; } - + // Select the ocean-floor pattern to use: Pattern = ChooseOceanFloorPattern(a_ChunkDesc.GetChunkX(), a_ChunkDesc.GetChunkZ(), a_RelX, a_RelZ); HasHadWater = true; @@ -567,7 +567,7 @@ protected: } - + /** Returns the pattern to use for an ocean floor in the specified column. The returned pattern is guaranteed to be 256 blocks long. */ const cPattern::BlockInfo * ChooseOceanFloorPattern(int a_ChunkX, int a_ChunkZ, int a_RelX, int a_RelZ) |