From 1b2f64473ed4f222d3b7f02df853730d4382105e Mon Sep 17 00:00:00 2001 From: Loic Blot Date: Wed, 4 Mar 2015 11:29:34 +0100 Subject: Send Inventory packet on event, don't check it at each AsyncRunStep. * Call UpdateCrafting into SendInventory because this functions is only called before SendInventory * Use Player* instead of peer_id for UpdateCrafting because SendInventory already has the Player* pointer, then don't loop for searching Player* per peer_id * m_env_mutex don't need to be used with this modification because it's already locked before the calls --- src/server.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/server.h') diff --git a/src/server.h b/src/server.h index 8c5ea2e1e..b3d5d0fec 100644 --- a/src/server.h +++ b/src/server.h @@ -375,6 +375,9 @@ public: void SendPlayerHPOrDie(u16 peer_id, bool die) { die ? DiePlayer(peer_id) : SendPlayerHP(peer_id); } void SendPlayerBreath(u16 peer_id); + // Envlock and conlock should be locked when calling these + void SendInventory(u16 peer_id); + // Bind address Address m_bind_addr; @@ -394,8 +397,7 @@ private: /* mark blocks not sent for all clients */ void SetBlocksNotSent(std::map& block); - // Envlock and conlock should be locked when calling these - void SendInventory(u16 peer_id); + void SendChatMessage(u16 peer_id, const std::wstring &message); void SendTimeOfDay(u16 peer_id, u16 time, f32 time_speed); void SendPlayerHP(u16 peer_id); @@ -466,7 +468,7 @@ private: void DiePlayer(u16 peer_id); void RespawnPlayer(u16 peer_id); void DeleteClient(u16 peer_id, ClientDeletionReason reason); - void UpdateCrafting(u16 peer_id); + void UpdateCrafting(Player *player); // When called, connection mutex should be locked RemoteClient* getClient(u16 peer_id,ClientState state_min=CS_Active); -- cgit v1.2.3