X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fmapnode.h;h=f19885d87614f6e38e04254ce59bf06c2a94b3d2;hb=18bfa1c785a123499ee12d0551a9447a4d32d93b;hp=74b079c6d5e46557df8e180f5224707f788599b2;hpb=112dbba7c4d38bf780e4e2f05bdff106b52ce2f9;p=oweals%2Fminetest.git diff --git a/src/mapnode.h b/src/mapnode.h index 74b079c6d..f19885d87 100644 --- a/src/mapnode.h +++ b/src/mapnode.h @@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "irr_v3d.h" #include "irr_aabb3d.h" #include "light.h" +#include #include class INodeDefManager; @@ -42,7 +43,7 @@ typedef u16 content_t; there is enough room for dummy node IDs, which are created when a MapBlock containing unknown node names is loaded from disk. */ -#define MAX_REGISTERED_CONTENT 0xfffU +#define MAX_REGISTERED_CONTENT 0x7fffU /* A solid walkable node with the texture unknown_node.png. @@ -104,7 +105,7 @@ enum Rotation { #define LIQUID_INFINITY_MASK 0x80 //0b10000000 // mask for param2, now as for liquid -#define LEVELED_MASK 0x07 +#define LEVELED_MASK 0x3F #define LEVELED_MAX LEVELED_MASK /* @@ -227,7 +228,11 @@ struct MapNode std::vector getSelectionBoxes(INodeDefManager *nodemgr) const; /* Liquid helpers */ + u8 getMaxLevel(INodeDefManager *nodemgr) const; u8 getLevel(INodeDefManager *nodemgr) const; + u8 setLevel(INodeDefManager *nodemgr, s8 level = 1); + u8 addLevel(INodeDefManager *nodemgr, s8 add = 1); + void freezeMelt(INodeDefManager *nodemgr); /* Serialization functions