class MtEventManager;
struct PointedThing;
class Database;
+class Mapper;
+struct MinimapMapblock;
struct QueuedMeshUpdate
{
}
};
-class MeshUpdateThread : public JThread
+class MeshUpdateThread : public UpdateThread
{
+private:
+ MeshUpdateQueue m_queue_in;
+
+protected:
+ const char *getName()
+ { return "MeshUpdateThread"; }
+ virtual void doUpdate();
+
public:
- MeshUpdateThread(IGameDef *gamedef):
- m_gamedef(gamedef)
+ MeshUpdateThread()
{
}
- void * Thread();
-
- MeshUpdateQueue m_queue_in;
+ void enqueueUpdate(v3s16 p, MeshMakeData *data,
+ bool ack_block_to_server, bool urgent);
MutexedQueue<MeshUpdateResult> m_queue_out;
- IGameDef *m_gamedef;
-
v3s16 m_camera_offset;
};
bool accessDenied()
{ return m_access_denied; }
+ bool reconnectRequested() { return m_access_denied_reconnect; }
+
std::string accessDeniedReason()
{ return m_access_denied_reason; }
bool mediaReceived()
{ return m_media_downloader == NULL; }
+ u8 getProtoVersion()
+ { return m_proto_ver; }
+
float mediaReceiveProgress();
void afterContentReceived(IrrlichtDevice *device);
float getCurRate(void);
float getAvgRate(void);
+ Mapper* getMapper ()
+ { return m_mapper; }
+
// IGameDef interface
virtual IItemDefManager* getItemDefManager();
virtual INodeDefManager* getNodeDefManager();
ParticleManager m_particle_manager;
con::Connection m_con;
IrrlichtDevice *m_device;
+ Mapper *m_mapper;
// Server serialization version
u8 m_server_ser_ver;
+
// Used version of the protocol with server
+ // Values smaller than 25 only mean they are smaller than 25,
+ // and aren't accurate. We simply just don't know, because
+ // the server didn't send the version back then.
+ // If 0, server init hasn't been received yet.
u8 m_proto_ver;
+
u16 m_playeritem;
bool m_inventory_updated;
Inventory *m_inventory_from_server;
bool m_access_denied;
+ bool m_access_denied_reconnect;
std::string m_access_denied_reason;
std::queue<ClientEvent> m_client_event_queue;
bool m_itemdef_received;