From a4e3ed013611aead302a82836d5702640b2811a0 Mon Sep 17 00:00:00 2001
From: est31 <MTest31@outlook.com>
Date: Sun, 22 Nov 2015 16:15:47 +0100
Subject: [PATCH] Update HUD flags on server like on client

Fixes bug for which commit

6c37e89f08f962eaba788a31f5d3c798ceaa65e6 "Fix old client showing duplicated health bar on new server"
by @sapier

laid the groundwork, where the server has
updated its copy of the hud flags without
respecting the mask.

Fixes #3395.
---
 src/server.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/server.cpp b/src/server.cpp
index f6faccb1f..86096055d 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -3034,7 +3034,8 @@ bool Server::hudSetFlags(Player *player, u32 flags, u32 mask)
 		return false;
 
 	SendHUDSetFlags(player->peer_id, flags, mask);
-	player->hud_flags = flags;
+	player->hud_flags &= ~mask;
+	player->hud_flags |= flags;
 
 	PlayerSAO* playersao = player->getPlayerSAO();
 
-- 
GitLab