Reduce EnvRef:set_node() time tenfold by postponing the dayNightDiff update until it is actually needed
This commit is contained in:
@@ -360,10 +360,17 @@ class MapBlock /*: public NodeContainer*/
|
||||
Sets m_day_night_differs to appropriate value.
|
||||
These methods don't care about neighboring blocks.
|
||||
*/
|
||||
void updateDayNightDiff();
|
||||
void actuallyUpdateDayNightDiff();
|
||||
/*
|
||||
Call this to schedule what the previous function does to be done
|
||||
when the value is actually needed.
|
||||
*/
|
||||
void expireDayNightDiff();
|
||||
|
||||
bool dayNightDiffed()
|
||||
bool getDayNightDiff()
|
||||
{
|
||||
if(m_day_night_differs_expired)
|
||||
actuallyUpdateDayNightDiff();
|
||||
return m_day_night_differs;
|
||||
}
|
||||
|
||||
@@ -517,6 +524,7 @@ class MapBlock /*: public NodeContainer*/
|
||||
|
||||
// Whether day and night lighting differs
|
||||
bool m_day_night_differs;
|
||||
bool m_day_night_differs_expired;
|
||||
|
||||
bool m_generated;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user