summaryrefslogtreecommitdiff
path: root/src/map.h
diff options
context:
space:
mode:
authorDániel Juhász <juhdanad@gmail.com>2016-10-20 21:41:38 +0200
committerNer'zhul <nerzhul@users.noreply.github.com>2016-10-27 08:04:42 +0200
commitc071efaa43ad3dcba7d60a7a67e942aae2a7dc83 (patch)
tree005ca91912ba59cbe5b676b8067d82a5483ed1ce /src/map.h
parent1fd9a07497c45364ed8396653501c6be2a2e2ade (diff)
downloadminetest-c071efaa43ad3dcba7d60a7a67e942aae2a7dc83.tar.gz
minetest-c071efaa43ad3dcba7d60a7a67e942aae2a7dc83.tar.bz2
minetest-c071efaa43ad3dcba7d60a7a67e942aae2a7dc83.zip
Improved lighting
This commit rewrites the procedure that is responsible for light updating. this commit -provides iterative solutions for unlighting and light spreading -introduces a new priority queue-like container for the iteration -creates per-node MapBlock caching to reduce retrieving MapBlocks from the map -calculates with map block positions and in-block relative node coordinates -skips light updating if it is not necessary since the node's new light will be the same as its old light was
Diffstat (limited to 'src/map.h')
-rw-r--r--src/map.h16
1 files changed, 1 insertions, 15 deletions
diff --git a/src/map.h b/src/map.h
index c73fa92bf..e8d40e982 100644
--- a/src/map.h
+++ b/src/map.h
@@ -211,24 +211,10 @@ public:
std::set<v3s16> & light_sources,
std::map<v3s16, MapBlock*> & modified_blocks);
- void unLightNeighbors(enum LightBank bank,
- v3s16 pos, u8 lightwas,
- std::set<v3s16> & light_sources,
- std::map<v3s16, MapBlock*> & modified_blocks);
-
void spreadLight(enum LightBank bank,
std::set<v3s16> & from_nodes,
std::map<v3s16, MapBlock*> & modified_blocks);
-
- void lightNeighbors(enum LightBank bank,
- v3s16 pos,
- std::map<v3s16, MapBlock*> & modified_blocks);
-
- v3s16 getBrightestNeighbour(enum LightBank bank, v3s16 p);
-
- s16 propagateSunlight(v3s16 start,
- std::map<v3s16, MapBlock*> & modified_blocks);
-
+
void updateLighting(enum LightBank bank,
std::map<v3s16, MapBlock*> & a_blocks,
std::map<v3s16, MapBlock*> & modified_blocks);