From c5f6f9f77ac1df4b223649fcaca9a66333aa8786 Mon Sep 17 00:00:00 2001 From: Craig Robbins Date: Wed, 10 Dec 2014 00:45:07 +1000 Subject: Increase performance of getLight() by at least 2x Leads to the following increases: getSmoothLight() approx. 40% increase getTileInfo() approx. 25% increase MapBlockMesh::MapBlockMesh() 25-30% --- src/mapnode.cpp | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/mapnode.cpp') diff --git a/src/mapnode.cpp b/src/mapnode.cpp index fbf0ac8c9..4e8feb047 100644 --- a/src/mapnode.cpp +++ b/src/mapnode.cpp @@ -88,6 +88,12 @@ u8 MapNode::getLight(enum LightBank bank, INodeDefManager *nodemgr) const return MYMAX(f.light_source, light); } +u8 MapNode::getLightNoChecks(enum LightBank bank, const ContentFeatures *f) +{ + return MYMAX(f->light_source, + bank == LIGHTBANK_DAY ? param1 & 0x0f : (param1 >> 4) & 0x0f); +} + bool MapNode::getLightBanks(u8 &lightday, u8 &lightnight, INodeDefManager *nodemgr) const { // Select the brightest of [light source, propagated light] -- cgit v1.2.3