X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=src%2Fnodedef.h;h=1f596e46baff75fc977e3bc3e5754b1e87c847da;hb=b97c9c65777b0389f4cc9a6e3257506f29761e03;hp=3a8210304ec4a92d79bc65a47665da95377ce50a;hpb=413f0d0353d49d7baed32540d73cbec99e35658a;p=oweals%2Fminetest.git diff --git a/src/nodedef.h b/src/nodedef.h index 3a8210304..1f596e46b 100644 --- a/src/nodedef.h +++ b/src/nodedef.h @@ -28,6 +28,7 @@ with this program; if not, write to the Free Software Foundation, Inc., #include "mapnode.h" #ifndef SERVER #include "tile.h" +#include "shader.h" #endif #include "itemgroup.h" #include "sound.h" // SimpleSoundSpec @@ -35,6 +36,7 @@ with this program; if not, write to the Free Software Foundation, Inc., class IItemDefManager; class ITextureSource; +class IShaderSource; class IGameDef; typedef std::list > GroupItems; @@ -90,7 +92,7 @@ struct NodeBox { reset(); } void reset(); - void serialize(std::ostream &os) const; + void serialize(std::ostream &os, u16 protocol_version) const; void deSerialize(std::istream &is); }; @@ -149,7 +151,7 @@ enum NodeDrawType // uses 2 textures, one for frames, second for faces }; -#define CF_SPECIAL_COUNT 2 +#define CF_SPECIAL_COUNT 6 struct ContentFeatures { @@ -224,14 +226,18 @@ struct ContentFeatures u8 liquid_viscosity; // Is liquid renewable (new liquid source will be created between 2 existing) bool liquid_renewable; + // Ice for water, water for ice + std::string freezemelt; // Number of flowing liquids surrounding source u8 liquid_range; - bool drowning; + u8 drowning; // Amount of light the node emits u8 light_source; u32 damage_per_second; NodeBox node_box; NodeBox selection_box; + // Used for waving leaves/plants + u8 waving; // Compatibility with old maps // Set to true if paramtype used to be 'facedir_simple' bool legacy_facedir_simple; @@ -319,7 +325,8 @@ public: /* Update tile textures to latest return values of TextueSource. */ - virtual void updateTextures(ITextureSource *tsrc)=0; + virtual void updateTextures(ITextureSource *tsrc, + IShaderSource *shdsrc)=0; virtual void serialize(std::ostream &os, u16 protocol_version)=0; virtual void deSerialize(std::istream &is)=0;