Snapshot Freeze Time: add Langolier tag for new (invisible) avatars.
If an avatar TP's in while you are in Freeze Time mode, they now have a visible tag with the tag 'Langolier' in it. After exiting Freeze Time mode they become visible. Before they would stay invisible.
This commit is contained in:
@@ -2977,6 +2977,8 @@ void LLFloaterSnapshot::onClose(bool app_quitting)
|
||||
// Set invisible so it doesn't eat tooltips. JC
|
||||
gSnapshotFloaterView->setVisible(FALSE);
|
||||
gSavedSettings.setBOOL("SnapshotBtnState", FALSE);
|
||||
gSavedSettings.setBOOL("UseFreezeTime", FALSE);
|
||||
impl.updateLayout(this);
|
||||
destroy();
|
||||
}
|
||||
|
||||
|
||||
@@ -4421,6 +4421,10 @@ public:
|
||||
}
|
||||
|
||||
}
|
||||
else if (avatar->isLangolier())
|
||||
{
|
||||
skip_check = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (!skip_check && vobj->lineSegmentIntersect(mStart, mEnd, -1, mPickTransparent, mFaceHit, &intersection, mTexCoord, mNormal, mBinormal))
|
||||
|
||||
@@ -1011,7 +1011,7 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,
|
||||
mAttachmentGeometryBytes(0),
|
||||
mAttachmentSurfaceArea(0.f),
|
||||
mTurning(FALSE),
|
||||
mFreezeTimeHidden(freeze_time),
|
||||
mFreezeTimeLangolier(freeze_time),
|
||||
mFreezeTimeDead(false),
|
||||
mPelvisToFoot(0.f),
|
||||
mLastSkeletonSerialNum( 0 ),
|
||||
@@ -1238,7 +1238,7 @@ LLVOAvatar::~LLVOAvatar()
|
||||
void LLVOAvatar::markDead()
|
||||
{
|
||||
static const LLCachedControl<bool> freeze_time("FreezeTime", false);
|
||||
if (freeze_time && !mFreezeTimeHidden)
|
||||
if (freeze_time && !mFreezeTimeLangolier)
|
||||
{
|
||||
// Delay the call to this function until FreezeTime is reset, otherwise avatars disappear from the frozen scene.
|
||||
mFreezeTimeDead = true;
|
||||
@@ -2884,11 +2884,6 @@ void LLVOAvatar::idleUpdate(LLAgent &agent, LLWorld &world, const F64 &time)
|
||||
return;
|
||||
}
|
||||
|
||||
if (mFreezeTimeHidden)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
checkTextureLoading() ;
|
||||
|
||||
// force immediate pixel area update on avatars using last frames data (before drawable or camera updates)
|
||||
@@ -3682,6 +3677,7 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
|
||||
}
|
||||
bool is_friend = LLAvatarTracker::instance().isBuddy(getID());
|
||||
bool is_cloud = getIsCloud();
|
||||
bool is_langolier = isLangolier();
|
||||
|
||||
if (is_appearance != mNameAppearance)
|
||||
{
|
||||
@@ -3707,7 +3703,8 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
|
||||
|| is_muted != mNameMute
|
||||
|| is_appearance != mNameAppearance
|
||||
|| is_friend != mNameFriend
|
||||
|| is_cloud != mNameCloud)
|
||||
|| is_cloud != mNameCloud
|
||||
|| is_langolier != mNameLangolier)
|
||||
{
|
||||
LLColor4 name_tag_color = getNameTagColor(is_friend);
|
||||
|
||||
@@ -3717,7 +3714,7 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
|
||||
std::string firstnameText;
|
||||
std::string lastnameText;
|
||||
|
||||
if (is_away || is_muted || is_busy || is_appearance || !idle_string.empty())
|
||||
if (is_away || is_muted || is_busy || is_appearance || is_langolier || !idle_string.empty())
|
||||
{
|
||||
std::string line;
|
||||
if (is_away)
|
||||
@@ -3740,7 +3737,12 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
|
||||
line += LLTrans::getString("AvatarEditingAppearance"); //"(Editing Appearance)"
|
||||
line += ", ";
|
||||
}
|
||||
if (is_cloud)
|
||||
if (is_langolier)
|
||||
{
|
||||
line += LLTrans::getString("AvatarLangolier"); //"Langolier"
|
||||
line += ", ";
|
||||
}
|
||||
else if (is_cloud)
|
||||
{
|
||||
line += LLTrans::getString("LoadingData"); //"Loading..."
|
||||
line += ", ";
|
||||
@@ -3867,6 +3869,7 @@ void LLVOAvatar::idleUpdateNameTagText(BOOL new_name)
|
||||
mNameAppearance = is_appearance;
|
||||
mNameFriend = is_friend;
|
||||
mNameCloud = is_cloud;
|
||||
mNameLangolier = is_langolier;
|
||||
mTitle = title ? title->getString() : "";
|
||||
LLStringFn::replace_ascii_controlchars(mTitle,LL_UNKNOWN_CHAR);
|
||||
new_name = TRUE;
|
||||
@@ -4104,13 +4107,14 @@ bool LLVOAvatar::isVisuallyMuted() const
|
||||
|
||||
return LLMuteList::getInstance()->isMuted(getID()) ||
|
||||
(mAttachmentGeometryBytes > max_attachment_bytes && max_attachment_bytes > 0) ||
|
||||
(mAttachmentSurfaceArea > max_attachment_area && max_attachment_area > 0.f);
|
||||
(mAttachmentSurfaceArea > max_attachment_area && max_attachment_area > 0.f) ||
|
||||
isLangolier();
|
||||
}
|
||||
|
||||
void LLVOAvatar::resetFreezeTime()
|
||||
{
|
||||
bool dead = mFreezeTimeDead;
|
||||
mFreezeTimeHidden = mFreezeTimeDead = false;
|
||||
mFreezeTimeLangolier = mFreezeTimeDead = false;
|
||||
if (dead)
|
||||
{
|
||||
markDead();
|
||||
@@ -7591,7 +7595,7 @@ void LLVOAvatar::updateRuthTimer(bool loading)
|
||||
return;
|
||||
}
|
||||
|
||||
if (mPreviousFullyLoaded || mFreezeTimeHidden)
|
||||
if (mPreviousFullyLoaded)
|
||||
{
|
||||
mRuthTimer.reset();
|
||||
debugAvatarRezTime("AvatarRezCloudNotification","became cloud");
|
||||
|
||||
@@ -341,6 +341,7 @@ public:
|
||||
BOOL hasGray() const;
|
||||
S32 getRezzedStatus() const; // 0 = cloud, 1 = gray, 2 = fully textured.
|
||||
void updateRezzedStatusTimers();
|
||||
bool isLangolier() const { return mFreezeTimeLangolier; }
|
||||
bool isFrozenDead() const { return mFreezeTimeDead; }
|
||||
|
||||
S32 mLastRezzedStatus;
|
||||
@@ -359,7 +360,7 @@ private:
|
||||
S32 mVisualComplexity;
|
||||
LLFrameTimer mFullyLoadedTimer;
|
||||
LLFrameTimer mRuthTimer;
|
||||
bool mFreezeTimeHidden; // True when this object was created during snapshot FreezeTime mode, and that mode is STILL active.
|
||||
bool mFreezeTimeLangolier; // True when this avatar was created during snapshot FreezeTime mode, and that mode is still active.
|
||||
bool mFreezeTimeDead; // True when the avatar was marked dead (ie, TP-ed away) while in FreezeTime mode.
|
||||
protected:
|
||||
LLFrameTimer mInvisibleTimer;
|
||||
@@ -1016,6 +1017,7 @@ private:
|
||||
bool mNameAppearance;
|
||||
bool mNameFriend;
|
||||
bool mNameCloud;
|
||||
bool mNameLangolier;
|
||||
F32 mNameAlpha;
|
||||
BOOL mRenderGroupTitles;
|
||||
|
||||
|
||||
@@ -196,6 +196,7 @@
|
||||
<string name="AvatarAway">Away</string>
|
||||
<string name="AvatarBusy">Busy</string>
|
||||
<string name="AvatarMuted">Muted</string>
|
||||
<string name="AvatarLangolier">Langolier</string>
|
||||
|
||||
<!-- animations -->
|
||||
<string name="anim_express_afraid">Afraid</string>
|
||||
|
||||
Reference in New Issue
Block a user