Biome lists can have ":count" in them for adjusting biome occurence rate. Some more error logging.
Idea created at FS #274, http://www.mc-server.org/support/index.php?do=details&task_id=274 git-svn-id: http://mc-server.googlecode.com/svn/trunk@1054 0a769ca7-a7f5-676a-18bf-c427514a06d6master
parent
65bc09f8e8
commit
07097534a3
|
@ -125,10 +125,32 @@ void cBiomeGenList::InitializeBiomes(const AString & a_Biomes)
|
||||||
// Convert each string in the list into biome:
|
// Convert each string in the list into biome:
|
||||||
for (AStringVector::const_iterator itr = Split.begin(); itr != Split.end(); ++itr)
|
for (AStringVector::const_iterator itr = Split.begin(); itr != Split.end(); ++itr)
|
||||||
{
|
{
|
||||||
EMCSBiome Biome = StringToBiome(*itr);
|
AStringVector Split2 = StringSplit(*itr, ":");
|
||||||
|
if (Split2.size() < 1)
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
int Count = 1;
|
||||||
|
if (Split2.size() >= 2)
|
||||||
|
{
|
||||||
|
Count = atol(Split2[1].c_str());
|
||||||
|
if (Count <= 0)
|
||||||
|
{
|
||||||
|
LOGWARNING("Cannot decode biome count: \"%s\"; using 1.", Split2[1].c_str());
|
||||||
|
Count = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
EMCSBiome Biome = StringToBiome(Split2[0]);
|
||||||
if (Biome != -1)
|
if (Biome != -1)
|
||||||
{
|
{
|
||||||
m_Biomes.push_back(Biome);
|
for (int i = 0; i < Count; i++)
|
||||||
|
{
|
||||||
|
m_Biomes.push_back(Biome);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LOGWARNING("Cannot decode biome name: \"%s\"; skipping", Split2[0].c_str());
|
||||||
}
|
}
|
||||||
} // for itr - Split[]
|
} // for itr - Split[]
|
||||||
if (!m_Biomes.empty())
|
if (!m_Biomes.empty())
|
||||||
|
|
|
@ -90,6 +90,7 @@ protected:
|
||||||
EMCSBiomes m_Biomes;
|
EMCSBiomes m_Biomes;
|
||||||
int m_BiomesCount; // Pulled out of m_Biomes for faster access
|
int m_BiomesCount; // Pulled out of m_Biomes for faster access
|
||||||
|
|
||||||
|
/// Parses the INI file setting string into m_Biomes.
|
||||||
void InitializeBiomes(const AString & a_Biomes);
|
void InitializeBiomes(const AString & a_Biomes);
|
||||||
|
|
||||||
} ;
|
} ;
|
||||||
|
|
Loading…
Reference in New Issue