aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs7
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs13
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)