diff --git a/src/map.cpp b/src/map.cpp index ddf8d863e..02614e1ae 100644 --- a/src/map.cpp +++ b/src/map.cpp @@ -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); diff --git a/src/mapnode.h b/src/mapnode.h index ef1ec8ae3..d456cf883 100644 --- a/src/mapnode.h +++ b/src/mapnode.h @@ -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) {