aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework')
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs46
1 files changed, 30 insertions, 16 deletions
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 24c809b..5a842d8 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2773,30 +2773,44 @@ namespace OpenSim.Region.Framework.Scenes
2773 // the inventory arrives 2773 // the inventory arrives
2774 // m_scene.GetAvatarAppearance(m_controllingClient, out m_appearance); 2774 // m_scene.GetAvatarAppearance(m_controllingClient, out m_appearance);
2775 2775
2776 // This agent just became root. We are going to tell everyone about it. The process of 2776 bool cachedappearance = false;
2777 // getting other avatars information was initiated in the constructor... don't do it
2778 // again here...
2779 SendAvatarDataToAllAgents();
2780 2777
2781 // We have an appearance but we may not have the baked textures. Check the asset cache 2778 // We have an appearance but we may not have the baked textures. Check the asset cache
2782 // to see if all the baked textures are already here. 2779 // to see if all the baked textures are already here.
2783 if (m_scene.AvatarFactory != null) 2780 if (m_scene.AvatarFactory != null)
2784 { 2781 {
2785 if (m_scene.AvatarFactory.ValidateBakedTextureCache(m_controllingClient)) 2782 cachedappearance = m_scene.AvatarFactory.ValidateBakedTextureCache(m_controllingClient);
2786 {
2787// m_log.WarnFormat("[SCENEPRESENCE]: baked textures are in the cache for {0}", Name);
2788 SendAppearanceToAgent(this);
2789
2790 // If the avatars baked textures are all in the cache, then we have a
2791 // complete appearance... send it out, if not, then we'll send it when
2792 // the avatar finishes updating its appearance
2793 SendAppearanceToAllOtherAgents();
2794 }
2795 } 2783 }
2796 else 2784 else
2797 { 2785 {
2798 m_log.WarnFormat("[SCENEPRESENCE]: AvatarFactory not set for {0}", Name); 2786 m_log.WarnFormat("[SCENEPRESENCE]: AvatarFactory not set for {0}", Name);
2799 } 2787 }
2788
2789 // If we aren't using a cached appearance, then clear out the baked textures
2790 if (! cachedappearance)
2791 {
2792 m_appearance.ResetBakedTextures();
2793 if (m_scene.AvatarFactory != null)
2794 m_scene.AvatarFactory.QueueAppearanceSave(UUID);
2795 }
2796
2797 // This agent just became root. We are going to tell everyone about it. The process of
2798 // getting other avatars information was initiated in the constructor... don't do it
2799 // again here... this comes after the cached appearance check because the avatars
2800 // appearance goes into the avatar update packet
2801 SendAvatarDataToAllAgents();
2802
2803 // If we are using the the cached appearance then send it out to everyone
2804 if (cachedappearance)
2805 {
2806 m_log.WarnFormat("[SCENEPRESENCE]: baked textures are in the cache for {0}", Name);
2807 SendAppearanceToAgent(this);
2808
2809 // If the avatars baked textures are all in the cache, then we have a
2810 // complete appearance... send it out, if not, then we'll send it when
2811 // the avatar finishes updating its appearance
2812 SendAppearanceToAllOtherAgents();
2813 }
2800 } 2814 }
2801 2815
2802 /// <summary> 2816 /// <summary>
@@ -2856,7 +2870,7 @@ namespace OpenSim.Region.Framework.Scenes
2856 /// Send avatar data to an agent. 2870 /// Send avatar data to an agent.
2857 /// </summary> 2871 /// </summary>
2858 /// <param name="avatar"></param> 2872 /// <param name="avatar"></param>
2859 private void SendAvatarDataToAgent(ScenePresence avatar) 2873 public void SendAvatarDataToAgent(ScenePresence avatar)
2860 { 2874 {
2861// m_log.WarnFormat("[SP] Send avatar data from {0} to {1}",m_uuid,avatar.ControllingClient.AgentId); 2875// m_log.WarnFormat("[SP] Send avatar data from {0} to {1}",m_uuid,avatar.ControllingClient.AgentId);
2862 2876
@@ -2924,7 +2938,7 @@ namespace OpenSim.Region.Framework.Scenes
2924 /// Send appearance data to an agent. 2938 /// Send appearance data to an agent.
2925 /// </summary> 2939 /// </summary>
2926 /// <param name="avatar"></param> 2940 /// <param name="avatar"></param>
2927 private void SendAppearanceToAgent(ScenePresence avatar) 2941 public void SendAppearanceToAgent(ScenePresence avatar)
2928 { 2942 {
2929// m_log.WarnFormat("[SP] Send appearance from {0} to {1}",m_uuid,avatar.ControllingClient.AgentId); 2943// m_log.WarnFormat("[SP] Send appearance from {0} to {1}",m_uuid,avatar.ControllingClient.AgentId);
2930 2944