diff options
author | Diego MartÃnez <kaeza@users.sf.net> | 2013-04-24 07:52:46 -0300 |
---|---|---|
committer | Perttu Ahola <celeron55@gmail.com> | 2013-04-24 17:28:00 +0300 |
commit | e703c5b81f87550e636ebb1ebb1eb64027a44687 (patch) | |
tree | e79287f264f46aa1789c30afff0569f92296ca87 /src/server.cpp | |
parent | 33dd267fd9da1a89b44cd6eab590aadab0f4e335 (diff) | |
download | minetest-e703c5b81f87550e636ebb1ebb1eb64027a44687.tar.gz minetest-e703c5b81f87550e636ebb1ebb1eb64027a44687.tar.bz2 minetest-e703c5b81f87550e636ebb1ebb1eb64027a44687.zip |
Added support to disable built-in HUD elements
Diffstat (limited to 'src/server.cpp')
-rw-r--r-- | src/server.cpp | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/server.cpp b/src/server.cpp index 62c190036..a93d887e2 100644 --- a/src/server.cpp +++ b/src/server.cpp @@ -3675,6 +3675,22 @@ void Server::SendHUDChange(u16 peer_id, u32 id, HudElementStat stat, void *value m_con.Send(peer_id, 0, data, true); } +void Server::SendHUDBuiltinEnable(u16 peer_id, u32 id, bool flag) +{ + std::ostringstream os(std::ios_base::binary); + + // Write command + writeU16(os, TOCLIENT_HUD_BUILTIN_ENABLE); + writeU8(os, id); + writeU8(os, (flag ? 1 : 0)); + + // Make data buffer + std::string s = os.str(); + SharedBuffer<u8> data((u8*)s.c_str(), s.size()); + // Send as reliable + m_con.Send(peer_id, 0, data, true); +} + void Server::BroadcastChatMessage(const std::wstring &message) { for(std::map<u16, RemoteClient*>::iterator @@ -4664,6 +4680,14 @@ bool Server::hudChange(Player *player, u32 id, HudElementStat stat, void *data) return true; } +bool Server::hudBuiltinEnable(Player *player, u32 id, bool flag) { + if (!player) + return false; + + SendHUDBuiltinEnable(player->peer_id, id, flag); + return true; +} + void Server::notifyPlayers(const std::wstring msg) { BroadcastChatMessage(msg); |