Clamping prim settext max visible range to that of a 15^3 prim, because certain 'people' abuse megaprims to make annoying hovertext spam.

This commit is contained in:
Shyotl
2011-04-18 01:44:13 -05:00
parent 0c2ea7cc9b
commit d2291b5903

View File

@@ -809,13 +809,14 @@ void LLHUDText::updateVisibility()
return; return;
} }
if (vec_from_camera * LLViewerCamera::getInstance()->getAtAxis() <= LLViewerCamera::getInstance()->getNear() + 0.1f + mSourceObject->getVObjRadius()) F32 object_radius = llmin(mSourceObject->getVObjRadius(), 26.f); //~15x15x15 prim : sqrt((15^2) * 3) = 25.9807621. getVObjRadius is diam.
if (vec_from_camera * LLViewerCamera::getInstance()->getAtAxis() <= LLViewerCamera::getInstance()->getNear() + 0.1f + object_radius)
{ {
mPositionAgent = LLViewerCamera::getInstance()->getOrigin() + vec_from_camera * ((LLViewerCamera::getInstance()->getNear() + 0.1f) / (vec_from_camera * LLViewerCamera::getInstance()->getAtAxis())); mPositionAgent = LLViewerCamera::getInstance()->getOrigin() + vec_from_camera * ((LLViewerCamera::getInstance()->getNear() + 0.1f) / (vec_from_camera * LLViewerCamera::getInstance()->getAtAxis()));
} }
else else
{ {
mPositionAgent -= dir_from_camera * mSourceObject->getVObjRadius(); mPositionAgent -= dir_from_camera * object_radius;
} }
mLastDistance = (mPositionAgent - LLViewerCamera::getInstance()->getOrigin()).magVec(); mLastDistance = (mPositionAgent - LLViewerCamera::getInstance()->getOrigin()).magVec();