#ifndef NODEDEF_HEADER
#define NODEDEF_HEADER
-#include "common_irrlicht.h"
+#include "irrlichttypes.h"
#include <string>
#include <iostream>
#include <map>
#include "tile.h"
#endif
#include "itemgroup.h"
+#include "sound.h" // SimpleSoundSpec
class IItemDefManager;
class ITextureSource;
class IGameDef;
// 0 1 2 3 4 5
// up down right left back front
TileSpec tiles[6];
- // Special material/texture
+ // Special tiles
// - Currently used for flowing liquids
- video::SMaterial *special_materials[CF_SPECIAL_COUNT];
- AtlasPointer *special_aps[CF_SPECIAL_COUNT];
+ TileSpec special_tiles[CF_SPECIAL_COUNT];
u8 solidness; // Used when choosing which face is drawn
u8 visual_solidness; // When solidness=0, this tells how it looks like
bool backface_culling;
// Set to true if wall_mounted used to be set to true
bool legacy_wallmounted;
+ // Sound properties
+ SimpleSoundSpec sound_footstep;
+ SimpleSoundSpec sound_dig;
+ SimpleSoundSpec sound_dug;
+
/*
Methods
*/
virtual const ContentFeatures& get(const MapNode &n) const=0;
virtual bool getId(const std::string &name, content_t &result) const=0;
virtual content_t getId(const std::string &name) const=0;
+ // Allows "group:name" in addition to regular node names
+ virtual void getIds(const std::string &name, std::set<content_t> &result)
+ const=0;
virtual const ContentFeatures& get(const std::string &name) const=0;
virtual void serialize(std::ostream &os)=0;
virtual const ContentFeatures& get(const MapNode &n) const=0;
virtual bool getId(const std::string &name, content_t &result) const=0;
virtual content_t getId(const std::string &name) const=0;
+ // Allows "group:name" in addition to regular node names
+ virtual void getIds(const std::string &name, std::set<content_t> &result)
+ const=0;
// If not found, returns the features of CONTENT_IGNORE
virtual const ContentFeatures& get(const std::string &name) const=0;