LocalPlayer::accelerateHorizontal: cleanups
[oweals/minetest.git] / src / mg_biome.cpp
index dac0f7acc93bd400199aa01dc62eb6aa68604f8d..2ef2ed16a360bf37c23dc74fdd85b3c37515248d 100644 (file)
@@ -1,6 +1,7 @@
 /*
 Minetest
-Copyright (C) 2010-2013 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
+Copyright (C) 2014-2016 kwolekr, Ryan Kwolek <kwolekr@minetest.net>
+Copyright (C) 2014-2017 paramat
 
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU Lesser General Public License as published by
@@ -20,12 +21,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "mg_biome.h"
 #include "mg_decoration.h"
 #include "emerge.h"
-#include "gamedef.h"
+#include "server.h"
 #include "nodedef.h"
 #include "map.h" //for MMVManip
-#include "log.h"
 #include "util/numeric.h"
-#include "util/mathconstants.h"
 #include "porting.h"
 #include "settings.h"
 
@@ -33,10 +32,10 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 ///////////////////////////////////////////////////////////////////////////////
 
 
-BiomeManager::BiomeManager(IGameDef *gamedef) :
-       ObjDefManager(gamedef, OBJDEF_BIOME)
+BiomeManager::BiomeManager(Server *server) :
+       ObjDefManager(server, OBJDEF_BIOME)
 {
-       m_gamedef = gamedef;
+       m_server = server;
 
        // Create default biome to be used in case none exist
        Biome *b = new Biome;
@@ -46,6 +45,7 @@ BiomeManager::BiomeManager(IGameDef *gamedef) :
        b->depth_top       = 0;
        b->depth_filler    = -MAX_MAP_GENERATION_LIMIT;
        b->depth_water_top = 0;
+       b->depth_riverbed  = 0;
        b->y_min           = -MAX_MAP_GENERATION_LIMIT;
        b->y_max           = MAX_MAP_GENERATION_LIMIT;
        b->heat_point      = 0.0;
@@ -57,6 +57,7 @@ BiomeManager::BiomeManager(IGameDef *gamedef) :
        b->m_nodenames.push_back("mapgen_water_source");
        b->m_nodenames.push_back("mapgen_water_source");
        b->m_nodenames.push_back("mapgen_river_water_source");
+       b->m_nodenames.push_back("mapgen_stone");
        b->m_nodenames.push_back("ignore");
        m_ndef->pendNodeResolve(b);
 
@@ -71,7 +72,7 @@ BiomeManager::~BiomeManager()
 
 void BiomeManager::clear()
 {
-       EmergeManager *emerge = m_gamedef->getEmergeManager();
+       EmergeManager *emerge = m_server->getEmergeManager();
 
        // Remove all dangling references in Decorations
        DecorationManager *decomgr = emerge->decomgr;
@@ -128,7 +129,7 @@ BiomeGenOriginal::BiomeGenOriginal(BiomeManager *biomemgr,
 
        heatmap  = noise_heat->result;
        humidmap = noise_humidity->result;
-       biomemap = new u8[m_csize.X * m_csize.Z];
+       biomemap = new biome_t[m_csize.X * m_csize.Z];
 }
 
 BiomeGenOriginal::~BiomeGenOriginal()
@@ -171,7 +172,7 @@ void BiomeGenOriginal::calcBiomeNoise(v3s16 pmin)
 }
 
 
-u8 *BiomeGenOriginal::getBiomes(s16 *heightmap)
+biome_t *BiomeGenOriginal::getBiomes(s16 *heightmap)
 {
        for (s32 i = 0; i != m_csize.X * m_csize.Z; i++) {
                Biome *biome = calcBiomeFromNoise(
@@ -237,5 +238,6 @@ void Biome::resolveNodeNames()
        getIdFromNrBacklog(&c_water_top,   "mapgen_water_source",       CONTENT_AIR);
        getIdFromNrBacklog(&c_water,       "mapgen_water_source",       CONTENT_AIR);
        getIdFromNrBacklog(&c_river_water, "mapgen_river_water_source", CONTENT_AIR);
+       getIdFromNrBacklog(&c_riverbed,    "mapgen_stone",              CONTENT_AIR);
        getIdFromNrBacklog(&c_dust,        "ignore",                    CONTENT_IGNORE);
 }