Biome API: Enable biome generation to lower world limit
authorparamat <mat.gregory@virginmedia.com>
Sat, 13 Jun 2015 00:26:56 +0000 (01:26 +0100)
committerparamat <mat.gregory@virginmedia.com>
Mon, 15 Jun 2015 01:07:38 +0000 (02:07 +0100)
Decorations: Remove lower limit of water level for placement

src/mapgen_v5.cpp
src/mapgen_v5.h
src/mapgen_v7.cpp
src/mapgen_v7.h
src/mg_decoration.cpp

index 7c2a149fbc076583b6436e7b91d446b469bf43d8..92febf43b2f4e2ff8c24278a8e1bdcb5e4d9fd5e 100644 (file)
@@ -327,11 +327,9 @@ void MapgenV5::calculateNoise()
                noise_cave2->perlinMap3D(x, y, z);
        }
 
-       if (node_max.Y >= BIOMEGEN_BASE_V5) {
-               noise_filler_depth->perlinMap2D(x, z);
-               noise_heat->perlinMap2D(x, z);
-               noise_humidity->perlinMap2D(x, z);
-       }
+       noise_filler_depth->perlinMap2D(x, z);
+       noise_heat->perlinMap2D(x, z);
+       noise_humidity->perlinMap2D(x, z);
 
        //printf("calculateNoise: %dus\n", t.stop());
 }
@@ -396,9 +394,6 @@ int MapgenV5::generateBaseTerrain()
 
 MgStoneType MapgenV5::generateBiomes(float *heat_map, float *humidity_map)
 {
-       if (node_max.Y < BIOMEGEN_BASE_V5)
-               return STONE;
-
        v3s16 em = vm->m_area.getExtent();
        u32 index = 0;
        MgStoneType stone_type = STONE;
index e8455a46f6fcb1d64b3d162d25ce2edfd6954083..5575dfe61a45f484ed0ff6ac9858acab53eef476 100644 (file)
@@ -23,7 +23,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "mapgen.h"
 
 #define LARGE_CAVE_DEPTH -256
-#define BIOMEGEN_BASE_V5 -192
 
 /////////////////// Mapgen V5 flags
 //#define MGV5_   0x01
index be7212e0e0d40c21ebf5fc28be6a24057e87a521..247d9debc6d0995473ee3ef7222dade729a12097 100644 (file)
@@ -362,11 +362,9 @@ void MapgenV7::calculateNoise()
                noise_mount_height->perlinMap2D(x, z);
        }
 
-       if (node_max.Y >= BIOMEGEN_BASE_V7) {
-               noise_filler_depth->perlinMap2D(x, z);
-               noise_heat->perlinMap2D(x, z);
-               noise_humidity->perlinMap2D(x, z);
-       }
+       noise_filler_depth->perlinMap2D(x, z);
+       noise_heat->perlinMap2D(x, z);
+       noise_humidity->perlinMap2D(x, z);
        //printf("calculateNoise: %dus\n", t.stop());
 }
 
@@ -591,9 +589,6 @@ void MapgenV7::generateRidgeTerrain()
 
 MgStoneType MapgenV7::generateBiomes(float *heat_map, float *humidity_map)
 {
-       if (node_max.Y < BIOMEGEN_BASE_V7)
-               return STONE;
-
        v3s16 em = vm->m_area.getExtent();
        u32 index = 0;
        MgStoneType stone_type = STONE;
index 84f0c9efad05dff2e03520f94984ab24a137e3ff..eb46c371b2683d6cf0cc9284681612f8b2430ead 100644 (file)
@@ -22,8 +22,6 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 
 #include "mapgen.h"
 
-#define BIOMEGEN_BASE_V7 -192
-
 /////////////////// Mapgen V7 flags
 #define MGV7_MOUNTAINS   0x01
 #define MGV7_RIDGES      0x02
index 5176ccb68cb96e552e8254a22d1e8b0872b5b81c..f133788de4fd0415a9c1238d38b858cfd282f0d4 100644 (file)
@@ -129,7 +129,6 @@ size_t Decoration::placeDeco(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax)
                        s16 y = mg->heightmap ?
                                        mg->heightmap[mapindex] :
                                        mg->findGroundLevel(v2s16(x, z), nmin.Y, nmax.Y);
-                       y = MYMAX(y, mg->water_level);
 
                        if (y < nmin.Y || y > nmax.Y ||
                                y < y_min  || y > y_max)