#include "mapnode.h"
#ifndef SERVER
#include "tile.h"
+#include "shader.h"
#endif
#include "itemgroup.h"
#include "sound.h" // SimpleSoundSpec
class IItemDefManager;
class ITextureSource;
+class IShaderSource;
class IGameDef;
typedef std::list<std::pair<content_t, int> > GroupItems;
// uses 2 textures, one for frames, second for faces
};
-#define CF_SPECIAL_COUNT 2
+#define CF_SPECIAL_COUNT 6
struct ContentFeatures
{
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;
/*
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;