just backuppin' a working mapblock.cpp
This commit is contained in:
parent
3fb0d2fb65
commit
83e083a667
@ -864,8 +864,14 @@ void MapBlock::updateMesh(u32 daynight_ratio)
|
|||||||
- SUGG: This could be optimized
|
- SUGG: This could be optimized
|
||||||
|
|
||||||
Turns sunglighted mud into grass.
|
Turns sunglighted mud into grass.
|
||||||
|
|
||||||
|
if remove_light==true, sets non-sunlighted nodes black.
|
||||||
|
|
||||||
|
if black_air_left!=NULL, it is set to true if non-sunlighted
|
||||||
|
air is left in block.
|
||||||
*/
|
*/
|
||||||
bool MapBlock::propagateSunlight(core::map<v3s16, bool> & light_sources)
|
bool MapBlock::propagateSunlight(core::map<v3s16, bool> & light_sources,
|
||||||
|
bool remove_light, bool *black_air_left)
|
||||||
{
|
{
|
||||||
// Whether the sunlight at the top of the bottom block is valid
|
// Whether the sunlight at the top of the bottom block is valid
|
||||||
bool block_below_is_valid = true;
|
bool block_below_is_valid = true;
|
||||||
@ -960,18 +966,26 @@ bool MapBlock::propagateSunlight(core::map<v3s16, bool> & light_sources)
|
|||||||
|
|
||||||
bool sunlight_should_go_down = (y==-1);
|
bool sunlight_should_go_down = (y==-1);
|
||||||
|
|
||||||
// Fill rest with black (only transparent ones)
|
/*
|
||||||
for(; y >= 0; y--){
|
Check rest through to the bottom of the block
|
||||||
|
*/
|
||||||
|
for(; y >= 0; y--)
|
||||||
|
{
|
||||||
v3s16 pos(x, y, z);
|
v3s16 pos(x, y, z);
|
||||||
|
|
||||||
MapNode &n = getNodeRef(pos);
|
MapNode &n = getNodeRef(pos);
|
||||||
|
|
||||||
if(n.light_propagates())
|
if(n.light_propagates())
|
||||||
{
|
{
|
||||||
n.setLight(LIGHTBANK_DAY, 0);
|
if(black_air_left)
|
||||||
}
|
{
|
||||||
else{
|
*black_air_left = true;
|
||||||
break;
|
}
|
||||||
|
|
||||||
|
if(remove_light)
|
||||||
|
{
|
||||||
|
// Fill transparent nodes with black
|
||||||
|
n.setLight(LIGHTBANK_DAY, 0);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user