[RLVa] Hide avatar-render-specific ui for people who are out of camavdist

Hides lookat lines, nametags, and overhead voice indicators for hidden avs.
While this isn't necessarily according to spec, this keeps the ui from looking out of place with no avatar to show with it

View without space changes? Meh, doesn't matter so much.
This commit is contained in:
Inusaito Sayori
2015-06-04 12:21:49 -04:00
parent 9f388fd7b8
commit a0fb5cdaa7
2 changed files with 18 additions and 4 deletions

View File

@@ -545,9 +545,13 @@ void LLHUDEffectLookAt::render()
const std::string targname = (*mAttentions)[mTargetType].mName;
if (targname != "None" && targname != "Idle" && targname != "AutoListen")
{
LLVector3 dist = (mSourceObject->getWorldPosition() - mTargetPos) * 10/3;
gGL.vertex3f(0.f, 0.f, 0.f);
gGL.vertex3f(dist.mV[VX], dist.mV[VY], dist.mV[VZ] + 0.5f);
const LLVector3& source_pos(mSourceObject->getWorldPosition());
if (!gRlvHandler.hasBehaviour(RLV_BHVR_CAMAVDIST) || (gAgent.getPosGlobalFromAgent(source_pos) - gAgent.getPositionGlobal()).magVec() <= gRlvHandler.camPole(RLV_BHVR_CAMAVDIST))
{
LLVector3 dist = (source_pos - mTargetPos) * 10/3;
gGL.vertex3f(0.f, 0.f, 0.f);
gGL.vertex3f(dist.mV[VX], dist.mV[VY], dist.mV[VZ] + 0.5f);
}
}
}
}

View File

@@ -2593,7 +2593,7 @@ void LLVOAvatar::idleUpdateVoiceVisualizer(bool voice_enabled)
render_visualizer = false;
}
}
else if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMETAGS)) // RLVa:LF - You get nothing now!
else if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMETAGS) || (gRlvHandler.hasBehaviour(RLV_BHVR_CAMAVDIST) && (gAgent.getPosGlobalFromAgent(getCharacterPosition()) - gAgent.getPosGlobalFromAgent(gAgentAvatarp->getRenderPosition())).magVec() > gRlvHandler.camPole(RLV_BHVR_CAMAVDIST))) // RLVa:LF - You get nothing now!
{
render_visualizer = false;
}
@@ -3079,6 +3079,11 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
// [RLVa:KB] - Checked: 2010-04-04 (RLVa-1.2.2a) | Added: RLVa-0.2.0b
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMETAGS))
return; // No tags
if (gRlvHandler.hasBehaviour(RLV_BHVR_CAMAVDIST) && (gAgent.getPosGlobalFromAgent(getCharacterPosition()) - gAgent.getPosGlobalFromAgent(gAgentAvatarp->getRenderPosition())).magVec() > gRlvHandler.camPole(RLV_BHVR_CAMAVDIST))
{
clearNameTag(); // Dynamically remove this avatar's tag
return;
}
bool fRlvShowNames = gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES);
// [/RLVa:KB]
BOOL visible_avatar = isVisible() || mNeedsAnimUpdate;
@@ -3283,6 +3288,11 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
// [RLVa:KB] - Checked: 2010-10-31 (RLVa-1.2.2a) | Added: RLVa-1.2.2a
if (gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMETAGS))
return; // No tags
if (gRlvHandler.hasBehaviour(RLV_BHVR_CAMAVDIST) && (gAgent.getPosGlobalFromAgent(getCharacterPosition()) - gAgent.getPosGlobalFromAgent(gAgentAvatarp->getRenderPosition())).magVec() > gRlvHandler.camPole(RLV_BHVR_CAMAVDIST))
{
clearNameTag(); // Dynamically remove this avatar's tag
return;
}
bool fRlvShowNames = gRlvHandler.hasBehaviour(RLV_BHVR_SHOWNAMES);
// [/RLVa:KB]
bool is_away = mSignaledAnimations.find(ANIM_AGENT_AWAY) != mSignaledAnimations.end();