diff options
Diffstat (limited to 'src/Generating/ShapeGen.cpp')
-rw-r--r-- | src/Generating/ShapeGen.cpp | 26 |
1 files changed, 11 insertions, 15 deletions
diff --git a/src/Generating/ShapeGen.cpp b/src/Generating/ShapeGen.cpp index 1efbf1010..f46c0c8e9 100644 --- a/src/Generating/ShapeGen.cpp +++ b/src/Generating/ShapeGen.cpp @@ -23,7 +23,7 @@ class cTerrainHeightToShapeGen: public cTerrainShapeGen { public: - cTerrainHeightToShapeGen(cTerrainHeightGenPtr a_HeightGen): + cTerrainHeightToShapeGen(std::unique_ptr<cTerrainHeightGen> a_HeightGen): m_HeightGen(std::move(a_HeightGen)) { } @@ -63,7 +63,7 @@ public: protected: /** The height generator being converted. */ - cTerrainHeightGenPtr m_HeightGen; + std::unique_ptr<cTerrainHeightGen> m_HeightGen; }; typedef std::shared_ptr<cTerrainHeightToShapeGen> cTerrainHeightToShapeGenPtr; @@ -75,9 +75,9 @@ typedef std::shared_ptr<cTerrainHeightToShapeGen> cTerrainHeightToShapeGenPtr; //////////////////////////////////////////////////////////////////////////////// // cTerrainShapeGen: -cTerrainShapeGenPtr cTerrainShapeGen::CreateShapeGen( +std::unique_ptr<cTerrainShapeGen> cTerrainShapeGen::CreateShapeGen( cIniFile & a_IniFile, - const cBiomeGenPtr & a_BiomeGen, + cBiomeGen & a_BiomeGen, int a_Seed, bool & a_CacheOffByDefault ) @@ -92,10 +92,10 @@ cTerrainShapeGenPtr cTerrainShapeGen::CreateShapeGen( // If the shapegen is HeightMap, redirect to older HeightMap-based generators: if (NoCaseCompare(shapeGenName, "HeightMap") == 0) { - cTerrainHeightGenPtr heightGen = cTerrainHeightGen::CreateHeightGen(a_IniFile, a_BiomeGen, a_Seed, a_CacheOffByDefault); + auto heightGen = cTerrainHeightGen::CreateHeightGen(a_IniFile, a_BiomeGen, a_Seed, a_CacheOffByDefault); if (heightGen != nullptr) { - return std::make_shared<cTerrainHeightToShapeGen>(heightGen); + return std::make_unique<cTerrainHeightToShapeGen>(std::move(heightGen)); } // The height gen was not recognized; several heightgens were promoted to shape gens, so let's try them instead: @@ -110,22 +110,22 @@ cTerrainShapeGenPtr cTerrainShapeGen::CreateShapeGen( // Choose the shape generator based on the name: a_CacheOffByDefault = false; - cTerrainShapeGenPtr res; + std::unique_ptr<cTerrainShapeGen> res; if (NoCaseCompare(shapeGenName, "DistortedHeightmap") == 0) { - res = std::make_shared<cDistortedHeightmap>(a_Seed, a_BiomeGen); + res = std::make_unique<cDistortedHeightmap>(a_Seed, a_BiomeGen); } else if (NoCaseCompare(shapeGenName, "End") == 0) { - res = std::make_shared<cEndGen>(a_Seed); + res = std::make_unique<cEndGen>(a_Seed); } else if (NoCaseCompare(shapeGenName, "BiomalNoise3D") == 0) { - res = std::make_shared<cBiomalNoise3DComposable>(a_Seed, a_BiomeGen); + res = std::make_unique<cBiomalNoise3DComposable>(a_Seed, a_BiomeGen); } else if (NoCaseCompare(shapeGenName, "Noise3D") == 0) { - res = std::make_shared<cNoise3DComposable>(a_Seed); + res = std::make_unique<cNoise3DComposable>(a_Seed); } else if (NoCaseCompare(shapeGenName, "TwoHeights") == 0) { @@ -144,7 +144,3 @@ cTerrainShapeGenPtr cTerrainShapeGen::CreateShapeGen( return res; } - - - - |