summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSTRWarrior <niels.breuker@hotmail.nl>2015-04-20 18:03:25 +0200
committerSTRWarrior <niels.breuker@hotmail.nl>2015-04-20 18:03:25 +0200
commit3b74107bf3c6d224bb79c4a0595a0ad16193cc77 (patch)
tree67660c301fd1d692da7f0537456c2a5a3985acf4
parentGlowStone: Changed order of initialization of member variables (diff)
downloadcuberite-3b74107bf3c6d224bb79c4a0595a0ad16193cc77.tar
cuberite-3b74107bf3c6d224bb79c4a0595a0ad16193cc77.tar.gz
cuberite-3b74107bf3c6d224bb79c4a0595a0ad16193cc77.tar.bz2
cuberite-3b74107bf3c6d224bb79c4a0595a0ad16193cc77.tar.lz
cuberite-3b74107bf3c6d224bb79c4a0595a0ad16193cc77.tar.xz
cuberite-3b74107bf3c6d224bb79c4a0595a0ad16193cc77.tar.zst
cuberite-3b74107bf3c6d224bb79c4a0595a0ad16193cc77.zip
-rw-r--r--src/Generating/CompoGen.cpp12
-rw-r--r--src/Generating/CompoGen.h2
2 files changed, 7 insertions, 7 deletions
diff --git a/src/Generating/CompoGen.cpp b/src/Generating/CompoGen.cpp
index cb9c04fd7..744979cc1 100644
--- a/src/Generating/CompoGen.cpp
+++ b/src/Generating/CompoGen.cpp
@@ -218,7 +218,7 @@ void cCompoGenClassic::InitializeCompoGen(cIniFile & a_IniFile)
cCompoGenNether::cCompoGenNether(int a_Seed) :
m_Noise1(a_Seed + 10),
m_Noise2(a_Seed * a_Seed * 10 + a_Seed * 1000 + 6000),
- m_Threshold(0)
+ m_MaxThreshold(10000)
{
}
@@ -229,6 +229,8 @@ cCompoGenNether::cCompoGenNether(int a_Seed) :
void cCompoGenNether::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape)
{
HEIGHTTYPE MaxHeight = a_ChunkDesc.GetMaxHeight();
+
+ int Threshold = static_cast<int>(m_Noise1.CubicNoise2D(static_cast<float>(a_ChunkDesc.GetChunkX()) / 50, static_cast<float>(a_ChunkDesc.GetChunkZ()) / 50) * m_MaxThreshold);
const int SEGMENT_HEIGHT = 8;
const int INTERPOL_X = 16; // Must be a divisor of 16
@@ -287,12 +289,10 @@ void cCompoGenNether::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc:
for (int y = 0; y < SEGMENT_HEIGHT; y++)
{
int Val = Lo + (Hi - Lo) * y / SEGMENT_HEIGHT;
- BLOCKTYPE Block = E_BLOCK_AIR;
- if (Val < m_Threshold) // Don't calculate if the block should be Netherrack or Soulsand when it's already decided that it's air.
+ if (Val < Threshold) // Don't calculate if the block should be Netherrack when it's already decided that it's air.
{
- Block = E_BLOCK_NETHERRACK;
+ a_ChunkDesc.SetBlockType(x, y + Segment, z, E_BLOCK_NETHERRACK);
}
- a_ChunkDesc.SetBlockType(x, y + Segment, z, Block);
}
}
@@ -329,7 +329,7 @@ void cCompoGenNether::ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc:
void cCompoGenNether::InitializeCompoGen(cIniFile & a_IniFile)
{
- m_Threshold = a_IniFile.GetValueSetI("Generator", "NetherThreshold", m_Threshold);
+ m_MaxThreshold = a_IniFile.GetValueSetF("Generator", "NetherMaxThreshold", m_MaxThreshold);
}
diff --git a/src/Generating/CompoGen.h b/src/Generating/CompoGen.h
index 3847688cd..d4d38bfdd 100644
--- a/src/Generating/CompoGen.h
+++ b/src/Generating/CompoGen.h
@@ -99,7 +99,7 @@ protected:
cNoise m_Noise1;
cNoise m_Noise2;
- int m_Threshold;
+ double m_MaxThreshold;
// cTerrainCompositionGen overrides:
virtual void ComposeTerrain(cChunkDesc & a_ChunkDesc, const cChunkDesc::Shape & a_Shape) override;