Restructured biome generators with a list of available biomes to use a common ancestor (preparation for Voronoi and DistortedVoronoi)
git-svn-id: http://mc-server.googlecode.com/svn/trunk@508 0a769ca7-a7f5-676a-18bf-c427514a06d6
This commit is contained in:
parent
925f45a4fa
commit
d02df740ef
@ -43,9 +43,9 @@ void cBioGenDistortedVoronoi::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::B
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// cBioGenCheckerboard:
|
||||
// cBiomeGenList:
|
||||
|
||||
void cBioGenCheckerboard::InitializeBiomes(const AString & a_Biomes)
|
||||
void cBiomeGenList::InitializeBiomes(const AString & a_Biomes)
|
||||
{
|
||||
AStringVector Split = StringSplit(a_Biomes, ",");
|
||||
|
||||
@ -101,6 +101,9 @@ void cBioGenCheckerboard::InitializeBiomes(const AString & a_Biomes)
|
||||
|
||||
|
||||
|
||||
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||
// cBioGenCheckerboard:
|
||||
|
||||
void cBioGenCheckerboard::GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap)
|
||||
{
|
||||
for (int z = 0; z < cChunkDef::Width; z++)
|
||||
|
@ -56,27 +56,43 @@ protected:
|
||||
|
||||
|
||||
|
||||
class cBioGenCheckerboard :
|
||||
/// Base class for generators that use a list of available biomes. This class takes care of the list.
|
||||
class cBiomeGenList :
|
||||
public cBiomeGen
|
||||
{
|
||||
protected:
|
||||
cBiomeGenList(const AString & a_Biomes)
|
||||
{
|
||||
InitializeBiomes(a_Biomes);
|
||||
}
|
||||
|
||||
// List of biomes that the generator is allowed to generate:
|
||||
typedef std::vector<EMCSBiome> EMCSBiomes;
|
||||
EMCSBiomes m_Biomes;
|
||||
int m_BiomesCount; // Pulled out of m_Biomes for faster access
|
||||
|
||||
void InitializeBiomes(const AString & a_Biomes);
|
||||
|
||||
} ;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
class cBioGenCheckerboard :
|
||||
public cBiomeGenList
|
||||
{
|
||||
public:
|
||||
cBioGenCheckerboard(int a_BiomeSize, const AString & a_Biomes) :
|
||||
cBiomeGenList(a_Biomes),
|
||||
m_BiomeSize((a_BiomeSize < 8) ? 8 : a_BiomeSize)
|
||||
{
|
||||
InitializeBiomes(a_Biomes);
|
||||
}
|
||||
|
||||
protected:
|
||||
|
||||
int m_BiomeSize;
|
||||
|
||||
// List of biomes that the generator is allowed to generate:
|
||||
typedef std::vector<EMCSBiome> EMCSBiomes;
|
||||
EMCSBiomes m_Biomes;
|
||||
int m_BiomesCount;
|
||||
|
||||
void InitializeBiomes(const AString & a_Biomes);
|
||||
|
||||
// cBiomeGen override:
|
||||
virtual void GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_BiomeMap) override;
|
||||
} ;
|
||||
|
Loading…
Reference in New Issue
Block a user