Merge pull request #1266 from mc-server/PreSimulatorConfig
PreSimulator: Added configurations.
This commit is contained in:
commit
a899dfc26e
@ -408,7 +408,12 @@ void cComposableGenerator::InitFinishGens(cIniFile & a_IniFile)
|
|||||||
}
|
}
|
||||||
else if (NoCaseCompare(*itr, "PreSimulator") == 0)
|
else if (NoCaseCompare(*itr, "PreSimulator") == 0)
|
||||||
{
|
{
|
||||||
m_FinishGens.push_back(new cFinishGenPreSimulator);
|
// Load the settings
|
||||||
|
bool PreSimulateFallingBlocks = a_IniFile.GetValueSetB("Generator", "PreSimulatorFallingBlocks", true);
|
||||||
|
bool PreSimulateWater = a_IniFile.GetValueSetB("Generator", "PreSimulatorWater", true);
|
||||||
|
bool PreSimulateLava = a_IniFile.GetValueSetB("Generator", "PreSimulatorLava", true);
|
||||||
|
|
||||||
|
m_FinishGens.push_back(new cFinishGenPreSimulator(PreSimulateFallingBlocks, PreSimulateWater, PreSimulateLava));
|
||||||
}
|
}
|
||||||
else if (NoCaseCompare(*itr, "RainbowRoads") == 0)
|
else if (NoCaseCompare(*itr, "RainbowRoads") == 0)
|
||||||
{
|
{
|
||||||
|
@ -555,7 +555,10 @@ void cFinishGenBottomLava::GenFinish(cChunkDesc & a_ChunkDesc)
|
|||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
// cFinishGenPreSimulator:
|
// cFinishGenPreSimulator:
|
||||||
|
|
||||||
cFinishGenPreSimulator::cFinishGenPreSimulator(void)
|
cFinishGenPreSimulator::cFinishGenPreSimulator(bool a_PreSimulateFallingBlocks, bool a_PreSimulateWater, bool a_PreSimulateLava) :
|
||||||
|
m_PreSimulateFallingBlocks(a_PreSimulateFallingBlocks),
|
||||||
|
m_PreSimulateWater(a_PreSimulateWater),
|
||||||
|
m_PreSimulateLava(a_PreSimulateLava)
|
||||||
{
|
{
|
||||||
// Nothing needed yet
|
// Nothing needed yet
|
||||||
}
|
}
|
||||||
@ -566,9 +569,20 @@ cFinishGenPreSimulator::cFinishGenPreSimulator(void)
|
|||||||
|
|
||||||
void cFinishGenPreSimulator::GenFinish(cChunkDesc & a_ChunkDesc)
|
void cFinishGenPreSimulator::GenFinish(cChunkDesc & a_ChunkDesc)
|
||||||
{
|
{
|
||||||
CollapseSandGravel(a_ChunkDesc.GetBlockTypes(), a_ChunkDesc.GetHeightMap());
|
if (m_PreSimulateFallingBlocks)
|
||||||
StationarizeFluid(a_ChunkDesc.GetBlockTypes(), a_ChunkDesc.GetHeightMap(), E_BLOCK_WATER, E_BLOCK_STATIONARY_WATER);
|
{
|
||||||
StationarizeFluid(a_ChunkDesc.GetBlockTypes(), a_ChunkDesc.GetHeightMap(), E_BLOCK_LAVA, E_BLOCK_STATIONARY_LAVA);
|
CollapseSandGravel(a_ChunkDesc.GetBlockTypes(), a_ChunkDesc.GetHeightMap());
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_PreSimulateWater)
|
||||||
|
{
|
||||||
|
StationarizeFluid(a_ChunkDesc.GetBlockTypes(), a_ChunkDesc.GetHeightMap(), E_BLOCK_WATER, E_BLOCK_STATIONARY_WATER);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_PreSimulateLava)
|
||||||
|
{
|
||||||
|
StationarizeFluid(a_ChunkDesc.GetBlockTypes(), a_ChunkDesc.GetHeightMap(), E_BLOCK_LAVA, E_BLOCK_STATIONARY_LAVA);
|
||||||
|
}
|
||||||
// TODO: other operations
|
// TODO: other operations
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -240,9 +240,14 @@ class cFinishGenPreSimulator :
|
|||||||
public cFinishGen
|
public cFinishGen
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
cFinishGenPreSimulator(void);
|
cFinishGenPreSimulator(bool a_PreSimulateFallingBlocks, bool a_PreSimulateWater, bool a_PreSimulateLava);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
|
bool m_PreSimulateFallingBlocks;
|
||||||
|
bool m_PreSimulateWater;
|
||||||
|
bool m_PreSimulateLava;
|
||||||
|
|
||||||
// Drops hanging sand and gravel down to the ground, recalculates heightmap
|
// Drops hanging sand and gravel down to the ground, recalculates heightmap
|
||||||
void CollapseSandGravel(
|
void CollapseSandGravel(
|
||||||
cChunkDef::BlockTypes & a_BlockTypes, // Block types to read and change
|
cChunkDef::BlockTypes & a_BlockTypes, // Block types to read and change
|
||||||
|
Loading…
Reference in New Issue
Block a user