#include <list>
#include "mapnode.h"
#ifndef SERVER
-#include "tile.h"
+#include "client/tile.h"
#include "shader.h"
#endif
#include "itemgroup.h"
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;
resolver = nr;
}
- std::list<std::string> nodenames;
+ std::vector<std::string> nodenames;
std::list<NodeListInfo> nodelistinfo;
NodeResolver *resolver;
};
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;
/*
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;
m_ndef = NULL;
}
- ~NodeResolver()
+ virtual ~NodeResolver()
{
- if (!m_lookup_done)
+ if (!m_lookup_done && m_ndef)
m_ndef->cancelNodeResolve(this);
}