aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
diff options
context:
space:
mode:
authorMW2007-09-06 14:15:16 +0000
committerMW2007-09-06 14:15:16 +0000
commit804e87861b95f08590cff8a84a4b9955f1750452 (patch)
tree2a9c6fcdf1ae6236f495f8f8012ae069c1011f5f /OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
parentfixed mantis bug 375 (copy broken with physics/ODE enabled) (diff)
downloadopensim-SC_OLD-804e87861b95f08590cff8a84a4b9955f1750452.zip
opensim-SC_OLD-804e87861b95f08590cff8a84a4b9955f1750452.tar.gz
opensim-SC_OLD-804e87861b95f08590cff8a84a4b9955f1750452.tar.bz2
opensim-SC_OLD-804e87861b95f08590cff8a84a4b9955f1750452.tar.xz
added experimental method of trying to relieve missing prim problem (by adding a limit of the number of prim update packets sent in each update loop).
Diffstat (limited to 'OpenSim/Region/Environment/Scenes/SceneObjectPart.cs')
-rw-r--r--OpenSim/Region/Environment/Scenes/SceneObjectPart.cs34
1 files changed, 32 insertions, 2 deletions
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index 65a995a..dec017e 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -391,14 +391,14 @@ namespace OpenSim.Region.Environment.Scenes
391 { 391 {
392 if (m_updateFlag == 1) //some change has been made so update the clients 392 if (m_updateFlag == 1) //some change has been made so update the clients
393 { 393 {
394 SendTerseUpdateToAllClients(); 394 AddTerseUpdateToAllAvatars();
395 ClearUpdateSchedule(); 395 ClearUpdateSchedule();
396 } 396 }
397 else 397 else
398 { 398 {
399 if (m_updateFlag == 2) // is a new prim, just created/reloaded or has major changes 399 if (m_updateFlag == 2) // is a new prim, just created/reloaded or has major changes
400 { 400 {
401 SendFullUpdateToAllClients(); 401 AddFullUpdateToAllAvatars();
402 ClearUpdateSchedule(); 402 ClearUpdateSchedule();
403 } 403 }
404 } 404 }
@@ -603,6 +603,20 @@ namespace OpenSim.Region.Environment.Scenes
603 #endregion 603 #endregion
604 604
605 #region Client Update Methods 605 #region Client Update Methods
606 public void AddFullUpdateToAllAvatars()
607 {
608 List<ScenePresence> avatars = this.m_parentGroup.RequestSceneAvatars();
609 for (int i = 0; i < avatars.Count; i++)
610 {
611 avatars[i].AddFullPart(this);
612 }
613 }
614
615 public void AddFullUpdateToAvatar(ScenePresence presence)
616 {
617 presence.AddFullPart(this);
618 }
619
606 /// <summary> 620 /// <summary>
607 /// 621 ///
608 /// </summary> 622 /// </summary>
@@ -649,6 +663,22 @@ namespace OpenSim.Region.Environment.Scenes
649 m_text, ParentID, this.m_particleSystem, lRot); 663 m_text, ParentID, this.m_particleSystem, lRot);
650 } 664 }
651 665
666 /// Terse updates
667
668 public void AddTerseUpdateToAllAvatars()
669 {
670 List<ScenePresence> avatars = this.m_parentGroup.RequestSceneAvatars();
671 for (int i = 0; i < avatars.Count; i++)
672 {
673 avatars[i].AddTersePart(this);
674 }
675 }
676
677 public void AddTerseUpdateToAvatar(ScenePresence presence)
678 {
679 presence.AddTersePart(this);
680 }
681
652 /// <summary> 682 /// <summary>
653 /// 683 ///
654 /// </summary> 684 /// </summary>