From 821d5bb4cc3a9047187955ab897ea28f9b9aa957 Mon Sep 17 00:00:00 2001 From: Perttu Ahola Date: Tue, 3 May 2011 17:33:13 +0300 Subject: [PATCH] Hopefully fixed the bug of huge mineral deposits rarely in seafloor sand --- src/map.cpp | 6 ++++-- src/mapnode.h | 8 ++++---- 2 files changed, 8 insertions(+), 6 deletions(-) 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) { -- 2.25.1