diff options
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 27 |
1 files changed, 23 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 423fbc7..a78ed8b 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -2584,14 +2584,33 @@ namespace OpenSim.Region.Framework.Scenes | |||
2584 | /// <param name="remoteClient"></param> | 2584 | /// <param name="remoteClient"></param> |
2585 | public void SendFullUpdateToClient(IClientAPI remoteClient) | 2585 | public void SendFullUpdateToClient(IClientAPI remoteClient) |
2586 | { | 2586 | { |
2587 | RootPart.SendFullUpdate(remoteClient); | 2587 | PrimUpdateFlags update = PrimUpdateFlags.FullUpdate; |
2588 | |||
2589 | RootPart.SendFullUpdate(remoteClient, update); | ||
2590 | |||
2591 | SceneObjectPart[] parts = m_parts.GetArray(); | ||
2592 | for (int i = 0; i < parts.Length; i++) | ||
2593 | { | ||
2594 | SceneObjectPart part = parts[i]; | ||
2595 | if (part != RootPart) | ||
2596 | part.SendFullUpdate(remoteClient, update); | ||
2597 | } | ||
2598 | } | ||
2599 | |||
2600 | public void SendFullAnimUpdateToClient(IClientAPI remoteClient) | ||
2601 | { | ||
2602 | PrimUpdateFlags update = PrimUpdateFlags.FullUpdate; | ||
2603 | if (RootPart.Shape.MeshFlagEntry) | ||
2604 | update = PrimUpdateFlags.FullUpdatewithAnim; | ||
2605 | |||
2606 | RootPart.SendFullUpdate(remoteClient, update); | ||
2588 | 2607 | ||
2589 | SceneObjectPart[] parts = m_parts.GetArray(); | 2608 | SceneObjectPart[] parts = m_parts.GetArray(); |
2590 | for (int i = 0; i < parts.Length; i++) | 2609 | for (int i = 0; i < parts.Length; i++) |
2591 | { | 2610 | { |
2592 | SceneObjectPart part = parts[i]; | 2611 | SceneObjectPart part = parts[i]; |
2593 | if (part != RootPart) | 2612 | if (part != RootPart) |
2594 | part.SendFullUpdate(remoteClient); | 2613 | part.SendFullUpdate(remoteClient, update); |
2595 | } | 2614 | } |
2596 | } | 2615 | } |
2597 | 2616 | ||
@@ -3110,7 +3129,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3110 | ScenePresence sp = m_scene.GetScenePresence(AttachedAvatar); | 3129 | ScenePresence sp = m_scene.GetScenePresence(AttachedAvatar); |
3111 | if (sp != null) | 3130 | if (sp != null) |
3112 | { | 3131 | { |
3113 | sp.SendAttachmentUpdate(this,UpdateRequired.FULL); | 3132 | sp.SendAttachmentUpdate(this, PrimUpdateFlags.FullUpdate); |
3114 | return; | 3133 | return; |
3115 | } | 3134 | } |
3116 | } | 3135 | } |
@@ -3160,7 +3179,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
3160 | ScenePresence sp = m_scene.GetScenePresence(AttachedAvatar); | 3179 | ScenePresence sp = m_scene.GetScenePresence(AttachedAvatar); |
3161 | if (sp != null) | 3180 | if (sp != null) |
3162 | { | 3181 | { |
3163 | sp.SendAttachmentUpdate(this, UpdateRequired.TERSE); | 3182 | sp.SendAttachmentUpdate(this, PrimUpdateFlags.TerseUpdate); |
3164 | return; | 3183 | return; |
3165 | } | 3184 | } |
3166 | } | 3185 | } |