In FreezeTime mode, keep avatars that TP away.

If an avatar TP's away (or quits), he will not
disappear anymore from a frozen scene. Unfreezing
makes him disappear of course (and clean up).

Known bug: if during Freeze Time mode someone
TPs away and then back, then he becomes a cloud
after Freeze Time is ended, which can only be
reset by another teleport (or relog) from either
the cloud or the one seeing him as cloud.
I decided not to fix this, cause there are things
with a higher priority and this - if it happens
at all - is rare and easy to recognize and work
around.
This commit is contained in:
Aleric Inglewood
2012-12-15 21:53:08 +01:00
parent e0c0da7dff
commit a9963bcdb3
5 changed files with 37 additions and 19 deletions

View File

@@ -62,7 +62,7 @@ class LLCharacter
{
public:
// Constructor
LLCharacter(bool freeze_time);
LLCharacter();
// Destructor
virtual ~LLCharacter();
@@ -277,8 +277,6 @@ public:
static std::vector< LLCharacter* > sInstances;
static BOOL sAllowInstancesChange ; //debug use
void resetFreezeTimeHidden() { mFreezeTimeHidden = false; }
protected:
LLMotionController mMotionController;
@@ -290,7 +288,6 @@ protected:
U32 mAppearanceSerialNum;
U32 mSkeletonSerialNum;
LLAnimPauseRequest mPauseRequest;
bool mFreezeTimeHidden; // True when this object was created during snapshot FreezeTime mode, and that mode is STILL active.
private:
// visual parameter stuff