Cleanup in content_mapblock (#5746)
[oweals/minetest.git] / src / nodedef.h
index 83968ce270d3a69afadb6d017516bce7484327cd..4669df7f04ae5136ec10fa28ace2198c8d2b1ccd 100644 (file)
@@ -280,6 +280,8 @@ struct ContentFeatures
 #endif
        float visual_scale; // Misc. scale parameter
        TileDef tiledef[6];
+       // These will be drawn over the base tiles.
+       TileDef tiledef_overlay[6];
        TileDef tiledef_special[CF_SPECIAL_COUNT]; // eg. flowing liquid
        // If 255, the node is opaque.
        // Otherwise it uses texture alpha.
@@ -380,13 +382,13 @@ struct ContentFeatures
        void serializeOld(std::ostream &os, u16 protocol_version) const;
        void deSerializeOld(std::istream &is, int version);
        /*!
-        * Since vertex alpha is no lnger supported, this method
-        * adds instructions to the texture names to blend alpha there.
+        * Since vertex alpha is no longer supported, this method
+        * adds opacity directly to the texture pixels.
         *
-        * tiledef, tiledef_special and alpha must be initialized
-        * before calling this.
+        * \param tiles array of the tile definitions.
+        * \param length length of tiles
         */
-       void correctAlpha();
+       void correctAlpha(TileDef *tiles, int length);
 
        /*
                Some handy methods
@@ -405,7 +407,7 @@ struct ContentFeatures
        }
 
 #ifndef SERVER
-       void fillTileAttribs(ITextureSource *tsrc, TileSpec *tile, TileDef *tiledef,
+       void fillTileAttribs(ITextureSource *tsrc, TileLayer *tile, TileDef *tiledef,
                u32 shader_id, bool use_normal_texture, bool backface_culling,
                u8 material_type);
        void updateTextures(ITextureSource *tsrc, IShaderSource *shdsrc,
@@ -430,8 +432,6 @@ public:
 
        virtual void serialize(std::ostream &os, u16 protocol_version) const=0;
 
-       virtual bool getNodeRegistrationStatus() const=0;
-
        virtual void pendNodeResolve(NodeResolver *nr)=0;
        virtual bool cancelNodeResolveCallback(NodeResolver *nr)=0;
        virtual bool nodeboxConnects(const MapNode from, const MapNode to, u8 connect_face)=0;
@@ -489,7 +489,6 @@ public:
        virtual void serialize(std::ostream &os, u16 protocol_version) const=0;
        virtual void deSerialize(std::istream &is)=0;
 
-       virtual bool getNodeRegistrationStatus() const=0;
        virtual void setNodeRegistrationStatus(bool completed)=0;
 
        virtual void pendNodeResolve(NodeResolver *nr)=0;