aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorUbitUmarov2012-05-12 15:27:37 +0100
committerUbitUmarov2012-05-12 15:27:37 +0100
commit7461fe4554f8104212071e3e01b07786f8eb546f (patch)
treea2615f5f2ee712baae0a2d3ec3c8f0e5e851f39d
parentMerge branch 'avination' into ubitwork (diff)
downloadopensim-SC_OLD-7461fe4554f8104212071e3e01b07786f8eb546f.zip
opensim-SC_OLD-7461fe4554f8104212071e3e01b07786f8eb546f.tar.gz
opensim-SC_OLD-7461fe4554f8104212071e3e01b07786f8eb546f.tar.bz2
opensim-SC_OLD-7461fe4554f8104212071e3e01b07786f8eb546f.tar.xz
ªTEST MESS* reduce animation packets send. Added onchangeanim event with parameters to define if to add or remove, and if to send anims pack on that evocation, etc
-rw-r--r--OpenSim/Framework/IClientAPI.cs3
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs22
-rw-r--r--OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs20
-rw-r--r--OpenSim/Region/Framework/Scenes/ScenePresence.cs8
-rw-r--r--OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs1
-rw-r--r--OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs1
-rw-r--r--OpenSim/Tests/Common/Mock/TestClient.cs1
7 files changed, 53 insertions, 3 deletions
diff --git a/OpenSim/Framework/IClientAPI.cs b/OpenSim/Framework/IClientAPI.cs
index 2be78da..c1bd078 100644
--- a/OpenSim/Framework/IClientAPI.cs
+++ b/OpenSim/Framework/IClientAPI.cs
@@ -70,6 +70,8 @@ namespace OpenSim.Framework
70 70
71 public delegate void StopAnim(IClientAPI remoteClient, UUID animID); 71 public delegate void StopAnim(IClientAPI remoteClient, UUID animID);
72 72
73 public delegate void ChangeAnim(UUID animID, bool addOrRemove, bool sendPack);
74
73 public delegate void LinkObjects(IClientAPI remoteClient, uint parent, List<uint> children); 75 public delegate void LinkObjects(IClientAPI remoteClient, uint parent, List<uint> children);
74 76
75 public delegate void DelinkObjects(List<uint> primIds, IClientAPI client); 77 public delegate void DelinkObjects(List<uint> primIds, IClientAPI client);
@@ -791,6 +793,7 @@ namespace OpenSim.Framework
791 event ObjectDrop OnObjectDrop; 793 event ObjectDrop OnObjectDrop;
792 event StartAnim OnStartAnim; 794 event StartAnim OnStartAnim;
793 event StopAnim OnStopAnim; 795 event StopAnim OnStopAnim;
796 event ChangeAnim OnChangeAnim;
794 event LinkObjects OnLinkObjects; 797 event LinkObjects OnLinkObjects;
795 event DelinkObjects OnDelinkObjects; 798 event DelinkObjects OnDelinkObjects;
796 event RequestMapBlocks OnRequestMapBlocks; 799 event RequestMapBlocks OnRequestMapBlocks;
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index bb76717..7db6014 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -98,6 +98,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
98 public event AvatarPickerRequest OnAvatarPickerRequest; 98 public event AvatarPickerRequest OnAvatarPickerRequest;
99 public event StartAnim OnStartAnim; 99 public event StartAnim OnStartAnim;
100 public event StopAnim OnStopAnim; 100 public event StopAnim OnStopAnim;
101 public event ChangeAnim OnChangeAnim;
101 public event Action<IClientAPI> OnRequestAvatarsData; 102 public event Action<IClientAPI> OnRequestAvatarsData;
102 public event LinkObjects OnLinkObjects; 103 public event LinkObjects OnLinkObjects;
103 public event DelinkObjects OnDelinkObjects; 104 public event DelinkObjects OnDelinkObjects;
@@ -6386,7 +6387,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6386 return true; 6387 return true;
6387 } 6388 }
6388 #endregion 6389 #endregion
6389 6390/*
6390 StartAnim handlerStartAnim = null; 6391 StartAnim handlerStartAnim = null;
6391 StopAnim handlerStopAnim = null; 6392 StopAnim handlerStopAnim = null;
6392 6393
@@ -6410,6 +6411,25 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6410 } 6411 }
6411 } 6412 }
6412 return true; 6413 return true;
6414*/
6415 ChangeAnim handlerChangeAnim = null;
6416
6417 for (int i = 0; i < AgentAni.AnimationList.Length; i++)
6418 {
6419 handlerChangeAnim = OnChangeAnim;
6420 if (handlerChangeAnim != null)
6421 {
6422 handlerChangeAnim(AgentAni.AnimationList[i].AnimID, AgentAni.AnimationList[i].StartAnim, false);
6423 }
6424 }
6425
6426 handlerChangeAnim = OnChangeAnim;
6427 if (handlerChangeAnim != null)
6428 {
6429 handlerChangeAnim(UUID.Zero, false, true);
6430 }
6431
6432 return true;
6413 } 6433 }
6414 6434
6415 private bool HandleAgentRequestSit(IClientAPI sender, Packet Pack) 6435 private bool HandleAgentRequestSit(IClientAPI sender, Packet Pack)
diff --git a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
index f5623bd..e577958 100644
--- a/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
+++ b/OpenSim/Region/Framework/Scenes/Animation/ScenePresenceAnimator.cs
@@ -79,13 +79,13 @@ namespace OpenSim.Region.Framework.Scenes.Animation
79 m_scenePresence = sp; 79 m_scenePresence = sp;
80 CurrentMovementAnimation = "CROUCH"; 80 CurrentMovementAnimation = "CROUCH";
81 } 81 }
82 82
83 public void AddAnimation(UUID animID, UUID objectID) 83 public void AddAnimation(UUID animID, UUID objectID)
84 { 84 {
85 if (m_scenePresence.IsChildAgent) 85 if (m_scenePresence.IsChildAgent)
86 return; 86 return;
87 87
88// m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Adding animation {0} for {1}", animID, m_scenePresence.Name); 88 // m_log.DebugFormat("[SCENE PRESENCE ANIMATOR]: Adding animation {0} for {1}", animID, m_scenePresence.Name);
89 89
90 if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID)) 90 if (m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, objectID))
91 SendAnimPack(); 91 SendAnimPack();
@@ -117,6 +117,22 @@ namespace OpenSim.Region.Framework.Scenes.Animation
117 SendAnimPack(); 117 SendAnimPack();
118 } 118 }
119 119
120 public void avnChangeAnim(UUID animID, bool addRemove, bool sendPack)
121 {
122 if (m_scenePresence.IsChildAgent)
123 return;
124
125 if (animID != UUID.Zero)
126 {
127 if (addRemove)
128 m_animations.Add(animID, m_scenePresence.ControllingClient.NextAnimationSequenceNumber, UUID.Zero);
129 else
130 m_animations.Remove(animID);
131 }
132 if(sendPack)
133 SendAnimPack();
134 }
135
120 // Called from scripts 136 // Called from scripts
121 public void RemoveAnimation(string name) 137 public void RemoveAnimation(string name)
122 { 138 {
diff --git a/OpenSim/Region/Framework/Scenes/ScenePresence.cs b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
index 212720e..ba0ed95 100644
--- a/OpenSim/Region/Framework/Scenes/ScenePresence.cs
+++ b/OpenSim/Region/Framework/Scenes/ScenePresence.cs
@@ -781,6 +781,7 @@ namespace OpenSim.Region.Framework.Scenes
781 ControllingClient.OnSetAlwaysRun += HandleSetAlwaysRun; 781 ControllingClient.OnSetAlwaysRun += HandleSetAlwaysRun;
782 ControllingClient.OnStartAnim += HandleStartAnim; 782 ControllingClient.OnStartAnim += HandleStartAnim;
783 ControllingClient.OnStopAnim += HandleStopAnim; 783 ControllingClient.OnStopAnim += HandleStopAnim;
784 ControllingClient.OnChangeAnim += avnHandleChangeAnim;
784 ControllingClient.OnForceReleaseControls += HandleForceReleaseControls; 785 ControllingClient.OnForceReleaseControls += HandleForceReleaseControls;
785 ControllingClient.OnAutoPilotGo += MoveToTarget; 786 ControllingClient.OnAutoPilotGo += MoveToTarget;
786 787
@@ -2432,6 +2433,13 @@ namespace OpenSim.Region.Framework.Scenes
2432 Animator.RemoveAnimation(animID); 2433 Animator.RemoveAnimation(animID);
2433 } 2434 }
2434 2435
2436 public void avnHandleChangeAnim(UUID animID, bool addRemove,bool sendPack)
2437 {
2438 Animator.avnChangeAnim(animID, addRemove, sendPack);
2439 }
2440
2441
2442
2435 /// <summary> 2443 /// <summary>
2436 /// Rotate the avatar to the given rotation and apply a movement in the given relative vector 2444 /// Rotate the avatar to the given rotation and apply a movement in the given relative vector
2437 /// </summary> 2445 /// </summary>
diff --git a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
index a37e997..eac8e84 100644
--- a/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
+++ b/OpenSim/Region/OptionalModules/Agent/InternetRelayClientView/Server/IRCClientView.cs
@@ -669,6 +669,7 @@ namespace OpenSim.Region.OptionalModules.Agent.InternetRelayClientView.Server
669 public event ObjectDrop OnObjectDrop; 669 public event ObjectDrop OnObjectDrop;
670 public event StartAnim OnStartAnim; 670 public event StartAnim OnStartAnim;
671 public event StopAnim OnStopAnim; 671 public event StopAnim OnStopAnim;
672 public event ChangeAnim OnChangeAnim;
672 public event LinkObjects OnLinkObjects; 673 public event LinkObjects OnLinkObjects;
673 public event DelinkObjects OnDelinkObjects; 674 public event DelinkObjects OnDelinkObjects;
674 public event RequestMapBlocks OnRequestMapBlocks; 675 public event RequestMapBlocks OnRequestMapBlocks;
diff --git a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
index c3335f0..8996865 100644
--- a/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
+++ b/OpenSim/Region/OptionalModules/World/NPC/NPCAvatar.cs
@@ -189,6 +189,7 @@ namespace OpenSim.Region.OptionalModules.World.NPC
189 public event ObjectDrop OnObjectDrop; 189 public event ObjectDrop OnObjectDrop;
190 public event StartAnim OnStartAnim; 190 public event StartAnim OnStartAnim;
191 public event StopAnim OnStopAnim; 191 public event StopAnim OnStopAnim;
192 public event ChangeAnim OnChangeAnim;
192 public event LinkObjects OnLinkObjects; 193 public event LinkObjects OnLinkObjects;
193 public event DelinkObjects OnDelinkObjects; 194 public event DelinkObjects OnDelinkObjects;
194 public event RequestMapBlocks OnRequestMapBlocks; 195 public event RequestMapBlocks OnRequestMapBlocks;
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs
index 6a7cb0a..b2c824c 100644
--- a/OpenSim/Tests/Common/Mock/TestClient.cs
+++ b/OpenSim/Tests/Common/Mock/TestClient.cs
@@ -88,6 +88,7 @@ namespace OpenSim.Tests.Common.Mock
88 public event ObjectDrop OnObjectDrop; 88 public event ObjectDrop OnObjectDrop;
89 public event StartAnim OnStartAnim; 89 public event StartAnim OnStartAnim;
90 public event StopAnim OnStopAnim; 90 public event StopAnim OnStopAnim;
91 public event ChangeAnim OnChangeAnim;
91 public event LinkObjects OnLinkObjects; 92 public event LinkObjects OnLinkObjects;
92 public event DelinkObjects OnDelinkObjects; 93 public event DelinkObjects OnDelinkObjects;
93 public event RequestMapBlocks OnRequestMapBlocks; 94 public event RequestMapBlocks OnRequestMapBlocks;