[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:
@@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
|
||||
Reference in New Issue
Block a user