aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.World/Layer.cpp
diff options
context:
space:
mode:
authorqwasdrizzel <145519042+qwasdrizzel@users.noreply.github.com>2026-03-16 21:44:26 -0500
committerGitHub <noreply@github.com>2026-03-16 21:44:26 -0500
commitce739f6045ec72127491286ea3f3f21e537c1b55 (patch)
treef33bd42a47c1b4a7b2153a7fb77127ee3b407db9 /Minecraft.World/Layer.cpp
parent255a18fe8e9b57377975f82e2b227afe2a12eda0 (diff)
parent5a59f5d146b43811dde6a5a0245ee9875d7b5cd1 (diff)
Merge branch 'smartcmd:main' into main
Diffstat (limited to 'Minecraft.World/Layer.cpp')
-rw-r--r--Minecraft.World/Layer.cpp66
1 files changed, 33 insertions, 33 deletions
diff --git a/Minecraft.World/Layer.cpp b/Minecraft.World/Layer.cpp
index 956a8917..a0eda52f 100644
--- a/Minecraft.World/Layer.cpp
+++ b/Minecraft.World/Layer.cpp
@@ -16,21 +16,21 @@ libdivide::divider<long long> fast_d7(7);
libdivide::divider<long long> fast_d10(10);
#endif
-LayerArray Layer::getDefaultLayers(__int64 seed, LevelType *levelType)
+LayerArray Layer::getDefaultLayers(int64_t seed, LevelType *levelType)
{
// 4J - Some changes moved here from 1.2.3. Temperature & downfall layers are no longer created & returned, and a debug layer is isn't.
// For reference with regard to future merging, things NOT brought forward from the 1.2.3 version are new layer types that we
// don't have yet (shores, swamprivers, region hills etc.)
- shared_ptr<Layer>islandLayer = shared_ptr<Layer>(new IslandLayer(1));
- islandLayer = shared_ptr<Layer>(new FuzzyZoomLayer(2000, islandLayer));
- islandLayer = shared_ptr<Layer>(new AddIslandLayer(1, islandLayer));
- islandLayer = shared_ptr<Layer>(new ZoomLayer(2001, islandLayer));
- islandLayer = shared_ptr<Layer>(new AddIslandLayer(2, islandLayer));
- islandLayer = shared_ptr<Layer>(new AddSnowLayer(2, islandLayer));
- islandLayer = shared_ptr<Layer>(new ZoomLayer(2002, islandLayer));
- islandLayer = shared_ptr<Layer>(new AddIslandLayer(3, islandLayer));
- islandLayer = shared_ptr<Layer>(new ZoomLayer(2003, islandLayer));
- islandLayer = shared_ptr<Layer>(new AddIslandLayer(4, islandLayer));
+ shared_ptr<Layer>islandLayer = std::make_shared<IslandLayer>(1);
+ islandLayer = std::make_shared<FuzzyZoomLayer>(2000, islandLayer);
+ islandLayer = std::make_shared<AddIslandLayer>(1, islandLayer);
+ islandLayer = std::make_shared<ZoomLayer>(2001, islandLayer);
+ islandLayer = std::make_shared<AddIslandLayer>(2, islandLayer);
+ islandLayer = std::make_shared<AddSnowLayer>(2, islandLayer);
+ islandLayer = std::make_shared<ZoomLayer>(2002, islandLayer);
+ islandLayer = std::make_shared<AddIslandLayer>(3, islandLayer);
+ islandLayer = std::make_shared<ZoomLayer>(2003, islandLayer);
+ islandLayer = std::make_shared<AddIslandLayer>(4, islandLayer);
// islandLayer = shared_ptr<Layer>(new AddMushroomIslandLayer(5, islandLayer)); // 4J - old position of mushroom island layer
int zoomLevel = 4;
@@ -41,61 +41,61 @@ LayerArray Layer::getDefaultLayers(__int64 seed, LevelType *levelType)
shared_ptr<Layer> riverLayer = islandLayer;
riverLayer = ZoomLayer::zoom(1000, riverLayer, 0);
- riverLayer = shared_ptr<Layer>(new RiverInitLayer(100, riverLayer));
+ riverLayer = std::make_shared<RiverInitLayer>(100, riverLayer);
riverLayer = ZoomLayer::zoom(1000, riverLayer, zoomLevel + 2);
- riverLayer = shared_ptr<Layer>(new RiverLayer(1, riverLayer));
- riverLayer = shared_ptr<Layer>(new SmoothLayer(1000, riverLayer));
+ riverLayer = std::make_shared<RiverLayer>(1, riverLayer);
+ riverLayer = std::make_shared<SmoothLayer>(1000, riverLayer);
shared_ptr<Layer> biomeLayer = islandLayer;
biomeLayer = ZoomLayer::zoom(1000, biomeLayer, 0);
- biomeLayer = shared_ptr<Layer>(new BiomeInitLayer(200, biomeLayer, levelType));
+ biomeLayer = std::make_shared<BiomeInitLayer>(200, biomeLayer, levelType);
biomeLayer = ZoomLayer::zoom(1000, biomeLayer, 2);
- biomeLayer = shared_ptr<Layer>(new RegionHillsLayer(1000, biomeLayer));
+ biomeLayer = std::make_shared<RegionHillsLayer>(1000, biomeLayer);
for (int i = 0; i < zoomLevel; i++)
{
- biomeLayer = shared_ptr<Layer>(new ZoomLayer(1000 + i, biomeLayer));
+ biomeLayer = std::make_shared<ZoomLayer>(1000 + i, biomeLayer);
+
+ if (i == 0) biomeLayer = std::make_shared<AddIslandLayer>(3, biomeLayer);
- if (i == 0) biomeLayer = shared_ptr<Layer>(new AddIslandLayer(3, biomeLayer));
-
if (i == 0)
{
// 4J - moved mushroom islands to here. This skips 3 zooms that the old location of the add was, making them about 1/8 of the original size. Adding
// them at this scale actually lets us place them near enough other land, if we add them at the same scale as java then they have to be too far out to see for
// the scale of our maps
- biomeLayer = shared_ptr<Layer>(new AddMushroomIslandLayer(5, biomeLayer));
+ biomeLayer = std::make_shared<AddMushroomIslandLayer>(5, biomeLayer);
}
if (i == 1 )
- {
+ {
// 4J - now expand mushroom islands up again. This does a simple region grow to add a new mushroom island element when any of the neighbours are also mushroom islands.
// This helps make the islands into nice compact shapes of the type that are actually likely to be able to make an island out of the sea in a small space. Also
// helps the shore layer from doing too much damage in shrinking the islands we are making
- biomeLayer = shared_ptr<Layer>(new GrowMushroomIslandLayer(5, biomeLayer));
+ biomeLayer = std::make_shared<GrowMushroomIslandLayer>(5, biomeLayer);
// Note - this reduces the size of mushroom islands by turning their edges into shores. We are doing this at i == 1 rather than i == 0 as the original does
- biomeLayer = shared_ptr<Layer>(new ShoreLayer(1000, biomeLayer));
+ biomeLayer = std::make_shared<ShoreLayer>(1000, biomeLayer);
- biomeLayer = shared_ptr<Layer>(new SwampRiversLayer(1000, biomeLayer));
+ biomeLayer = std::make_shared<SwampRiversLayer>(1000, biomeLayer);
}
}
- biomeLayer = shared_ptr<Layer>(new SmoothLayer(1000, biomeLayer));
+ biomeLayer = std::make_shared<SmoothLayer>(1000, biomeLayer);
- biomeLayer = shared_ptr<Layer>(new RiverMixerLayer(100, biomeLayer, riverLayer));
+ biomeLayer = std::make_shared<RiverMixerLayer>(100, biomeLayer, riverLayer);
#ifndef _CONTENT_PACKAGE
#ifdef _BIOME_OVERRIDE
if(app.DebugSettingsOn() && app.GetGameSettingsDebugMask(ProfileManager.GetPrimaryPad())&(1L<<eDebugSetting_EnableBiomeOverride))
{
- biomeLayer = shared_ptr<BiomeOverrideLayer>(new BiomeOverrideLayer(1));
+ biomeLayer = std::make_shared<BiomeOverrideLayer>(1);
}
#endif
#endif
shared_ptr<Layer> debugLayer = biomeLayer;
- shared_ptr<Layer>zoomedLayer = shared_ptr<Layer>(new VoronoiZoom(10, biomeLayer));
+ shared_ptr<Layer>zoomedLayer = std::make_shared<VoronoiZoom>(10, biomeLayer);
biomeLayer->init(seed);
zoomedLayer->init(seed);
@@ -107,7 +107,7 @@ LayerArray Layer::getDefaultLayers(__int64 seed, LevelType *levelType)
return result;
}
-Layer::Layer(__int64 seedMixup)
+Layer::Layer(int64_t seedMixup)
{
parent = nullptr;
@@ -120,10 +120,10 @@ Layer::Layer(__int64 seedMixup)
this->seedMixup += seedMixup;
}
-void Layer::init(__int64 seed)
+void Layer::init(int64_t seed)
{
this->seed = seed;
- if (parent != NULL) parent->init(seed);
+ if (parent != nullptr) parent->init(seed);
this->seed *= this->seed * 6364136223846793005l + 1442695040888963407l;
this->seed += seedMixup;
this->seed *= this->seed * 6364136223846793005l + 1442695040888963407l;
@@ -132,7 +132,7 @@ void Layer::init(__int64 seed)
this->seed += seedMixup;
}
-void Layer::initRandom(__int64 x, __int64 y)
+void Layer::initRandom(int64_t x, int64_t y)
{
rval = seed;
rval *= rval * 6364136223846793005l + 1442695040888963407l;
@@ -189,7 +189,7 @@ int Layer::nextRandom(int max)
}
#else
- int result = (int) ((rval >> 24) % max);
+ int result = static_cast<int>((rval >> 24) % max);
#endif
if (result < 0) result += max;