diff options
Diffstat (limited to '')
-rw-r--r-- | OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | 7 | ||||
-rw-r--r-- | OpenSim/Region/Framework/Scenes/ScenePresence.cs | 13 |
2 files changed, 15 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index f2f7cf9..b7a4b93 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -5142,7 +5142,12 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
5142 | acceleration = Vector3.Zero; | 5142 | acceleration = Vector3.Zero; |
5143 | 5143 | ||
5144 | if (sendTexture) | 5144 | if (sendTexture) |
5145 | textureEntry = presence.Appearance.Texture.GetBytes(); | 5145 | { |
5146 | if (presence.Invisible) | ||
5147 | textureEntry = AvatarAppearance.Invisible.GetBytes(); | ||
5148 | else | ||
5149 | textureEntry = presence.Appearance.Texture.GetBytes(); | ||
5150 | } | ||
5146 | else | 5151 | else |
5147 | textureEntry = null; | 5152 | textureEntry = null; |
5148 | } | 5153 | } |
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs index 7086b52..5a3e554 100644 --- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs +++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs | |||
@@ -90,6 +90,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
90 | 90 | ||
91 | public bool isNPC { get; private set; } | 91 | public bool isNPC { get; private set; } |
92 | 92 | ||
93 | public bool Invisible { get; set; } | ||
93 | private PresenceType m_presenceType; | 94 | private PresenceType m_presenceType; |
94 | public PresenceType PresenceType { | 95 | public PresenceType PresenceType { |
95 | get {return m_presenceType;} | 96 | get {return m_presenceType;} |
@@ -949,6 +950,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
949 | public ScenePresence( | 950 | public ScenePresence( |
950 | IClientAPI client, Scene world, AvatarAppearance appearance, PresenceType type) | 951 | IClientAPI client, Scene world, AvatarAppearance appearance, PresenceType type) |
951 | { | 952 | { |
953 | Invisible = false; | ||
952 | AttachmentsSyncLock = new Object(); | 954 | AttachmentsSyncLock = new Object(); |
953 | AllowMovement = true; | 955 | AllowMovement = true; |
954 | IsChildAgent = true; | 956 | IsChildAgent = true; |
@@ -3709,14 +3711,17 @@ namespace OpenSim.Region.Framework.Scenes | |||
3709 | // "[SCENE PRESENCE]: Sending appearance data from {0} {1} to {2} {3}", Name, m_uuid, avatar.Name, avatar.UUID); | 3711 | // "[SCENE PRESENCE]: Sending appearance data from {0} {1} to {2} {3}", Name, m_uuid, avatar.Name, avatar.UUID); |
3710 | if (ParcelHideThisAvatar && currentParcelUUID != avatar.currentParcelUUID && avatar.GodLevel < 200) | 3712 | if (ParcelHideThisAvatar && currentParcelUUID != avatar.currentParcelUUID && avatar.GodLevel < 200) |
3711 | return; | 3713 | return; |
3712 | avatar.ControllingClient.SendAppearance( | 3714 | SendAppearanceToAgentNF(avatar); |
3713 | UUID, Appearance.VisualParams, Appearance.Texture.GetBytes()); | ||
3714 | } | 3715 | } |
3715 | 3716 | ||
3716 | public void SendAppearanceToAgentNF(ScenePresence avatar) | 3717 | public void SendAppearanceToAgentNF(ScenePresence avatar) |
3717 | { | 3718 | { |
3718 | avatar.ControllingClient.SendAppearance( | 3719 | if (Invisible) |
3719 | UUID, Appearance.VisualParams, Appearance.Texture.GetBytes()); | 3720 | avatar.ControllingClient.SendAppearance( |
3721 | UUID, Appearance.VisualParams, AvatarAppearance.Invisible.GetBytes()); | ||
3722 | else | ||
3723 | avatar.ControllingClient.SendAppearance( | ||
3724 | UUID, Appearance.VisualParams, Appearance.Texture.GetBytes()); | ||
3720 | } | 3725 | } |
3721 | 3726 | ||
3722 | public void SendAnimPackToAgent(ScenePresence p) | 3727 | public void SendAnimPackToAgent(ScenePresence p) |