From 841364746381175dfae42d16ef1829abb78b4c93 Mon Sep 17 00:00:00 2001 From: Christian Semmler Date: Sat, 28 Mar 2026 14:30:18 -0700 Subject: [PATCH] Fix local player name bubble not following large vehicles In large vehicles the third-person camera display ROI is frozen at the entry position, so the name bubble stayed there. Fall back to the actual UserActor ROI when the camera controller is inactive due to a large vehicle, matching how remote players already handle this. Co-Authored-By: Claude Opus 4.6 (1M context) --- extensions/src/multiplayer/networkmanager.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/extensions/src/multiplayer/networkmanager.cpp b/extensions/src/multiplayer/networkmanager.cpp index 4310a2cf..dcc572ec 100644 --- a/extensions/src/multiplayer/networkmanager.cpp +++ b/extensions/src/multiplayer/networkmanager.cpp @@ -154,8 +154,20 @@ MxResult NetworkManager::Tickle() } // Update local name bubble position - if (m_localNameBubble && cam->GetDisplayROI()) { - m_localNameBubble->Update(cam->GetDisplayROI()); + if (m_localNameBubble) { + LegoROI* bubbleROI = cam->GetDisplayROI(); + + // In large vehicles the display ROI is frozen; use the actual actor ROI instead + if (cam->IsInVehicle() && !cam->IsActive()) { + LegoPathActor* userActor = UserActor(); + if (userActor) { + bubbleROI = userActor->GetROI(); + } + } + + if (bubbleROI) { + m_localNameBubble->Update(bubbleROI); + } } }