From de68b810081f962dfe8fdb166f353cb87e6fcabf Mon Sep 17 00:00:00 2001 From: kbinani Date: Tue, 5 May 2020 18:32:35 +0900 Subject: [PATCH] feat: Enable largeBiomes configuration --- generator.c | 12 ++++++++++-- generator.h | 6 +++++- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/generator.c b/generator.c index 35a7a88..b45fe11 100644 --- a/generator.c +++ b/generator.c @@ -28,7 +28,7 @@ void setupMultiLayer(int scale, Layer *l, Layer *p1, Layer *p2, int s, void (*ge -LayerStack setupGenerator(const int mcversion) +LayerStack setupGenerator(const int mcversion, const int large_biome) { if (biomes[plains].id == 0) { @@ -90,7 +90,15 @@ LayerStack setupGenerator(const int mcversion) setupLayer(16, &l[L_SHORE_16], &l[L_ZOOM_16], 1000, mapShore); setupLayer(8, &l[L_ZOOM_8], &l[L_SHORE_16], 1002, mapZoom); setupLayer(4, &l[L_ZOOM_4], &l[L_ZOOM_8], 1003, mapZoom); - setupLayer(4, &l[L_SMOOTH_4], &l[L_ZOOM_4], 1000, mapSmooth); + + if (large_biome != 0) { + //TODO: scale? + setupLayer(4, &l[L_ZOOM_LARGE_BIOME_A], &l[L_ZOOM_4], 1004, mapZoom); + setupLayer(4, &l[L_ZOOM_LARGE_BIOME_B], &l[L_ZOOM_LARGE_BIOME_A], 1005, mapZoom); + setupLayer(4, &l[L_SMOOTH_4], &l[L_ZOOM_LARGE_BIOME_B], 1000, mapSmooth); + } else { + setupLayer(4, &l[L_SMOOTH_4], &l[L_ZOOM_4], 1000, mapSmooth); + } // river layer chain setupLayer(128, &l[L_ZOOM_128_RIVER], &l[L_RIVER_INIT_256], 1000, mapZoom); diff --git a/generator.h b/generator.h index 63ce85b..c37466d 100644 --- a/generator.h +++ b/generator.h @@ -72,6 +72,10 @@ enum // 1.14 layers L14_BAMBOO_256, + // largeBiomes layers + L_ZOOM_LARGE_BIOME_A, + L_ZOOM_LARGE_BIOME_B, + L_NUM }; @@ -195,7 +199,7 @@ extern "C" #endif /* Initialise an instance of a generator. */ -LayerStack setupGenerator(const int mcversion); +LayerStack setupGenerator(const int mcversion, const int largeBiomes); /* Cleans up and frees the generator layers */ void freeGenerator(LayerStack g);