]> git.lizzy.rs Git - dragonfireclient.git/blobdiff - src/server.cpp
Pre-select current game in world creation dialog
[dragonfireclient.git] / src / server.cpp
index 62c1900366c0e20c581015a82a44cee190e6f5d0..d5e5051905a28fa2410b1178d26c1a113251d6f8 100644 (file)
@@ -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::SendHUDSetFlags(u16 peer_id, u32 flags, u32 mask)
+{
+       std::ostringstream os(std::ios_base::binary);
+
+       // Write command
+       writeU16(os, TOCLIENT_HUD_SET_FLAGS);
+       writeU32(os, flags);
+       writeU32(os, mask);
+
+       // 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::hudSetFlags(Player *player, u32 flags, u32 mask) {
+       if (!player)
+               return false;
+
+       SendHUDSetFlags(player->peer_id, flags, mask);
+       return true;
+}
+
 void Server::notifyPlayers(const std::wstring msg)
 {
        BroadcastChatMessage(msg);