From b1fa8f8e2bca00a2b32208083dfd4275c1fe68ff Mon Sep 17 00:00:00 2001 From: luk3yx Date: Mon, 19 Jul 2021 10:07:03 +1200 Subject: [PATCH] Fix nametags being shown in first person --- src/client/camera.cpp | 2 -- src/client/content_cao.cpp | 7 ++++++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/client/camera.cpp b/src/client/camera.cpp index 7b6a8141a..6bc483129 100644 --- a/src/client/camera.cpp +++ b/src/client/camera.cpp @@ -698,8 +698,6 @@ void Camera::drawNametags() for (const Nametag *nametag : m_nametags) { // Nametags are hidden in GenericCAO::updateNametag() - if (!nametag->parent_node->isVisible()) - continue; v3f pos = nametag->parent_node->getAbsolutePosition() + nametag->pos * BS; f32 transformed_pos[4] = { pos.X, pos.Y, pos.Z, 1.0f }; diff --git a/src/client/content_cao.cpp b/src/client/content_cao.cpp index f6adbf624..ab09a190e 100644 --- a/src/client/content_cao.cpp +++ b/src/client/content_cao.cpp @@ -941,7 +941,9 @@ void GenericCAO::updateMarker() void GenericCAO::updateNametag() { - if (m_prop.nametag.empty() || m_prop.nametag_color.getAlpha() == 0) { + if (m_prop.nametag.empty() || m_prop.nametag_color.getAlpha() == 0 || + (m_is_local_player && + m_client->getCamera()->getCameraMode() == CAMERA_MODE_FIRST)) { // Delete nametag if (m_nametag) { m_client->getCamera()->removeNametag(m_nametag); @@ -1983,6 +1985,9 @@ void GenericCAO::updateMeshCulling() node->setMaterialFlag(video::EMF_FRONT_FACE_CULLING, false); } + + // Show/hide the nametag + updateNametag(); } // Prototype