]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/nodedef.h
Remove texture atlas / AtlasPointer, rename getTextureRaw to getTexture
[dragonfireclient.git] / src / nodedef.h
index b3f972b9b3259296320c0a4aca308b8bba939be9..665a5ddc23d062205a911f99ce779a2e8e5f8cc5 100644 (file)
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <string>
 #include <iostream>
 #include <map>
+#include <list>
 #include "mapnode.h"
 #ifndef SERVER
 #include "tile.h"
@@ -36,6 +37,8 @@ class IItemDefManager;
 class ITextureSource;
 class IGameDef;
 
+typedef std::list<std::pair<content_t, int> > GroupItems;
+
 enum ContentParamType
 {
        CPT_NONE,
@@ -119,7 +122,7 @@ struct TileDef
                animation.length = 1.0;
        }
 
-       void serialize(std::ostream &os) const;
+       void serialize(std::ostream &os, u16 protocol_version) const;
        void deSerialize(std::istream &is);
 };
 
@@ -138,6 +141,9 @@ enum NodeDrawType
        NDT_FENCELIKE,
        NDT_RAILLIKE,
        NDT_NODEBOX,
+       NDT_GLASSLIKE_FRAMED, // Glass-like, draw connected frames and all all
+                             // visible faces
+                                                 // uses 2 textures, one for frames, second for faces
 };
 
 #define CF_SPECIAL_COUNT 2
@@ -213,6 +219,7 @@ struct ContentFeatures
        u8 liquid_viscosity;
        // Is liquid renewable (new liquid source will be created between 2 existing)
        bool liquid_renewable;
+       bool drowning;
        // Amount of light the node emits
        u8 light_source;
        u32 damage_per_second;
@@ -305,7 +312,6 @@ class IWritableNodeDefManager : public INodeDefManager
 
        /*
                Update tile textures to latest return values of TextueSource.
-               Call after updating the texture atlas of a TextureSource.
        */
        virtual void updateTextures(ITextureSource *tsrc)=0;