]> git.lizzy.rs Git - minetest.git/blobdiff - src/nodedef.h
Remove Android makefile ugly make -j hack
[minetest.git] / src / nodedef.h
index 1be764121be2fe75ea6e2e671d895ba5bd605553..bd13a7bb2af7155bd4e9442c5e1f36710f01c567 100644 (file)
@@ -27,7 +27,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <list>
 #include "mapnode.h"
 #ifndef SERVER
-#include "tile.h"
+#include "client/tile.h"
 #include "shader.h"
 #endif
 #include "itemgroup.h"
@@ -234,8 +234,6 @@ 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;
        u8 drowning;
@@ -311,7 +309,7 @@ struct NodeResolveInfo {
                resolver = nr;
        }
 
-       std::list<std::string> nodenames;
+       std::vector<std::string> nodenames;
        std::list<NodeListInfo> nodelistinfo;
        NodeResolver *resolver;
 };
@@ -333,6 +331,9 @@ class INodeDefManager
 
        virtual void serialize(std::ostream &os, u16 protocol_version)=0;
 
+       virtual bool getNodeRegistrationStatus() const=0;
+       virtual void setNodeRegistrationStatus(bool completed)=0;
+
        virtual void pendNodeResolve(NodeResolveInfo *nri)=0;
        virtual void cancelNodeResolve(NodeResolver *resolver)=0;
        virtual void runNodeResolverCallbacks()=0;
@@ -377,11 +378,16 @@ class IWritableNodeDefManager : public INodeDefManager
        /*
                Update tile textures to latest return values of TextueSource.
        */
-       virtual void updateTextures(IGameDef *gamedef)=0;
+       virtual void updateTextures(IGameDef *gamedef,
+       /*argument: */void (*progress_callback)(void *progress_args, u32 progress, u32 max_progress),
+       /*argument: */void *progress_callback_args)=0;
 
        virtual void serialize(std::ostream &os, u16 protocol_version)=0;
        virtual void deSerialize(std::istream &is)=0;
 
+       virtual bool getNodeRegistrationStatus() const=0;
+       virtual void setNodeRegistrationStatus(bool completed)=0;
+
        virtual void pendNodeResolve(NodeResolveInfo *nri)=0;
        virtual void cancelNodeResolve(NodeResolver *resolver)=0;
        virtual void runNodeResolverCallbacks()=0;
@@ -402,9 +408,9 @@ class NodeResolver {
                m_ndef = NULL;
        }
 
-       ~NodeResolver()
+       virtual ~NodeResolver()
        {
-               if (!m_lookup_done)
+               if (!m_lookup_done && m_ndef)
                        m_ndef->cancelNodeResolve(this);
        }