QtBiomeVisualiser: Added a prototyping int generator flavor.
This generator is easier to manipulate, since it doesn't require rewriting the sizes in the template parameters. On the other hand, it doesn't optimize so well, so it's a bit slower.
This commit is contained in:
@@ -6,6 +6,7 @@
|
||||
#include "Globals.h"
|
||||
#include "BioGen.h"
|
||||
#include "IntGen.h"
|
||||
#include "ProtIntGen.h"
|
||||
#include "../IniFile.h"
|
||||
#include "../LinearUpscale.h"
|
||||
|
||||
@@ -927,9 +928,9 @@ public:
|
||||
cBioGenGrown(int a_Seed)
|
||||
{
|
||||
auto FinalRivers =
|
||||
std::make_shared<cIntGenSmooth<8>> (a_Seed + 1,
|
||||
std::make_shared<cIntGenRiver <10>> (a_Seed + 2,
|
||||
std::make_shared<cIntGenZoom <12>> (a_Seed + 3,
|
||||
std::make_shared<cIntGenSmooth<6>> (a_Seed + 1,
|
||||
std::make_shared<cIntGenZoom <8>> (a_Seed + 3,
|
||||
std::make_shared<cIntGenRiver <6>> (a_Seed + 2,
|
||||
std::make_shared<cIntGenSmooth<8>> (a_Seed + 4,
|
||||
std::make_shared<cIntGenZoom <10>> (a_Seed + 5,
|
||||
std::make_shared<cIntGenZoom <7>> (a_Seed + 6,
|
||||
@@ -942,10 +943,10 @@ public:
|
||||
))))))))))));
|
||||
|
||||
auto FinalBiomes =
|
||||
std::make_shared<cIntGenSmooth <8>> (a_Seed + 1008,
|
||||
std::make_shared<cIntGenZoom <10>>(a_Seed + 15,
|
||||
std::make_shared<cIntGenSmooth <7>> (a_Seed + 1000,
|
||||
std::make_shared<cIntGenZoom <9>> (a_Seed + 16,
|
||||
std::make_shared<cIntGenSmooth <6>> (a_Seed + 1008,
|
||||
std::make_shared<cIntGenZoom <8>>(a_Seed + 15,
|
||||
std::make_shared<cIntGenSmooth <6>> (a_Seed + 1000,
|
||||
std::make_shared<cIntGenZoom <8>> (a_Seed + 16,
|
||||
std::make_shared<cIntGenBeaches <6>> (
|
||||
std::make_shared<cIntGenSmooth <8>> (a_Seed + 1002,
|
||||
std::make_shared<cIntGenZoom <10>>(a_Seed + 1,
|
||||
@@ -953,7 +954,8 @@ public:
|
||||
std::make_shared<cIntGenZoom <9>> (a_Seed + 2,
|
||||
std::make_shared<cIntGenAddIslands <6>> (a_Seed + 2004, 10,
|
||||
std::make_shared<cIntGenZoom <6>> (a_Seed + 4,
|
||||
std::make_shared<cIntGenAddToOcean <5>> (a_Seed + 9, 50, biMushroomIsland,
|
||||
std::make_shared<cIntGenAddToOcean <5>> (a_Seed + 9, 10, biMushroomIsland,
|
||||
std::make_shared<cIntGenReplaceRandomly<7>> (biIcePlains, biIcePlainsSpikes, 5, a_Seed + 99,
|
||||
std::make_shared<cIntGenZoom <7>> (a_Seed + 8,
|
||||
std::make_shared<cIntGenAddToOcean <5>> (a_Seed + 10, 500, biDeepOcean,
|
||||
std::make_shared<cIntGenBiomes <7>> (a_Seed + 3000,
|
||||
@@ -961,22 +963,26 @@ public:
|
||||
std::make_shared<cIntGenBiomeGroupEdges<5>> (
|
||||
std::make_shared<cIntGenSmooth <7>> (a_Seed + 1003,
|
||||
std::make_shared<cIntGenZoom <9>> (a_Seed + 7,
|
||||
std::make_shared<cIntGenSetRandomly <6>> (a_Seed + 8, 50, bgOcean,
|
||||
std::make_shared<cIntGenReplaceRandomly<6>> (bgJungle, bgTemperate, 50, a_Seed + 100,
|
||||
std::make_shared<cIntGenReplaceRandomly<6>> (bgIce, bgTemperate, 50, a_Seed + 101,
|
||||
std::make_shared<cIntGenReplaceRandomly<6>> (bgDesert, bgMesa, 30, a_Seed + 102,
|
||||
std::make_shared<cIntGenAddIslands <6>> (a_Seed + 2000, 70,
|
||||
std::make_shared<cIntGenSetRandomly <6>> (a_Seed + 9, 50, bgOcean,
|
||||
std::make_shared<cIntGenSmooth <6>> (a_Seed + 1004,
|
||||
std::make_shared<cIntGenZoom <8>> (a_Seed + 10,
|
||||
std::make_shared<cIntGenLandOcean <6>> (a_Seed + 100, 65
|
||||
)))))))))))))))))))))))));
|
||||
)))))))))))))))))))))))))))));
|
||||
|
||||
m_Gen =
|
||||
std::make_shared<cIntGenSmooth <16>>(a_Seed,
|
||||
std::make_shared<cIntGenZoom <18>>(a_Seed,
|
||||
std::make_shared<cIntGenSmooth <11>>(a_Seed,
|
||||
std::make_shared<cIntGenZoom <13>>(a_Seed,
|
||||
std::make_shared<cIntGenMixRivers<8>> (
|
||||
std::make_shared<cIntGenZoom <11>>(a_Seed,
|
||||
std::make_shared<cIntGenSmooth <7>>(a_Seed,
|
||||
std::make_shared<cIntGenZoom <9>>(a_Seed,
|
||||
std::make_shared<cIntGenMixRivers<6>> (
|
||||
FinalBiomes, FinalRivers
|
||||
)))));
|
||||
))))));
|
||||
}
|
||||
|
||||
virtual void GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_Biomes) override
|
||||
@@ -1000,6 +1006,94 @@ protected:
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// cBioGenGrown:
|
||||
|
||||
class cBioGenProtGrown:
|
||||
public cBiomeGen
|
||||
{
|
||||
public:
|
||||
cBioGenProtGrown(int a_Seed)
|
||||
{
|
||||
auto FinalRivers =
|
||||
std::make_shared<cProtIntGenSmooth>(a_Seed + 1,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 3,
|
||||
std::make_shared<cProtIntGenRiver >(a_Seed + 2,
|
||||
std::make_shared<cProtIntGenSmooth>(a_Seed + 4,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 5,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 6,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 7,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 8,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 9,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 10,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 11,
|
||||
std::make_shared<cProtIntGenChoice>(a_Seed + 12, 2
|
||||
))))))))))));
|
||||
|
||||
auto FinalBiomes =
|
||||
std::make_shared<cProtIntGenSmooth >(a_Seed + 1008,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 15,
|
||||
std::make_shared<cProtIntGenSmooth >(a_Seed + 1000,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 16,
|
||||
std::make_shared<cProtIntGenBeaches >(
|
||||
std::make_shared<cProtIntGenSmooth >(a_Seed + 1002,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 1,
|
||||
std::make_shared<cProtIntGenSmooth >(a_Seed + 1002,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 2,
|
||||
std::make_shared<cProtIntGenAddIslands >(a_Seed + 2004, 10,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 4,
|
||||
std::make_shared<cProtIntGenAddToOcean >(a_Seed + 9, 10, biMushroomIsland,
|
||||
std::make_shared<cProtIntGenReplaceRandomly>(biIcePlains, biIcePlainsSpikes, 5, a_Seed + 99,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 8,
|
||||
std::make_shared<cProtIntGenAddToOcean >(a_Seed + 10, 500, biDeepOcean,
|
||||
std::make_shared<cProtIntGenBiomes >(a_Seed + 3000,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 5,
|
||||
std::make_shared<cProtIntGenBiomeGroupEdges>(
|
||||
std::make_shared<cProtIntGenSmooth >(a_Seed + 1003,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 7,
|
||||
std::make_shared<cProtIntGenSetRandomly >(a_Seed + 8, 50, bgOcean,
|
||||
std::make_shared<cProtIntGenReplaceRandomly>(bgJungle, bgTemperate, 50, a_Seed + 100,
|
||||
std::make_shared<cProtIntGenReplaceRandomly>(bgIce, bgTemperate, 50, a_Seed + 101,
|
||||
std::make_shared<cProtIntGenReplaceRandomly>(bgDesert, bgMesa, 30, a_Seed + 102,
|
||||
std::make_shared<cProtIntGenAddIslands >(a_Seed + 2000, 70,
|
||||
std::make_shared<cProtIntGenSetRandomly >(a_Seed + 9, 50, bgOcean,
|
||||
std::make_shared<cProtIntGenSmooth >(a_Seed + 1004,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed + 10,
|
||||
std::make_shared<cProtIntGenLandOcean >(a_Seed + 100, 65
|
||||
)))))))))))))))))))))))))))));
|
||||
|
||||
m_Gen =
|
||||
std::make_shared<cProtIntGenSmooth >(a_Seed,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed,
|
||||
std::make_shared<cProtIntGenSmooth >(a_Seed,
|
||||
std::make_shared<cProtIntGenZoom >(a_Seed,
|
||||
std::make_shared<cProtIntGenMixRivers>(
|
||||
FinalBiomes, FinalRivers
|
||||
))))));
|
||||
}
|
||||
|
||||
virtual void GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_Biomes) override
|
||||
{
|
||||
int vals[16 * 16];
|
||||
m_Gen->GetInts(a_ChunkX * cChunkDef::Width, a_ChunkZ * cChunkDef::Width, 16, 16, vals);
|
||||
for (int z = 0; z < cChunkDef::Width; z++)
|
||||
{
|
||||
for (int x = 0; x < cChunkDef::Width; x++)
|
||||
{
|
||||
cChunkDef::SetBiome(a_Biomes, x, z, (EMCSBiome)vals[x + cChunkDef::Width * z]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected:
|
||||
std::shared_ptr<cProtIntGen> m_Gen;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
// cBiomeGen:
|
||||
|
||||
@@ -1040,6 +1134,10 @@ cBiomeGenPtr cBiomeGen::CreateBiomeGen(cIniFile & a_IniFile, int a_Seed, bool &
|
||||
{
|
||||
res = new cBioGenGrown(a_Seed);
|
||||
}
|
||||
else if (NoCaseCompare(BiomeGenName, "grownprot") == 0)
|
||||
{
|
||||
res = new cBioGenProtGrown(a_Seed);
|
||||
}
|
||||
else
|
||||
{
|
||||
if (NoCaseCompare(BiomeGenName, "multistepmap") != 0)
|
||||
|
||||
Reference in New Issue
Block a user