From 7e1d603080146047bade80ee70982dbe569cdf30 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sun, 26 Oct 2014 19:58:16 +0100 Subject: Added new biomegen: Grown --- src/Generating/BioGen.cpp | 93 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index 203faff56..c9405040f 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -5,6 +5,7 @@ #include "Globals.h" #include "BioGen.h" +#include "IntGen.h" #include "../IniFile.h" #include "../LinearUpscale.h" @@ -916,6 +917,94 @@ void cBioGenTwoLevel::InitializeBiomeGen(cIniFile & a_IniFile) +//////////////////////////////////////////////////////////////////////////////// +// cBioGenGrown: + +class cBioGenGrown: + public cBiomeGen +{ +public: + cBioGenGrown(int a_Seed) + { + auto FinalRivers = + std::make_shared> (a_Seed + 1, + std::make_shared> (a_Seed + 2, + std::make_shared> (a_Seed + 3, + std::make_shared> (a_Seed + 4, + std::make_shared> (a_Seed + 5, + std::make_shared> (a_Seed + 6, + std::make_shared> (a_Seed + 7, + std::make_shared> (a_Seed + 8, + std::make_shared> (a_Seed + 9, + std::make_shared> (a_Seed + 10, + std::make_shared> (a_Seed + 11, + std::make_shared>(a_Seed + 12 + )))))))))))); + + auto FinalBiomes = + std::make_shared> (a_Seed + 1008, + std::make_shared>(a_Seed + 15, + std::make_shared> (a_Seed + 1000, + std::make_shared> (a_Seed + 16, + std::make_shared> (a_Seed + 1001, + std::make_shared> (a_Seed, + std::make_shared> (a_Seed + 1002, + std::make_shared> (a_Seed + 1, + std::make_shared> ( + std::make_shared> (a_Seed + 1002, + std::make_shared>(a_Seed + 2, + std::make_shared> (a_Seed + 3, + std::make_shared> (a_Seed + 2004, 10, + std::make_shared> (a_Seed + 4, + std::make_shared> (a_Seed + 9, 50, biMushroomIsland, + std::make_shared> (a_Seed + 8, + std::make_shared> (a_Seed + 10, 500, biDeepOcean, + std::make_shared> (a_Seed + 3000, + std::make_shared> (a_Seed + 5, + std::make_shared> ( + std::make_shared> (a_Seed + 1003, + std::make_shared> (a_Seed + 7, + std::make_shared> (bgJungle, bgTemperate, 50, a_Seed + 100, + std::make_shared> (bgIce, bgTemperate, 50, a_Seed + 101, + std::make_shared> (a_Seed + 2000, 70, + std::make_shared> (a_Seed + 1004, + std::make_shared> (a_Seed + 10, + std::make_shared> (a_Seed + 2003, 50, + std::make_shared> (a_Seed + 11, + std::make_shared> (a_Seed + 100, 65 + )))))))))))))))))))))))))))))); + + m_Gen = + std::make_shared>(a_Seed, + std::make_shared>(a_Seed, + std::make_shared>(a_Seed, + std::make_shared>(a_Seed, + std::make_shared> ( + FinalBiomes, FinalRivers + ))))); + } + + virtual void GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_Biomes) override + { + cIntGen<16, 16>::Values vals; + m_Gen->GetInts(a_ChunkX * cChunkDef::Width, a_ChunkZ * cChunkDef::Width, 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: + cIntGenPtr<16, 16> m_Gen; +}; + + + + + //////////////////////////////////////////////////////////////////////////////// // cBiomeGen: @@ -952,6 +1041,10 @@ cBiomeGenPtr cBiomeGen::CreateBiomeGen(cIniFile & a_IniFile, int a_Seed, bool & { res = new cBioGenTwoLevel(a_Seed); } + else if (NoCaseCompare(BiomeGenName, "grown") == 0) + { + res = new cBioGenGrown(a_Seed); + } else { if (NoCaseCompare(BiomeGenName, "multistepmap") != 0) -- cgit v1.2.3 From 74df4618de1c52c22f892e0bf82ec612521a10c0 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sun, 26 Oct 2014 22:56:02 +0100 Subject: BioGenGrown: Smaller biomes, add land to map center. --- src/Generating/BioGen.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index c9405040f..fcb4d74ed 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -969,10 +969,8 @@ public: std::make_shared> (a_Seed + 2000, 70, std::make_shared> (a_Seed + 1004, std::make_shared> (a_Seed + 10, - std::make_shared> (a_Seed + 2003, 50, - std::make_shared> (a_Seed + 11, - std::make_shared> (a_Seed + 100, 65 - )))))))))))))))))))))))))))))); + std::make_shared> (a_Seed + 100, 65 + )))))))))))))))))))))))))))); m_Gen = std::make_shared>(a_Seed, -- cgit v1.2.3 From 7d08d34693706ef70cff6cfc796d4f7cbd396bc5 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Mon, 27 Oct 2014 09:35:21 +0100 Subject: Removed too advanced C++11 features. We need to keep gcc 4.6 compatibility; these features were not implemented in that version yet. --- src/Generating/BioGen.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index fcb4d74ed..96c181915 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -996,7 +996,7 @@ public: } protected: - cIntGenPtr<16, 16> m_Gen; + std::shared_ptr> m_Gen; }; -- cgit v1.2.3 From f34b1291beb81b4fcf82e155e66f4a43d7caf915 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Wed, 29 Oct 2014 15:28:27 +0100 Subject: Grown biomes: made biomes smaller, made beaches smaller. --- src/Generating/BioGen.cpp | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index 96c181915..6fab1b9d9 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -946,18 +946,15 @@ public: std::make_shared>(a_Seed + 15, std::make_shared> (a_Seed + 1000, std::make_shared> (a_Seed + 16, - std::make_shared> (a_Seed + 1001, - std::make_shared> (a_Seed, - std::make_shared> (a_Seed + 1002, - std::make_shared> (a_Seed + 1, std::make_shared> ( std::make_shared> (a_Seed + 1002, - std::make_shared>(a_Seed + 2, - std::make_shared> (a_Seed + 3, - std::make_shared> (a_Seed + 2004, 10, - std::make_shared> (a_Seed + 4, - std::make_shared> (a_Seed + 9, 50, biMushroomIsland, - std::make_shared> (a_Seed + 8, + std::make_shared>(a_Seed + 1, + std::make_shared> (a_Seed + 1002, + std::make_shared> (a_Seed + 2, + std::make_shared> (a_Seed + 2004, 10, + std::make_shared> (a_Seed + 4, + std::make_shared> (a_Seed + 9, 50, biMushroomIsland, + std::make_shared> (a_Seed + 8, std::make_shared> (a_Seed + 10, 500, biDeepOcean, std::make_shared> (a_Seed + 3000, std::make_shared> (a_Seed + 5, @@ -970,7 +967,7 @@ public: std::make_shared> (a_Seed + 1004, std::make_shared> (a_Seed + 10, std::make_shared> (a_Seed + 100, 65 - )))))))))))))))))))))))))))); + ))))))))))))))))))))))))); m_Gen = std::make_shared>(a_Seed, -- cgit v1.2.3 From 8c04abf9aa749af3b15bc92f517b636c9593109e Mon Sep 17 00:00:00 2001 From: Mattes D Date: Thu, 30 Oct 2014 16:24:35 +0100 Subject: 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. --- src/Generating/BioGen.cpp | 124 +++++++++++++++++++++++++++++++++++++++++----- 1 file changed, 111 insertions(+), 13 deletions(-) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index 6fab1b9d9..f9a0a571b 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -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> (a_Seed + 1, - std::make_shared> (a_Seed + 2, - std::make_shared> (a_Seed + 3, + std::make_shared> (a_Seed + 1, + std::make_shared> (a_Seed + 3, + std::make_shared> (a_Seed + 2, std::make_shared> (a_Seed + 4, std::make_shared> (a_Seed + 5, std::make_shared> (a_Seed + 6, @@ -942,10 +943,10 @@ public: )))))))))))); auto FinalBiomes = - std::make_shared> (a_Seed + 1008, - std::make_shared>(a_Seed + 15, - std::make_shared> (a_Seed + 1000, - std::make_shared> (a_Seed + 16, + std::make_shared> (a_Seed + 1008, + std::make_shared>(a_Seed + 15, + std::make_shared> (a_Seed + 1000, + std::make_shared> (a_Seed + 16, std::make_shared> ( std::make_shared> (a_Seed + 1002, std::make_shared>(a_Seed + 1, @@ -953,7 +954,8 @@ public: std::make_shared> (a_Seed + 2, std::make_shared> (a_Seed + 2004, 10, std::make_shared> (a_Seed + 4, - std::make_shared> (a_Seed + 9, 50, biMushroomIsland, + std::make_shared> (a_Seed + 9, 10, biMushroomIsland, + std::make_shared> (biIcePlains, biIcePlainsSpikes, 5, a_Seed + 99, std::make_shared> (a_Seed + 8, std::make_shared> (a_Seed + 10, 500, biDeepOcean, std::make_shared> (a_Seed + 3000, @@ -961,22 +963,26 @@ public: std::make_shared> ( std::make_shared> (a_Seed + 1003, std::make_shared> (a_Seed + 7, + std::make_shared> (a_Seed + 8, 50, bgOcean, std::make_shared> (bgJungle, bgTemperate, 50, a_Seed + 100, std::make_shared> (bgIce, bgTemperate, 50, a_Seed + 101, + std::make_shared> (bgDesert, bgMesa, 30, a_Seed + 102, std::make_shared> (a_Seed + 2000, 70, + std::make_shared> (a_Seed + 9, 50, bgOcean, std::make_shared> (a_Seed + 1004, std::make_shared> (a_Seed + 10, std::make_shared> (a_Seed + 100, 65 - ))))))))))))))))))))))))); + ))))))))))))))))))))))))))))); m_Gen = std::make_shared>(a_Seed, std::make_shared>(a_Seed, - std::make_shared>(a_Seed, - std::make_shared>(a_Seed, - std::make_shared> ( + std::make_shared>(a_Seed, + std::make_shared>(a_Seed, + std::make_shared>(a_Seed, + std::make_shared> ( 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(a_Seed + 1, + std::make_shared(a_Seed + 3, + std::make_shared(a_Seed + 2, + std::make_shared(a_Seed + 4, + std::make_shared(a_Seed + 5, + std::make_shared(a_Seed + 6, + std::make_shared(a_Seed + 7, + std::make_shared(a_Seed + 8, + std::make_shared(a_Seed + 9, + std::make_shared(a_Seed + 10, + std::make_shared(a_Seed + 11, + std::make_shared(a_Seed + 12, 2 + )))))))))))); + + auto FinalBiomes = + std::make_shared(a_Seed + 1008, + std::make_shared(a_Seed + 15, + std::make_shared(a_Seed + 1000, + std::make_shared(a_Seed + 16, + std::make_shared( + std::make_shared(a_Seed + 1002, + std::make_shared(a_Seed + 1, + std::make_shared(a_Seed + 1002, + std::make_shared(a_Seed + 2, + std::make_shared(a_Seed + 2004, 10, + std::make_shared(a_Seed + 4, + std::make_shared(a_Seed + 9, 10, biMushroomIsland, + std::make_shared(biIcePlains, biIcePlainsSpikes, 5, a_Seed + 99, + std::make_shared(a_Seed + 8, + std::make_shared(a_Seed + 10, 500, biDeepOcean, + std::make_shared(a_Seed + 3000, + std::make_shared(a_Seed + 5, + std::make_shared( + std::make_shared(a_Seed + 1003, + std::make_shared(a_Seed + 7, + std::make_shared(a_Seed + 8, 50, bgOcean, + std::make_shared(bgJungle, bgTemperate, 50, a_Seed + 100, + std::make_shared(bgIce, bgTemperate, 50, a_Seed + 101, + std::make_shared(bgDesert, bgMesa, 30, a_Seed + 102, + std::make_shared(a_Seed + 2000, 70, + std::make_shared(a_Seed + 9, 50, bgOcean, + std::make_shared(a_Seed + 1004, + std::make_shared(a_Seed + 10, + std::make_shared(a_Seed + 100, 65 + ))))))))))))))))))))))))))))); + + m_Gen = + std::make_shared(a_Seed, + std::make_shared(a_Seed, + std::make_shared(a_Seed, + std::make_shared(a_Seed, + std::make_shared(a_Seed, + std::make_shared( + 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 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) -- cgit v1.2.3 From 13f0e93d690ef5ca96689190356b5c6c9cceb434 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Fri, 31 Oct 2014 12:52:07 +0100 Subject: GrownProt biomes: added alterations. --- src/Generating/BioGen.cpp | 56 +++++++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 26 deletions(-) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index f9a0a571b..b3701a32a 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -964,15 +964,13 @@ public: std::make_shared> (a_Seed + 1003, std::make_shared> (a_Seed + 7, std::make_shared> (a_Seed + 8, 50, bgOcean, - std::make_shared> (bgJungle, bgTemperate, 50, a_Seed + 100, std::make_shared> (bgIce, bgTemperate, 50, a_Seed + 101, - std::make_shared> (bgDesert, bgMesa, 30, a_Seed + 102, std::make_shared> (a_Seed + 2000, 70, std::make_shared> (a_Seed + 9, 50, bgOcean, std::make_shared> (a_Seed + 1004, std::make_shared> (a_Seed + 10, std::make_shared> (a_Seed + 100, 65 - ))))))))))))))))))))))))))))); + ))))))))))))))))))))))))))); m_Gen = std::make_shared>(a_Seed, @@ -1017,60 +1015,66 @@ public: { auto FinalRivers = std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 3, - std::make_shared(a_Seed + 2, - std::make_shared(a_Seed + 4, - std::make_shared(a_Seed + 5, - std::make_shared(a_Seed + 6, - std::make_shared(a_Seed + 7, + std::make_shared(a_Seed + 2, + std::make_shared(a_Seed + 3, + std::make_shared(a_Seed + 4, + std::make_shared(a_Seed + 5, std::make_shared(a_Seed + 8, + std::make_shared(a_Seed + 5, std::make_shared(a_Seed + 9, + std::make_shared(a_Seed + 5, std::make_shared(a_Seed + 10, + std::make_shared(a_Seed + 5, + std::make_shared(a_Seed + 5, std::make_shared(a_Seed + 11, std::make_shared(a_Seed + 12, 2 - )))))))))))); + )))))))))))))); + + auto alteration = + std::make_shared(a_Seed, + std::make_shared(a_Seed, 20 + )); auto FinalBiomes = - std::make_shared(a_Seed + 1008, + std::make_shared(a_Seed + 1, std::make_shared(a_Seed + 15, - std::make_shared(a_Seed + 1000, + std::make_shared(a_Seed + 1, std::make_shared(a_Seed + 16, std::make_shared( - std::make_shared(a_Seed + 1002, std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 1002, std::make_shared(a_Seed + 2, std::make_shared(a_Seed + 2004, 10, + std::make_shared(a_Seed + 10, 500, biDeepOcean, + std::make_shared(a_Seed + 1, biPlains, biSunflowerPlains, 20, + std::make_shared(a_Seed + 1, alteration, std::make_shared(a_Seed + 4, - std::make_shared(a_Seed + 9, 10, biMushroomIsland, - std::make_shared(biIcePlains, biIcePlainsSpikes, 5, a_Seed + 99, + std::make_shared(a_Seed + 99, biIcePlains, biIcePlainsSpikes, 50, std::make_shared(a_Seed + 8, - std::make_shared(a_Seed + 10, 500, biDeepOcean, + std::make_shared(a_Seed + 10, 300, biDeepOcean, + std::make_shared(a_Seed + 9, 8, biMushroomIsland, std::make_shared(a_Seed + 3000, + std::make_shared(a_Seed + 2000, 200, std::make_shared(a_Seed + 5, + std::make_shared(a_Seed + 5, 50, std::make_shared( - std::make_shared(a_Seed + 1003, + std::make_shared(a_Seed + 2000, 200, std::make_shared(a_Seed + 7, std::make_shared(a_Seed + 8, 50, bgOcean, - std::make_shared(bgJungle, bgTemperate, 50, a_Seed + 100, - std::make_shared(bgIce, bgTemperate, 50, a_Seed + 101, - std::make_shared(bgDesert, bgMesa, 30, a_Seed + 102, - std::make_shared(a_Seed + 2000, 70, + std::make_shared(a_Seed + 101, bgIce, bgTemperate, 150, + std::make_shared(a_Seed + 2000, 200, std::make_shared(a_Seed + 9, 50, bgOcean, - std::make_shared(a_Seed + 1004, std::make_shared(a_Seed + 10, - std::make_shared(a_Seed + 100, 65 + std::make_shared(a_Seed + 100, 30 ))))))))))))))))))))))))))))); m_Gen = std::make_shared(a_Seed, std::make_shared(a_Seed, - std::make_shared(a_Seed, std::make_shared(a_Seed, std::make_shared(a_Seed, std::make_shared( FinalBiomes, FinalRivers - )))))); + ))))); } virtual void GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_Biomes) override -- cgit v1.2.3 From 4873890cfbb0c1a2ede464c44ffb58bfe4a1c1cd Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sat, 1 Nov 2014 16:37:56 +0100 Subject: GrownProt biome gen: Added biome edges. --- src/Generating/BioGen.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index b3701a32a..e4a3a3629 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -1042,11 +1042,12 @@ public: std::make_shared(a_Seed + 16, std::make_shared( std::make_shared(a_Seed + 1, - std::make_shared(a_Seed + 2, std::make_shared(a_Seed + 2004, 10, std::make_shared(a_Seed + 10, 500, biDeepOcean, std::make_shared(a_Seed + 1, biPlains, biSunflowerPlains, 20, std::make_shared(a_Seed + 1, alteration, + std::make_shared(a_Seed + 3, + std::make_shared(a_Seed + 2, std::make_shared(a_Seed + 4, std::make_shared(a_Seed + 99, biIcePlains, biIcePlainsSpikes, 50, std::make_shared(a_Seed + 8, @@ -1065,7 +1066,7 @@ public: std::make_shared(a_Seed + 9, 50, bgOcean, std::make_shared(a_Seed + 10, std::make_shared(a_Seed + 100, 30 - ))))))))))))))))))))))))))))); + )))))))))))))))))))))))))))))); m_Gen = std::make_shared(a_Seed, -- cgit v1.2.3 From d868346491cf35ea9d52d60786904b0552d9d67c Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sat, 1 Nov 2014 21:01:33 +0100 Subject: GrownProt: Added the rest of rare and M biomes. --- src/Generating/BioGen.cpp | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index e4a3a3629..dc5f715ca 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -1035,6 +1035,14 @@ public: std::make_shared(a_Seed, 20 )); + auto alteration2 = + std::make_shared(a_Seed + 1, + std::make_shared(a_Seed + 2, + std::make_shared(a_Seed + 1, + std::make_shared(a_Seed + 2, + std::make_shared(a_Seed + 1, 10 + ))))); + auto FinalBiomes = std::make_shared(a_Seed + 1, std::make_shared(a_Seed + 15, @@ -1045,6 +1053,7 @@ public: std::make_shared(a_Seed + 2004, 10, std::make_shared(a_Seed + 10, 500, biDeepOcean, std::make_shared(a_Seed + 1, biPlains, biSunflowerPlains, 20, + std::make_shared(a_Seed + 5, alteration2, std::make_shared(a_Seed + 1, alteration, std::make_shared(a_Seed + 3, std::make_shared(a_Seed + 2, @@ -1066,7 +1075,7 @@ public: std::make_shared(a_Seed + 9, 50, bgOcean, std::make_shared(a_Seed + 10, std::make_shared(a_Seed + 100, 30 - )))))))))))))))))))))))))))))); + ))))))))))))))))))))))))))))))); m_Gen = std::make_shared(a_Seed, -- cgit v1.2.3 From d5b6353493868ac14b277155f398bd87f08c484c Mon Sep 17 00:00:00 2001 From: Mattes D Date: Sun, 2 Nov 2014 16:36:59 +0100 Subject: Grown biomes: Unified with GrownProt biomes. Also fixed a Zoom filter randomness. --- src/Generating/BioGen.cpp | 104 +++++++++++++++++++++++++++------------------- 1 file changed, 61 insertions(+), 43 deletions(-) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index dc5f715ca..0f2b0a73d 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -928,59 +928,77 @@ public: cBioGenGrown(int a_Seed) { auto FinalRivers = - std::make_shared> (a_Seed + 1, - std::make_shared> (a_Seed + 3, - std::make_shared> (a_Seed + 2, - std::make_shared> (a_Seed + 4, - std::make_shared> (a_Seed + 5, - std::make_shared> (a_Seed + 6, - std::make_shared> (a_Seed + 7, - std::make_shared> (a_Seed + 8, - std::make_shared> (a_Seed + 9, - std::make_shared> (a_Seed + 10, - std::make_shared> (a_Seed + 11, - std::make_shared>(a_Seed + 12 - )))))))))))); + std::make_shared> (a_Seed + 1, + std::make_shared> (a_Seed + 2, + std::make_shared> (a_Seed + 3, + std::make_shared> (a_Seed + 4, + std::make_shared> (a_Seed + 5, + std::make_shared> (a_Seed + 8, + std::make_shared> (a_Seed + 5, + std::make_shared> (a_Seed + 9, + std::make_shared> (a_Seed + 5, + std::make_shared> (a_Seed + 10, + std::make_shared> (a_Seed + 5, + std::make_shared> (a_Seed + 6, + std::make_shared> (a_Seed + 11, + std::make_shared>(a_Seed + 12 + )))))))))))))); + + auto alteration = + std::make_shared>(a_Seed, + std::make_shared>(a_Seed, 20 + )); + + auto alteration2 = + std::make_shared>(a_Seed + 1, + std::make_shared>(a_Seed + 2, + std::make_shared>(a_Seed + 1, + std::make_shared>(a_Seed + 2, + std::make_shared>(a_Seed + 1, 10 + ))))); auto FinalBiomes = - std::make_shared> (a_Seed + 1008, - std::make_shared>(a_Seed + 15, - std::make_shared> (a_Seed + 1000, - std::make_shared> (a_Seed + 16, + std::make_shared> (a_Seed + 1, + std::make_shared>(a_Seed + 15, + std::make_shared> (a_Seed + 1, + std::make_shared> (a_Seed + 16, std::make_shared> ( - std::make_shared> (a_Seed + 1002, - std::make_shared>(a_Seed + 1, - std::make_shared> (a_Seed + 1002, - std::make_shared> (a_Seed + 2, + std::make_shared> (a_Seed + 1, std::make_shared> (a_Seed + 2004, 10, - std::make_shared> (a_Seed + 4, - std::make_shared> (a_Seed + 9, 10, biMushroomIsland, - std::make_shared> (biIcePlains, biIcePlainsSpikes, 5, a_Seed + 99, - std::make_shared> (a_Seed + 8, - std::make_shared> (a_Seed + 10, 500, biDeepOcean, - std::make_shared> (a_Seed + 3000, - std::make_shared> (a_Seed + 5, - std::make_shared> ( - std::make_shared> (a_Seed + 1003, - std::make_shared> (a_Seed + 7, + std::make_shared> (a_Seed + 10, 500, biDeepOcean, + std::make_shared> (a_Seed + 1, biPlains, biSunflowerPlains, 20, + std::make_shared> (a_Seed + 5, alteration2, + std::make_shared> (a_Seed + 1, alteration, + std::make_shared> (a_Seed + 3, + std::make_shared>(a_Seed + 2, + std::make_shared> (a_Seed + 4, + std::make_shared> (a_Seed + 99, biIcePlains, biIcePlainsSpikes, 50, + std::make_shared> (a_Seed + 8, + std::make_shared> (a_Seed + 10, 300, biDeepOcean, + std::make_shared> (a_Seed + 9, 8, biMushroomIsland, + std::make_shared> (a_Seed + 3000, + std::make_shared> (a_Seed + 2000, 200, + std::make_shared> (a_Seed + 5, + std::make_shared> (a_Seed + 5, 50, + std::make_shared> ( + std::make_shared> (a_Seed + 2000, 200, + std::make_shared> (a_Seed + 7, std::make_shared> (a_Seed + 8, 50, bgOcean, - std::make_shared> (bgIce, bgTemperate, 50, a_Seed + 101, - std::make_shared> (a_Seed + 2000, 70, + std::make_shared> (a_Seed + 101, bgIce, bgTemperate, 150, + std::make_shared> (a_Seed + 2000, 200, std::make_shared> (a_Seed + 9, 50, bgOcean, - std::make_shared> (a_Seed + 1004, - std::make_shared> (a_Seed + 10, - std::make_shared> (a_Seed + 100, 65 - ))))))))))))))))))))))))))); + std::make_shared> (a_Seed + 10, + std::make_shared> (a_Seed + 100, 30 + ))))))))))))))))))))))))))))))); m_Gen = std::make_shared>(a_Seed, std::make_shared>(a_Seed, - std::make_shared>(a_Seed, - std::make_shared>(a_Seed, - std::make_shared>(a_Seed, - std::make_shared> ( + std::make_shared>(a_Seed, + std::make_shared>(a_Seed, + std::make_shared> ( FinalBiomes, FinalRivers - )))))); + ))))); } virtual void GenBiomes(int a_ChunkX, int a_ChunkZ, cChunkDef::BiomeMap & a_Biomes) override @@ -1025,7 +1043,7 @@ public: std::make_shared(a_Seed + 5, std::make_shared(a_Seed + 10, std::make_shared(a_Seed + 5, - std::make_shared(a_Seed + 5, + std::make_shared(a_Seed + 6, std::make_shared(a_Seed + 11, std::make_shared(a_Seed + 12, 2 )))))))))))))); -- cgit v1.2.3 From f5c4a6a27d7c35afbbb57e0798d1473e2795ca22 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Mon, 3 Nov 2014 10:36:12 +0100 Subject: Added a (disabled) perf test for biome generators. --- src/Generating/BioGen.cpp | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index 0f2b0a73d..5480d8d4c 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -5,6 +5,8 @@ #include "Globals.h" #include "BioGen.h" +#include +#include #include "IntGen.h" #include "ProtIntGen.h" #include "../IniFile.h" @@ -1199,3 +1201,47 @@ cBiomeGenPtr cBiomeGen::CreateBiomeGen(cIniFile & a_IniFile, int a_Seed, bool & + +//////////////////////////////////////////////////////////////////////////////// +// Performance tests: + +// Change to 1 to enable the perf test: +#if 0 + +class cBioGenPerfTest +{ +public: + cBioGenPerfTest() + { + std::cout << "BioGen performance tests commencing, please wait..." << std::endl; + TestGen("MultiStepMap", std::make_unique(1).get()); + TestGen("Grown", std::make_unique(1).get()); + TestGen("GrownProt", std::make_unique(1).get()); + std::cout << "BioGen performance tests complete." << std::endl; + } + +protected: + void TestGen(const AString && a_GenName, cBiomeGen * a_BioGen) + { + // Initialize the default settings for the generator: + cIniFile iniFile; + a_BioGen->InitializeBiomeGen(iniFile); + + // Generate the biomes: + auto start = std::chrono::system_clock::now(); + for (int z = 0; z < 100; z++) + { + for (int x = 0; x < 100; x++) + { + cChunkDef::BiomeMap biomes; + a_BioGen->GenBiomes(x, z, biomes); + } // for x + } // for z + auto dur = std::chrono::system_clock::now() - start; + double milliseconds = static_cast((std::chrono::duration_cast(dur)).count()); + + std::cout << a_GenName << ": " << 1000.0 * 100.0 * 100.0 / milliseconds << " chunks per second" << std::endl; + } +} g_BioGenPerfTest; + +#endif \ No newline at end of file -- cgit v1.2.3 From c5f3663bea6e24226217fe91402704a04f118831 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Mon, 3 Nov 2014 11:48:03 +0100 Subject: Fixed a missing endline. --- src/Generating/BioGen.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src/Generating/BioGen.cpp') diff --git a/src/Generating/BioGen.cpp b/src/Generating/BioGen.cpp index 5480d8d4c..2a4dbe794 100644 --- a/src/Generating/BioGen.cpp +++ b/src/Generating/BioGen.cpp @@ -1244,4 +1244,8 @@ protected: } } g_BioGenPerfTest; -#endif \ No newline at end of file +#endif + + + + -- cgit v1.2.3