aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPerttu Ahola <celeron55@gmail.com>2011-05-03 17:33:13 +0300
committerPerttu Ahola <celeron55@gmail.com>2011-05-03 17:33:13 +0300
commit821d5bb4cc3a9047187955ab897ea28f9b9aa957 (patch)
treef61d8447b1a78a489ad4b756aa895cd36741ff9b /src
parent1c08b6c99a88065b30baaba87677f6a334421df6 (diff)
downloadminetest-821d5bb4cc3a9047187955ab897ea28f9b9aa957.tar.gz
minetest-821d5bb4cc3a9047187955ab897ea28f9b9aa957.tar.bz2
minetest-821d5bb4cc3a9047187955ab897ea28f9b9aa957.zip
Hopefully fixed the bug of huge mineral deposits rarely in seafloor sand
Diffstat (limited to 'src')
-rw-r--r--src/map.cpp6
-rw-r--r--src/mapnode.h8
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)
{