MAINT-6110 FIXED No hovertext (PRIM_TEXT/llSetText) on child prim

meow-7.2.2
Mnikolenko ProductEngine 2016-03-09 15:25:58 +02:00
parent 1a92e10320
commit 9197a8652e
1 changed files with 7 additions and 11 deletions

View File

@ -374,7 +374,7 @@ void LLHUDText::updateVisibility()
mVisible = FALSE;
return;
}
if (vec_from_camera * LLViewerCamera::getInstance()->getAtAxis() <= LLViewerCamera::getInstance()->getNear() + 0.1f + mSourceObject->getVObjRadius())
{
mPositionAgent = LLViewerCamera::getInstance()->getOrigin() + vec_from_camera * ((LLViewerCamera::getInstance()->getNear() + 0.1f) / (vec_from_camera * LLViewerCamera::getInstance()->getAtAxis()));
@ -384,21 +384,17 @@ void LLHUDText::updateVisibility()
mPositionAgent -= dir_from_camera * mSourceObject->getVObjRadius();
}
if (!mTextSegments.size())
mLastDistance = (mPositionAgent - LLViewerCamera::getInstance()->getOrigin()).magVec();
if (!mTextSegments.size() || (mDoFade && (mLastDistance > mFadeDistance + mFadeRange)))
{
mVisible = FALSE;
return;
}
mLastDistance = (mPositionAgent - LLViewerCamera::getInstance()->getOrigin()).magVec();
F32 obj_dist = dist_vec(mSourceObject->getPositionEdit(), LLViewerCamera::getInstance()->getOrigin());
if(mSourceObject->isAttachment())
{
LLViewerObject* parent = (LLViewerObject*)mSourceObject->getRoot();
obj_dist = dist_vec(parent->getPositionEdit(), LLViewerCamera::getInstance()->getOrigin());
}
if ((mDoFade && (mLastDistance > mFadeDistance + mFadeRange)) || (obj_dist > MAX_DRAW_DISTANCE))
LLVector3 pos_agent_center = gAgent.getPosAgentFromGlobal(mPositionGlobal) - dir_from_camera;
F32 last_distance_center = (pos_agent_center - LLViewerCamera::getInstance()->getOrigin()).magVec();
if(last_distance_center > MAX_DRAW_DISTANCE)
{
mVisible = FALSE;
return;