aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ClientStack/Linden
diff options
context:
space:
mode:
authorUbitUmarov2019-04-10 00:25:49 +0100
committerUbitUmarov2019-04-10 00:25:49 +0100
commitb459b2c65f4aa393a07147ea56b21a433bc33fc9 (patch)
tree56f34efa9c32df613924d933678d4f985579c73f /OpenSim/Region/ClientStack/Linden
parentchange to ping based RTO (diff)
downloadopensim-SC-b459b2c65f4aa393a07147ea56b21a433bc33fc9.zip
opensim-SC-b459b2c65f4aa393a07147ea56b21a433bc33fc9.tar.gz
opensim-SC-b459b2c65f4aa393a07147ea56b21a433bc33fc9.tar.bz2
opensim-SC-b459b2c65f4aa393a07147ea56b21a433bc33fc9.tar.xz
dont send animation before object
Diffstat (limited to 'OpenSim/Region/ClientStack/Linden')
-rw-r--r--OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs36
1 files changed, 31 insertions, 5 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
index b7e9117..7dfcc7a 100644
--- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
+++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
@@ -4967,15 +4967,16 @@ namespace OpenSim.Region.ClientStack.LindenUDP
4967 continue; 4967 continue;
4968 } 4968 }
4969 4969
4970 if (m_SupportObjectAnimations && updateFlags.HasFlag(PrimUpdateFlags.Animations)) 4970 if (updateFlags == PrimUpdateFlags.Animations)
4971 { 4971 {
4972 if (part.Animations != null) 4972 if (m_SupportObjectAnimations && part.Animations != null)
4973 { 4973 {
4974 if (ObjectAnimationUpdates == null) 4974 if (ObjectAnimationUpdates == null)
4975 ObjectAnimationUpdates = new List<SceneObjectPart>(); 4975 ObjectAnimationUpdates = new List<SceneObjectPart>();
4976 ObjectAnimationUpdates.Add(part); 4976 ObjectAnimationUpdates.Add(part);
4977 maxUpdatesBytes -= 20 * part.Animations.Count + 24; 4977 maxUpdatesBytes -= 20 * part.Animations.Count + 24;
4978 } 4978 }
4979 continue;
4979 } 4980 }
4980 4981
4981 if(viewerCache) 4982 if(viewerCache)
@@ -5126,7 +5127,20 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5126 if (eu.Entity is ScenePresence) 5127 if (eu.Entity is ScenePresence)
5127 CreateAvatarUpdateBlock((ScenePresence)eu.Entity, zc); 5128 CreateAvatarUpdateBlock((ScenePresence)eu.Entity, zc);
5128 else 5129 else
5129 CreatePrimUpdateBlock((SceneObjectPart)eu.Entity, mysp, zc); 5130 {
5131 SceneObjectPart part = (SceneObjectPart)eu.Entity;
5132 if (eu.Flags.HasFlag(PrimUpdateFlags.Animations))
5133 {
5134 if (m_SupportObjectAnimations && part.Animations != null)
5135 {
5136 if (ObjectAnimationUpdates == null)
5137 ObjectAnimationUpdates = new List<SceneObjectPart>();
5138 ObjectAnimationUpdates.Add(part);
5139 }
5140 eu.Flags &= ~PrimUpdateFlags.Animations;
5141 }
5142 CreatePrimUpdateBlock(part, mysp, zc);
5143 }
5130 if (zc.Position < LLUDPServer.MAXPAYLOAD - 200) 5144 if (zc.Position < LLUDPServer.MAXPAYLOAD - 200)
5131 { 5145 {
5132 tau.Add(eu); 5146 tau.Add(eu);
@@ -5273,6 +5287,18 @@ namespace OpenSim.Region.ClientStack.LindenUDP
5273 SceneObjectPart sop = (SceneObjectPart)eu.Entity; 5287 SceneObjectPart sop = (SceneObjectPart)eu.Entity;
5274 if (sop.ParentGroup == null || sop.ParentGroup.IsDeleted) 5288 if (sop.ParentGroup == null || sop.ParentGroup.IsDeleted)
5275 continue; 5289 continue;
5290
5291 if (eu.Flags.HasFlag(PrimUpdateFlags.Animations))
5292 {
5293 if (m_SupportObjectAnimations && sop.Animations != null)
5294 {
5295 if (ObjectAnimationUpdates == null)
5296 ObjectAnimationUpdates = new List<SceneObjectPart>();
5297 ObjectAnimationUpdates.Add(sop);
5298 }
5299 eu.Flags &= ~PrimUpdateFlags.Animations;
5300 }
5301
5276 lastpos = zc.Position; 5302 lastpos = zc.Position;
5277 lastzc = zc.ZeroCount; 5303 lastzc = zc.ZeroCount;
5278 5304
@@ -6996,7 +7022,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
6996 zc.AddUInt(part.LocalId); 7022 zc.AddUInt(part.LocalId);
6997 zc.AddByte(state); // state 7023 zc.AddByte(state); // state
6998 zc.AddUUID(part.UUID); 7024 zc.AddUUID(part.UUID);
6999 zc.AddZeros(4); // crc unused 7025 zc.AddUInt((uint)part.ParentGroup.PseudoCRC);
7000 zc.AddByte((byte)pcode); 7026 zc.AddByte((byte)pcode);
7001 // material 1 7027 // material 1
7002 // clickaction 1 7028 // clickaction 1
@@ -7108,7 +7134,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP
7108 zc.AddUInt(part.LocalId); 7134 zc.AddUInt(part.LocalId);
7109 zc.AddByte(state); // state 7135 zc.AddByte(state); // state
7110 zc.AddUUID(part.UUID); 7136 zc.AddUUID(part.UUID);
7111 zc.AddZeros(4); // crc unused 7137 zc.AddUInt((uint)part.ParentGroup.PseudoCRC);
7112 zc.AddByte((byte)pcode); 7138 zc.AddByte((byte)pcode);
7113 zc.AddByte(part.Material); 7139 zc.AddByte(part.Material);
7114 zc.AddByte(part.ClickAction); // clickaction 7140 zc.AddByte(part.ClickAction); // clickaction