diff options
author | UbitUmarov | 2014-07-16 16:22:32 +0100 |
---|---|---|
committer | UbitUmarov | 2014-07-16 16:22:32 +0100 |
commit | 19d33c571d8f48501ecb2409814d5b95b2b4be23 (patch) | |
tree | 8e08805a71ebea81de75b5805105f325e0defa0f /OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |
parent | Merge branch 'avination-current' into ubitwork (diff) | |
parent | Merge branch 'avination-current' of ssh://3dhosting.de/var/git/careminster in... (diff) | |
download | opensim-SC-19d33c571d8f48501ecb2409814d5b95b2b4be23.zip opensim-SC-19d33c571d8f48501ecb2409814d5b95b2b4be23.tar.gz opensim-SC-19d33c571d8f48501ecb2409814d5b95b2b4be23.tar.bz2 opensim-SC-19d33c571d8f48501ecb2409814d5b95b2b4be23.tar.xz |
Merge branch 'avination-current' into ubitwork
Diffstat (limited to 'OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs')
-rw-r--r-- | OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | 40 |
1 files changed, 24 insertions, 16 deletions
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 0ea4e09..86f60bb 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -591,6 +591,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
591 | avinfo.ParentID = av.ParentID; | 591 | avinfo.ParentID = av.ParentID; |
592 | avsToCross.Add(avinfo); | 592 | avsToCross.Add(avinfo); |
593 | 593 | ||
594 | av.PrevSitOffset = av.OffsetPosition; | ||
594 | av.ParentID = 0; | 595 | av.ParentID = 0; |
595 | } | 596 | } |
596 | 597 | ||
@@ -1072,6 +1073,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1072 | for (int i = 0; i < parts.Length; i++) | 1073 | for (int i = 0; i < parts.Length; i++) |
1073 | { | 1074 | { |
1074 | SceneObjectPart part = parts[i]; | 1075 | SceneObjectPart part = parts[i]; |
1076 | if (part.KeyframeMotion != null) | ||
1077 | { | ||
1078 | part.KeyframeMotion.UpdateSceneObject(this); | ||
1079 | } | ||
1080 | |||
1075 | if (Object.ReferenceEquals(part, m_rootPart)) | 1081 | if (Object.ReferenceEquals(part, m_rootPart)) |
1076 | continue; | 1082 | continue; |
1077 | 1083 | ||
@@ -1880,25 +1886,27 @@ namespace OpenSim.Region.Framework.Scenes | |||
1880 | { | 1886 | { |
1881 | SceneObjectPart part = parts[i]; | 1887 | SceneObjectPart part = parts[i]; |
1882 | 1888 | ||
1883 | Scene.ForEachRootScenePresence(delegate(ScenePresence avatar) | 1889 | if (Scene != null) |
1884 | { | 1890 | { |
1885 | if (avatar.ParentID == LocalId) | 1891 | Scene.ForEachRootScenePresence(delegate(ScenePresence avatar) |
1886 | avatar.StandUp(); | ||
1887 | |||
1888 | if (!silent) | ||
1889 | { | 1892 | { |
1890 | part.ClearUpdateSchedule(); | 1893 | if (avatar.ParentID == LocalId) |
1891 | if (part == m_rootPart) | 1894 | avatar.StandUp(); |
1895 | |||
1896 | if (!silent) | ||
1892 | { | 1897 | { |
1893 | if (!IsAttachment | 1898 | part.ClearUpdateSchedule(); |
1894 | || AttachedAvatar == avatar.ControllingClient.AgentId | 1899 | if (part == m_rootPart) |
1895 | || !HasPrivateAttachmentPoint) | 1900 | { |
1896 | avatar.ControllingClient.SendKillObject(m_regionHandle, new List<uint> { part.LocalId }); | 1901 | if (!IsAttachment |
1902 | || AttachedAvatar == avatar.ControllingClient.AgentId | ||
1903 | || !HasPrivateAttachmentPoint) | ||
1904 | avatar.ControllingClient.SendKillObject(m_regionHandle, new List<uint> { part.LocalId }); | ||
1905 | } | ||
1897 | } | 1906 | } |
1898 | } | 1907 | }); |
1899 | }); | 1908 | } |
1900 | } | 1909 | } |
1901 | |||
1902 | } | 1910 | } |
1903 | 1911 | ||
1904 | public void AddScriptLPS(int count) | 1912 | public void AddScriptLPS(int count) |
@@ -3483,8 +3491,8 @@ namespace OpenSim.Region.Framework.Scenes | |||
3483 | part.ClonePermissions(RootPart); | 3491 | part.ClonePermissions(RootPart); |
3484 | }); | 3492 | }); |
3485 | 3493 | ||
3486 | uint lockMask = ~(uint)PermissionMask.Move; | 3494 | uint lockMask = ~(uint)(PermissionMask.Move | PermissionMask.Modify); |
3487 | uint lockBit = RootPart.OwnerMask & (uint)PermissionMask.Move; | 3495 | uint lockBit = RootPart.OwnerMask & (uint)(PermissionMask.Move | PermissionMask.Modify); |
3488 | RootPart.OwnerMask = (RootPart.OwnerMask & lockBit) | ((newOwnerMask | foldedPerms) & lockMask); | 3496 | RootPart.OwnerMask = (RootPart.OwnerMask & lockBit) | ((newOwnerMask | foldedPerms) & lockMask); |
3489 | RootPart.ScheduleFullUpdate(); | 3497 | RootPart.ScheduleFullUpdate(); |
3490 | } | 3498 | } |