Hopefully fixed the bug of huge mineral deposits rarely in seafloor sand
authorPerttu Ahola <celeron55@gmail.com>
Tue, 3 May 2011 14:33:13 +0000 (17:33 +0300)
committerPerttu Ahola <celeron55@gmail.com>
Tue, 3 May 2011 14:33:13 +0000 (17:33 +0300)
src/map.cpp
src/mapnode.h

index ddf8d863e57374cd60f606e0e68c8b2c02ff96f0..02614e1aed8663540e3d0a6e6e403181c02afba4 100644 (file)
@@ -2823,7 +2823,8 @@ void makeChunk(ChunkMakeData *data)
                        u32 i = data->vmanip.m_area.index(v3s16(p2d.X, surface_y, p2d.Y));
                        MapNode *n = &data->vmanip.m_data[i];
                        if(n->d == CONTENT_GRASS)
-                               n->d = CONTENT_MUD;
+                               *n = MapNode(CONTENT_MUD);
+                               //n->d = CONTENT_MUD;
                }
 
                /*
@@ -2840,7 +2841,8 @@ void makeChunk(ChunkMakeData *data)
                                        break;
                                        
                                MapNode &n = data->vmanip.m_data[i];
-                               n.d = CONTENT_MUD;
+                               n = MapNode(CONTENT_MUD);
+                               //n.d = CONTENT_MUD;
                                mudcount++;
 
                                data->vmanip.m_area.add_y(em, i, 1);
index ef1ec8ae3f3819df4dcfba83372118740c1a3bcd..d456cf88391cf169ecb0341bc33f7b97fcd75bb7 100644 (file)
@@ -513,7 +513,7 @@ struct MapNode
                // Select the brightest of [light source, propagated light]
                u8 lightday = 0;
                u8 lightnight = 0;
-               if(light_propagates())
+               if(content_features(d).param_type == CPT_LIGHT)
                {
                        lightday = param & 0x0f;
                        lightnight = (param>>4)&0x0f;
@@ -534,7 +534,7 @@ struct MapNode
        {
                // Select the brightest of [light source, propagated light]
                u8 light = 0;
-               if(light_propagates())
+               if(content_features(d).param_type == CPT_LIGHT)
                {
                        if(bank == LIGHTBANK_DAY)
                                light = param & 0x0f;
@@ -576,8 +576,8 @@ struct MapNode
 
        void setLight(enum LightBank bank, u8 a_light)
        {
-               // If not transparent, can't set light
-               if(light_propagates() == false)
+               // If node doesn't contain light data, ignore this
+               if(content_features(d).param_type != CPT_LIGHT)
                        return;
                if(bank == LIGHTBANK_DAY)
                {