From f24116ed018381afc6ee0b4f687631988f2ba9b0 Mon Sep 17 00:00:00 2001 From: cx384 Date: Thu, 1 Feb 2024 17:38:06 +0100 Subject: [PATCH] Replace hasElementOfType with protocol version --- src/client/hud.cpp | 11 ++--------- src/network/networkprotocol.h | 2 +- 2 files changed, 3 insertions(+), 10 deletions(-) diff --git a/src/client/hud.cpp b/src/client/hud.cpp index 7276df7e9..65f47a8a4 100644 --- a/src/client/hud.cpp +++ b/src/client/hud.cpp @@ -369,20 +369,13 @@ void Hud::drawLuaElements(const v3s16 &camera_offset, bool draw_crosshairs) elems.insert(it, e); } - // Legacy (Remove this when version 5.8.0 and older is not supported anymore.) - // If a new client connects to a sever version 5.8.0 and older some HUD elements - // are not hard coded in the client code anymore, but handled in builtin. - // So the client must add them again. - - // Crosshair - if ((player->hud_flags & HUD_FLAG_CROSSHAIR_VISIBLE) && !hasElementOfType(HUD_ELEM_CROSSHAIR)) { + // Add builtin cosshair if the server doesn't send it. + if (client->getProtoVersion() < 44 && (player->hud_flags & HUD_FLAG_CROSSHAIR_VISIBLE)) { HudElement crosshair{HUD_ELEM_CROSSHAIR, v2f(0.5, 0.5), "", v2f(1, 1), "", 0 , 0, 0, v2f(), v2f(), v3f(), v2s32(), 0, "", 0}; elems.push_back(&crosshair); } - // End of legacy support code. - for (HudElement *e : elems) { v2s32 pos(floor(e->pos.X * (float) m_screensize.X + 0.5), diff --git a/src/network/networkprotocol.h b/src/network/networkprotocol.h index add80b3b2..105d82ecc 100644 --- a/src/network/networkprotocol.h +++ b/src/network/networkprotocol.h @@ -222,7 +222,7 @@ with this program; if not, write to the Free Software Foundation, Inc., PROTOCOL VERSION 44: AO_CMD_SET_BONE_POSITION extended Add TOCLIENT_MOVE_PLAYER_REL - Move default minimap from client-side C++ to server-side builtin Lua + Move default minimap and crosshair from client-side C++ to server-side builtin Lua [scheduled bump for 5.9.0] */