Code modernization: src/m* (part 2)
[oweals/minetest.git] / src / mapgen_carpathian.cpp
index 8529fd55adbd3babaeceecbfad46f124262740ae..c6ca1de20fa396b53a95501c55bbbc10fb66be29 100644 (file)
@@ -57,6 +57,7 @@ MapgenCarpathian::MapgenCarpathian(
        spflags          = params->spflags;
        cave_width       = params->cave_width;
        large_cave_depth = params->large_cave_depth;
+       lava_depth       = params->lava_depth;
        cavern_limit     = params->cavern_limit;
        cavern_taper     = params->cavern_taper;
        cavern_threshold = params->cavern_threshold;
@@ -131,6 +132,7 @@ void MapgenCarpathianParams::readParams(const Settings *settings)
        settings->getFlagStrNoEx("mgcarpathian_spflags", spflags, flagdesc_mapgen_carpathian);
        settings->getFloatNoEx("mgcarpathian_cave_width",       cave_width);
        settings->getS16NoEx("mgcarpathian_large_cave_depth",   large_cave_depth);
+       settings->getS16NoEx("mgcarpathian_lava_depth",         lava_depth);
        settings->getS16NoEx("mgcarpathian_cavern_limit",       cavern_limit);
        settings->getS16NoEx("mgcarpathian_cavern_taper",       cavern_taper);
        settings->getFloatNoEx("mgcarpathian_cavern_threshold", cavern_threshold);
@@ -159,6 +161,7 @@ void MapgenCarpathianParams::writeParams(Settings *settings) const
        settings->setFlagStr("mgcarpathian_spflags", spflags, flagdesc_mapgen_carpathian, U32_MAX);
        settings->setFloat("mgcarpathian_cave_width",       cave_width);
        settings->setS16("mgcarpathian_large_cave_depth",   large_cave_depth);
+       settings->setS16("mgcarpathian_lava_depth",         lava_depth);
        settings->setS16("mgcarpathian_cavern_limit",       cavern_limit);
        settings->setS16("mgcarpathian_cavern_taper",       cavern_taper);
        settings->setFloat("mgcarpathian_cavern_threshold", cavern_threshold);
@@ -239,7 +242,10 @@ void MapgenCarpathian::makeChunk(BlockMakeData *data)
 
        // Init biome generator, place biome-specific nodes, and build biomemap
        biomegen->calcBiomeNoise(node_min);
-       MgStoneType stone_type = generateBiomes();
+
+       MgStoneType mgstone_type;
+       content_t biome_stone;
+       generateBiomes(&mgstone_type, &biome_stone, water_level - 1);
 
        // Generate caverns, tunnels and classic caves
        if (flags & MG_CAVES) {
@@ -259,14 +265,16 @@ void MapgenCarpathian::makeChunk(BlockMakeData *data)
 
        // Generate dungeons
        if (flags & MG_DUNGEONS)
-               generateDungeons(stone_surface_max_y, stone_type);
+               generateDungeons(stone_surface_max_y, mgstone_type, biome_stone);
 
        // Generate the registered decorations
        if (flags & MG_DECORATIONS)
-               m_emerge->decomgr->placeAllDecos(this, blockseed, node_min, node_max);
+               m_emerge->decomgr->placeAllDecos(this, blockseed,
+                       node_min, node_max, water_level - 1);
 
        // Generate the registered ores
-       m_emerge->oremgr->placeAllOres(this, blockseed, node_min, node_max);
+       m_emerge->oremgr->placeAllOres(this, blockseed,
+               node_min, node_max, water_level - 1);
 
        // Sprinkle some dust on top after everything else was generated
        dustTopNodes();
@@ -292,8 +300,8 @@ int MapgenCarpathian::getSpawnLevelAtPoint(v2s16 p)
        s16 level_at_point = terrainLevelAtPoint(p.X, p.Y);
        if (level_at_point <= water_level || level_at_point > water_level + 32)
                return MAX_MAP_GENERATION_LIMIT; // Unsuitable spawn point
-       else
-               return level_at_point;
+
+       return level_at_point;
 }
 
 
@@ -445,4 +453,4 @@ int MapgenCarpathian::generateTerrain()
        }
 
        return stone_surface_max_y;
-}
\ No newline at end of file
+}