diff options
author | Perttu Ahola <celeron55@gmail.com> | 2011-04-06 11:02:39 +0300 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2011-04-06 11:02:39 +0300 |
commit | 3269fce79547b667273c20d0e952557f63c5737b (patch) | |
tree | 5668804e2fa1c563e683de77726c87daa498a84b /src/server.h | |
parent | b5ace9a064eb4d4f9b4458ebb0e08d47beb8c3b8 (diff) | |
download | minetest-3269fce79547b667273c20d0e952557f63c5737b.tar.xz |
Server: Only send node removal/addition to client if client's player is near it. Otherwise set the modified blocks unsent.
Diffstat (limited to 'src/server.h')
-rw-r--r-- | src/server.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/src/server.h b/src/server.h index f1c7b6e01..4a757ad73 100644 --- a/src/server.h +++ b/src/server.h @@ -403,8 +403,15 @@ private: void SendInventory(u16 peer_id); void SendChatMessage(u16 peer_id, const std::wstring &message); void BroadcastChatMessage(const std::wstring &message); - void sendRemoveNode(v3s16 p, u16 ignore_id=0); - void sendAddNode(v3s16 p, MapNode n, u16 ignore_id=0); + /* + Send a node removal/addition event to all clients except ignore_id. + Additionally, if far_players!=NULL, players further away than + far_d_nodes are ignored and their peer_ids are added to far_players + */ + void sendRemoveNode(v3s16 p, u16 ignore_id=0, + core::list<u16> *far_players=NULL, float far_d_nodes=100); + void sendAddNode(v3s16 p, MapNode n, u16 ignore_id=0, + core::list<u16> *far_players=NULL, float far_d_nodes=100); // Environment and Connection must be locked when called void SendBlockNoLock(u16 peer_id, MapBlock *block, u8 ver); |