]> git.lizzy.rs Git - minetest.git/blobdiff - src/voxel.h
Adjust some settings to modern environments and networks. (#7549)
[minetest.git] / src / voxel.h
index 49a75c95f6f53aedc21ea22cc2bab6c86be28392..16540e5951b817849901770c1cec6476046f7992 100644 (file)
@@ -29,7 +29,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <list>
 #include "util/basic_macros.h"
 
-class INodeDefManager;
+class NodeDefManager;
 
 // For VC++
 #undef min
@@ -59,7 +59,7 @@ class VoxelArea
 {
 public:
        // Starts as zero sized
-       VoxelArea() {}
+       VoxelArea() = default;
 
        VoxelArea(const v3s16 &min_edge, const v3s16 &max_edge):
                MinEdge(min_edge),
@@ -175,12 +175,12 @@ class VoxelArea
 
        VoxelArea operator+(const v3s16 &off) const
        {
-               return VoxelArea(MinEdge+off, MaxEdge+off);
+               return {MinEdge+off, MaxEdge+off};
        }
 
        VoxelArea operator-(const v3s16 &off) const
        {
-               return VoxelArea(MinEdge-off, MaxEdge-off);
+               return {MinEdge-off, MaxEdge-off};
        }
 
        /*
@@ -277,25 +277,36 @@ class VoxelArea
                return index(p.X, p.Y, p.Z);
        }
 
-       // Translate index in the X coordinate
-       void add_x(const v3s16 &extent, u32 &i, s16 a)
+       /**
+        * Translate index in the X coordinate
+        */
+       static void add_x(const v3s16 &extent, u32 &i, s16 a)
        {
                i += a;
        }
-       // Translate index in the Y coordinate
-       void add_y(const v3s16 &extent, u32 &i, s16 a)
+
+       /**
+        * Translate index in the Y coordinate
+        */
+       static void add_y(const v3s16 &extent, u32 &i, s16 a)
        {
                i += a * extent.X;
        }
-       // Translate index in the Z coordinate
-       void add_z(const v3s16 &extent, u32 &i, s16 a)
+
+       /**
+        * Translate index in the Z coordinate
+        */
+       static void add_z(const v3s16 &extent, u32 &i, s16 a)
        {
-               i += a * extent.X*extent.Y;
+               i += a * extent.X * extent.Y;
        }
-       // Translate index in space
-       void add_p(const v3s16 &extent, u32 &i, v3s16 a)
+
+       /**
+        * Translate index in space
+        */
+       static void add_p(const v3s16 &extent, u32 &i, v3s16 a)
        {
-               i += a.Z*extent.X*extent.Y + a.Y*extent.X + a.X;
+               i += a.Z * extent.X * extent.Y + a.Y * extent.X + a.X;
        }
 
        /*
@@ -344,7 +355,7 @@ enum VoxelPrintMode
 class VoxelManipulator
 {
 public:
-       VoxelManipulator();
+       VoxelManipulator() = default;
        virtual ~VoxelManipulator();
 
        /*
@@ -374,7 +385,7 @@ class VoxelManipulator
                addArea(voxel_area);
 
                if (m_flags[m_area.index(p)] & VOXELFLAG_NO_DATA) {
-                       return MapNode(CONTENT_IGNORE);
+                       return {CONTENT_IGNORE};
                }
 
                return m_data[m_area.index(p)];
@@ -382,9 +393,9 @@ class VoxelManipulator
        MapNode getNodeNoExNoEmerge(const v3s16 &p)
        {
                if (!m_area.contains(p))
-                       return MapNode(CONTENT_IGNORE);
+                       return {CONTENT_IGNORE};
                if (m_flags[m_area.index(p)] & VOXELFLAG_NO_DATA)
-                       return MapNode(CONTENT_IGNORE);
+                       return {CONTENT_IGNORE};
                return m_data[m_area.index(p)];
        }
        // Stuff explodes if non-emerged area is touched with this.
@@ -449,7 +460,7 @@ class VoxelManipulator
 
        virtual void clear();
 
-       void print(std::ostream &o, INodeDefManager *nodemgr,
+       void print(std::ostream &o, const NodeDefManager *nodemgr,
                        VoxelPrintMode mode=VOXELPRINT_MATERIAL);
 
        void addArea(const VoxelArea &area);
@@ -471,15 +482,6 @@ class VoxelManipulator
 
        void clearFlag(u8 flag);
 
-       // TODO: Move to voxelalgorithms.h
-
-       void unspreadLight(enum LightBank bank, v3s16 p, u8 oldlight,
-                       std::set<v3s16> & light_sources, INodeDefManager *nodemgr);
-
-       void spreadLight(enum LightBank bank, v3s16 p, INodeDefManager *nodemgr);
-       void spreadLight(enum LightBank bank,
-                       std::set<v3s16> & from_nodes, INodeDefManager *nodemgr);
-
        /*
                Member variables
        */