diff options
6 files changed, 26 insertions, 3 deletions
diff --git a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs index 8cac731..ddd8f18 100644 --- a/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs +++ b/OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs | |||
@@ -3809,7 +3809,7 @@ namespace OpenSim.Region.ClientStack.LindenUDP | |||
3809 | if (part.ParentGroup.IsAttachment) | 3809 | if (part.ParentGroup.IsAttachment) |
3810 | { // Someone else's HUD, why are we getting these? | 3810 | { // Someone else's HUD, why are we getting these? |
3811 | if (part.ParentGroup.OwnerID != AgentId && | 3811 | if (part.ParentGroup.OwnerID != AgentId && |
3812 | part.ParentGroup.RootPart.Shape.State >= 30) | 3812 | part.ParentGroup.RootPart.Shape.State > 30) |
3813 | continue; | 3813 | continue; |
3814 | ScenePresence sp; | 3814 | ScenePresence sp; |
3815 | // Owner is not in the sim, don't update it to | 3815 | // Owner is not in the sim, don't update it to |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs index 0b73df5..f8c0431 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs | |||
@@ -2050,7 +2050,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
2050 | if (Permissions.CanReturnObjects( | 2050 | if (Permissions.CanReturnObjects( |
2051 | null, | 2051 | null, |
2052 | remoteClient.AgentId, | 2052 | remoteClient.AgentId, |
2053 | deleteGroups)) | 2053 | new List<SceneObjectGroup>() {grp})) |
2054 | { | 2054 | { |
2055 | permissionToTake = true; | 2055 | permissionToTake = true; |
2056 | permissionToDelete = true; | 2056 | permissionToDelete = true; |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index d9cd2f0..0883913 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -233,7 +233,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
233 | private int m_update_presences = 1; // Update scene presence movements | 233 | private int m_update_presences = 1; // Update scene presence movements |
234 | private int m_update_events = 1; | 234 | private int m_update_events = 1; |
235 | private int m_update_backup = 200; | 235 | private int m_update_backup = 200; |
236 | private int m_update_terrain = 50; | 236 | private int m_update_terrain = 1000; |
237 | private int m_update_land = 10; | 237 | private int m_update_land = 10; |
238 | private int m_update_coarse_locations = 50; | 238 | private int m_update_coarse_locations = 50; |
239 | 239 | ||
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 3726a15..6e48735 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -3306,6 +3306,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
3306 | /// <param name="SetVolumeDetect"></param> | 3306 | /// <param name="SetVolumeDetect"></param> |
3307 | public void UpdatePrimFlags(uint localID, bool UsePhysics, bool SetTemporary, bool SetPhantom, bool SetVolumeDetect) | 3307 | public void UpdatePrimFlags(uint localID, bool UsePhysics, bool SetTemporary, bool SetPhantom, bool SetVolumeDetect) |
3308 | { | 3308 | { |
3309 | HasGroupChanged = true; | ||
3310 | |||
3309 | SceneObjectPart selectionPart = GetPart(localID); | 3311 | SceneObjectPart selectionPart = GetPart(localID); |
3310 | 3312 | ||
3311 | if (SetTemporary && Scene != null) | 3313 | if (SetTemporary && Scene != null) |
diff --git a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs index 0d292e7..134bd9d 100644 --- a/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs +++ b/OpenSim/Region/Framework/Scenes/Serialization/SceneObjectSerializer.cs | |||
@@ -386,6 +386,8 @@ namespace OpenSim.Region.Framework.Scenes.Serialization | |||
386 | m_SOPXmlProcessors.Add("Friction", ProcessFriction); | 386 | m_SOPXmlProcessors.Add("Friction", ProcessFriction); |
387 | m_SOPXmlProcessors.Add("Bounce", ProcessBounce); | 387 | m_SOPXmlProcessors.Add("Bounce", ProcessBounce); |
388 | m_SOPXmlProcessors.Add("GravityModifier", ProcessGravityModifier); | 388 | m_SOPXmlProcessors.Add("GravityModifier", ProcessGravityModifier); |
389 | m_SOPXmlProcessors.Add("CameraEyeOffset", ProcessCameraEyeOffset); | ||
390 | m_SOPXmlProcessors.Add("CameraAtOffset", ProcessCameraAtOffset); | ||
389 | 391 | ||
390 | #endregion | 392 | #endregion |
391 | 393 | ||
@@ -639,6 +641,16 @@ namespace OpenSim.Region.Framework.Scenes.Serialization | |||
639 | obj.GravityModifier = reader.ReadElementContentAsFloat("GravityModifier", String.Empty); | 641 | obj.GravityModifier = reader.ReadElementContentAsFloat("GravityModifier", String.Empty); |
640 | } | 642 | } |
641 | 643 | ||
644 | private static void ProcessCameraEyeOffset(SceneObjectPart obj, XmlTextReader reader) | ||
645 | { | ||
646 | obj.SetCameraEyeOffset(Util.ReadVector(reader, "CameraEyeOffset")); | ||
647 | } | ||
648 | |||
649 | private static void ProcessCameraAtOffset(SceneObjectPart obj, XmlTextReader reader) | ||
650 | { | ||
651 | obj.SetCameraAtOffset(Util.ReadVector(reader, "CameraAtOffset")); | ||
652 | } | ||
653 | |||
642 | private static void ProcessVehicle(SceneObjectPart obj, XmlTextReader reader) | 654 | private static void ProcessVehicle(SceneObjectPart obj, XmlTextReader reader) |
643 | { | 655 | { |
644 | SOPVehicle vehicle = SOPVehicle.FromXml2(reader); | 656 | SOPVehicle vehicle = SOPVehicle.FromXml2(reader); |
@@ -1355,6 +1367,8 @@ namespace OpenSim.Region.Framework.Scenes.Serialization | |||
1355 | writer.WriteElementString("Bounce", sop.Bounciness.ToString().ToLower()); | 1367 | writer.WriteElementString("Bounce", sop.Bounciness.ToString().ToLower()); |
1356 | if (sop.GravityModifier != 1.0f) | 1368 | if (sop.GravityModifier != 1.0f) |
1357 | writer.WriteElementString("GravityModifier", sop.GravityModifier.ToString().ToLower()); | 1369 | writer.WriteElementString("GravityModifier", sop.GravityModifier.ToString().ToLower()); |
1370 | WriteVector(writer, "CameraEyeOffset", sop.GetCameraEyeOffset()); | ||
1371 | WriteVector(writer, "CameraAtOffset", sop.GetCameraAtOffset()); | ||
1358 | 1372 | ||
1359 | writer.WriteEndElement(); | 1373 | writer.WriteEndElement(); |
1360 | } | 1374 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 717cc07..434638d 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -6055,6 +6055,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
6055 | flags |= ScriptBaseClass.AGENT_AWAY; | 6055 | flags |= ScriptBaseClass.AGENT_AWAY; |
6056 | } | 6056 | } |
6057 | 6057 | ||
6058 | UUID busy = new UUID("efcf670c-2d18-8128-973a-034ebc806b67"); | ||
6059 | UUID[] anims = agent.Animator.GetAnimationArray(); | ||
6060 | if (Array.Exists<UUID>(anims, a => { return a == busy; })) | ||
6061 | { | ||
6062 | flags |= ScriptBaseClass.AGENT_BUSY; | ||
6063 | } | ||
6064 | |||
6058 | // seems to get unset, even if in mouselook, when avatar is sitting on a prim??? | 6065 | // seems to get unset, even if in mouselook, when avatar is sitting on a prim??? |
6059 | if ((agent.AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK) != 0) | 6066 | if ((agent.AgentControlFlags & (uint)AgentManager.ControlFlags.AGENT_CONTROL_MOUSELOOK) != 0) |
6060 | { | 6067 | { |