Decoration, Ore: Resolve node names on Mapgen init
authorkwolekr <kwolekr@minetest.net>
Mon, 17 Jun 2013 22:51:29 +0000 (18:51 -0400)
committerkwolekr <kwolekr@minetest.net>
Mon, 17 Jun 2013 22:51:29 +0000 (18:51 -0400)
src/emerge.cpp
src/mapgen.cpp

index 2c94d46c14d9d074668447ec8928fc4bb67a3906..9edc42b7bf40afff857e4c6bbfbc97b8ff70f521 100644 (file)
@@ -123,9 +123,13 @@ void EmergeManager::initMapgens(MapgenParams *mgparams) {
                return;
        
        biomedef->resolveNodeNames(ndef);
+       for (size_t i = 0; i != ores.size(); i++)
+               ores[i]->resolveNodeNames(ndef);
+       for (size_t i = 0; i != decorations.size(); i++)
+               decorations[i]->resolveNodeNames(ndef);
        
        this->params = mgparams;
-       for (unsigned int i = 0; i != emergethread.size(); i++) {
+       for (size_t i = 0; i != emergethread.size(); i++) {
                mg = createMapgen(params->mg_name, 0, params);
                if (!mg) {
                        infostream << "EmergeManager: falling back to mapgen v6" << std::endl;
index 17afcf350f4f9597ca57e507fa1d23c5a15e88c3..d2bde00637b4de1b6715d2c9f14de396ec78eebb 100644 (file)
@@ -109,8 +109,6 @@ void Ore::placeOre(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax) {
        if (!in_range)
                return;
 
-       resolveNodeNames(mg->ndef);
-
        int ymin, ymax;
        if (in_range & ORE_RANGE_MIRROR) {
                ymin = MYMAX(nmin.Y, -height_max);
@@ -226,8 +224,6 @@ void Decoration::resolveNodeNames(INodeDefManager *ndef) {
 
 
 void Decoration::placeDeco(Mapgen *mg, u32 blockseed, v3s16 nmin, v3s16 nmax) {
-       resolveNodeNames(mg->ndef);
-
        PseudoRandom ps(blockseed + 53);
        int carea_size = nmax.X - nmin.X + 1;