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 82214bf..a1c80e5 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -2418,30 +2418,44 @@ namespace OpenSim.Region.Framework.Scenes
2418 // the inventory arrives 2418 // the inventory arrives
2419 // m_scene.GetAvatarAppearance(m_controllingClient, out m_appearance); 2419 // m_scene.GetAvatarAppearance(m_controllingClient, out m_appearance);
2420 2420
2421 // This agent just became root. We are going to tell everyone about it. The process of 2421 bool cachedappearance = false;
2422 // getting other avatars information was initiated in the constructor... don't do it
2423 // again here...
2424 SendAvatarDataToAllAgents();
2425 2422
2426 // We have an appearance but we may not have the baked textures. Check the asset cache 2423 // We have an appearance but we may not have the baked textures. Check the asset cache
2427 // to see if all the baked textures are already here. 2424 // to see if all the baked textures are already here.
2428 if (m_scene.AvatarFactory != null) 2425 if (m_scene.AvatarFactory != null)
2429 { 2426 {
2430 if (m_scene.AvatarFactory.ValidateBakedTextureCache(m_controllingClient)) 2427 cachedappearance = m_scene.AvatarFactory.ValidateBakedTextureCache(m_controllingClient);
2431 {
2432// m_log.WarnFormat("[SCENEPRESENCE]: baked textures are in the cache for {0}", Name);
2433 SendAppearanceToAgent(this);
2434
2435 // If the avatars baked textures are all in the cache, then we have a
2436 // complete appearance... send it out, if not, then we'll send it when
2437 // the avatar finishes updating its appearance
2438 SendAppearanceToAllOtherAgents();
2439 }
2440 } 2428 }
2441 else 2429 else
2442 { 2430 {
2443 m_log.WarnFormat("[SCENEPRESENCE]: AvatarFactory not set for {0}", Name); 2431 m_log.WarnFormat("[SCENEPRESENCE]: AvatarFactory not set for {0}", Name);
2444 } 2432 }
2433
2434 // If we aren't using a cached appearance, then clear out the baked textures
2435 if (! cachedappearance)
2436 {
2437 m_appearance.ResetAppearance();
2438 if (m_scene.AvatarFactory != null)
2439 m_scene.AvatarFactory.QueueAppearanceSave(UUID);
2440 }
2441
2442 // This agent just became root. We are going to tell everyone about it. The process of
2443 // getting other avatars information was initiated in the constructor... don't do it
2444 // again here... this comes after the cached appearance check because the avatars
2445 // appearance goes into the avatar update packet
2446 SendAvatarDataToAllAgents();
2447 SendAppearanceToAgent(this);
2448
2449 // If we are using the the cached appearance then send it out to everyone
2450 if (cachedappearance)
2451 {
2452 m_log.InfoFormat("[SCENEPRESENCE]: baked textures are in the cache for {0}", Name);
2453
2454 // If the avatars baked textures are all in the cache, then we have a
2455 // complete appearance... send it out, if not, then we'll send it when
2456 // the avatar finishes updating its appearance
2457 SendAppearanceToAllOtherAgents();
2458 }
2445 } 2459 }
2446 2460
2447 /// <summary> 2461 /// <summary>
@@ -2501,7 +2515,7 @@ namespace OpenSim.Region.Framework.Scenes
2501 /// Send avatar data to an agent. 2515 /// Send avatar data to an agent.
2502 /// </summary> 2516 /// </summary>
2503 /// <param name="avatar"></param> 2517 /// <param name="avatar"></param>
2504 private void SendAvatarDataToAgent(ScenePresence avatar) 2518 public void SendAvatarDataToAgent(ScenePresence avatar)
2505 { 2519 {
2506// m_log.WarnFormat("[SP] Send avatar data from {0} to {1}",m_uuid,avatar.ControllingClient.AgentId); 2520// m_log.WarnFormat("[SP] Send avatar data from {0} to {1}",m_uuid,avatar.ControllingClient.AgentId);
2507 2521
@@ -2569,7 +2583,7 @@ namespace OpenSim.Region.Framework.Scenes
2569 /// Send appearance data to an agent. 2583 /// Send appearance data to an agent.
2570 /// </summary> 2584 /// </summary>
2571 /// <param name="avatar"></param> 2585 /// <param name="avatar"></param>
2572 private void SendAppearanceToAgent(ScenePresence avatar) 2586 public void SendAppearanceToAgent(ScenePresence avatar)
2573 { 2587 {
2574// m_log.WarnFormat("[SP] Send appearance from {0} to {1}",m_uuid,avatar.ControllingClient.AgentId); 2588// m_log.WarnFormat("[SP] Send appearance from {0} to {1}",m_uuid,avatar.ControllingClient.AgentId);
2575 2589