Biome API: Add biome-specific river water
authorparamat <mat.gregory@virginmedia.com>
Sun, 19 Apr 2015 02:37:55 +0000 (03:37 +0100)
committerparamat <mat.gregory@virginmedia.com>
Sun, 19 Apr 2015 05:09:57 +0000 (06:09 +0100)
src/mg_biome.cpp
src/mg_biome.h
src/script/lua_api/l_mapgen.cpp

index 854876545beec7d783ea793bb42b463ca0c5ee16..241a068299e0efa7683284bea380b4e604293c33 100644 (file)
@@ -55,6 +55,7 @@ BiomeManager::BiomeManager(IGameDef *gamedef) :
        b->m_nodenames.push_back("mapgen_stone");
        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("air");
        m_ndef->pendNodeResolve(b, NODE_RESOLVE_DEFERRED);
 
@@ -131,11 +132,12 @@ void BiomeManager::clear()
 
 void Biome::resolveNodeNames()
 {
-       getIdFromNrBacklog(&c_top,       "mapgen_dirt_with_grass", CONTENT_AIR);
-       getIdFromNrBacklog(&c_filler,    "mapgen_dirt",            CONTENT_AIR);
-       getIdFromNrBacklog(&c_stone,     "mapgen_stone",           CONTENT_AIR);
-       getIdFromNrBacklog(&c_water_top, "mapgen_water_source",    CONTENT_AIR);
-       getIdFromNrBacklog(&c_water,     "mapgen_water_source",    CONTENT_AIR);
-       getIdFromNrBacklog(&c_dust,      "air",                    CONTENT_IGNORE);
+       getIdFromNrBacklog(&c_top,         "mapgen_dirt_with_grass",    CONTENT_AIR);
+       getIdFromNrBacklog(&c_filler,      "mapgen_dirt",               CONTENT_AIR);
+       getIdFromNrBacklog(&c_stone,       "mapgen_stone",              CONTENT_AIR);
+       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_dust,        "air",                       CONTENT_IGNORE);
 }
 
index ce5ce2f0a9edd2073e644d69f5991aef2fe7f665..e289fb16dd71657b928f902df25c532c4d256c39 100644 (file)
@@ -42,6 +42,7 @@ public:
        content_t c_stone;
        content_t c_water_top;
        content_t c_water;
+       content_t c_river_water;
        content_t c_dust;
 
        s16 depth_top;
index daa040e3b67771519d69adcfcefa497523cbf50d..e90fe32c8809acfb8192d16f611a1e70cd15c58a 100644 (file)
@@ -389,22 +389,23 @@ Biome *read_biome_def(lua_State *L, int index, INodeDefManager *ndef)
        Biome *b = BiomeManager::create(biometype);
 
        b->name            = getstringfield_default(L, index, "name", "");
-       b->depth_top       = getintfield_default(L, index, "depth_top",          1);
-       b->depth_filler    = getintfield_default(L, index, "depth_filler",       2);
-       b->depth_water_top = getintfield_default(L, index, "depth_water_top",    0);
-       b->y_min           = getintfield_default(L, index, "y_min",         -31000);
-       b->y_max           = getintfield_default(L, index, "y_max",          31000);
-       b->heat_point      = getfloatfield_default(L, index, "heat_point",     0.f);
-       b->humidity_point  = getfloatfield_default(L, index, "humidity_point", 0.f);
+       b->depth_top       = getintfield_default(L,    index, "depth_top",       1);
+       b->depth_filler    = getintfield_default(L,    index, "depth_filler",    2);
+       b->depth_water_top = getintfield_default(L,    index, "depth_water_top", 0);
+       b->y_min           = getintfield_default(L,    index, "y_min",           -31000);
+       b->y_max           = getintfield_default(L,    index, "y_max",           31000);
+       b->heat_point      = getfloatfield_default(L,  index, "heat_point",      0.f);
+       b->humidity_point  = getfloatfield_default(L,  index, "humidity_point",  0.f);
        b->flags           = 0; //reserved
 
        std::vector<std::string> &nn = b->m_nodenames;
-       nn.push_back(getstringfield_default(L, index, "node_top",       ""));
-       nn.push_back(getstringfield_default(L, index, "node_filler",    ""));
-       nn.push_back(getstringfield_default(L, index, "node_stone",     ""));
-       nn.push_back(getstringfield_default(L, index, "node_water_top", ""));
-       nn.push_back(getstringfield_default(L, index, "node_water",     ""));
-       nn.push_back(getstringfield_default(L, index, "node_dust",      ""));
+       nn.push_back(getstringfield_default(L, index, "node_top",         ""));
+       nn.push_back(getstringfield_default(L, index, "node_filler",      ""));
+       nn.push_back(getstringfield_default(L, index, "node_stone",       ""));
+       nn.push_back(getstringfield_default(L, index, "node_water_top",   ""));
+       nn.push_back(getstringfield_default(L, index, "node_water",       ""));
+       nn.push_back(getstringfield_default(L, index, "node_river_water", ""));
+       nn.push_back(getstringfield_default(L, index, "node_dust",        ""));
        ndef->pendNodeResolve(b, NODE_RESOLVE_DEFERRED);
 
        return b;