diff options
author | Robert Adams | 2014-02-15 17:10:20 -0800 |
---|---|---|
committer | Robert Adams | 2014-02-15 17:10:20 -0800 |
commit | 79200ed27031f03fca9e7bfb7e04c93b4759fbe4 (patch) | |
tree | 67c79f473d4f92fa9f9a713c06200801f91aa9ef | |
parent | Properly restore position on crossing failure for mega-regions. (diff) | |
download | opensim-SC_OLD-79200ed27031f03fca9e7bfb7e04c93b4759fbe4.zip opensim-SC_OLD-79200ed27031f03fca9e7bfb7e04c93b4759fbe4.tar.gz opensim-SC_OLD-79200ed27031f03fca9e7bfb7e04c93b4759fbe4.tar.bz2 opensim-SC_OLD-79200ed27031f03fca9e7bfb7e04c93b4759fbe4.tar.xz |
Fix displacement and location operations on legacy trees and grass in
the 'load oar' and 'scene' commands. Before they were ignored but the
code now relies on the SOG.IsAttachment function for attachmentness.
-rw-r--r-- | OpenSim/Region/Application/OpenSim.cs | 8 | ||||
-rw-r--r-- | OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | 2 |
2 files changed, 5 insertions, 5 deletions
diff --git a/OpenSim/Region/Application/OpenSim.cs b/OpenSim/Region/Application/OpenSim.cs index 77b9440..3d80c6e 100644 --- a/OpenSim/Region/Application/OpenSim.cs +++ b/OpenSim/Region/Application/OpenSim.cs | |||
@@ -559,7 +559,7 @@ namespace OpenSim | |||
559 | { | 559 | { |
560 | scene.ForEachSOG(delegate(SceneObjectGroup sog) | 560 | scene.ForEachSOG(delegate(SceneObjectGroup sog) |
561 | { | 561 | { |
562 | if (sog.AttachmentPoint == 0) | 562 | if (!sog.IsAttachment) |
563 | { | 563 | { |
564 | sog.RootPart.UpdateRotation(rot * sog.GroupRotation); | 564 | sog.RootPart.UpdateRotation(rot * sog.GroupRotation); |
565 | Vector3 offset = sog.AbsolutePosition - center; | 565 | Vector3 offset = sog.AbsolutePosition - center; |
@@ -588,7 +588,7 @@ namespace OpenSim | |||
588 | { | 588 | { |
589 | scene.ForEachSOG(delegate(SceneObjectGroup sog) | 589 | scene.ForEachSOG(delegate(SceneObjectGroup sog) |
590 | { | 590 | { |
591 | if (sog.AttachmentPoint == 0) | 591 | if (!sog.IsAttachment) |
592 | { | 592 | { |
593 | if (sog.RootPart.AbsolutePosition.Z < minZ) | 593 | if (sog.RootPart.AbsolutePosition.Z < minZ) |
594 | minZ = sog.RootPart.AbsolutePosition.Z; | 594 | minZ = sog.RootPart.AbsolutePosition.Z; |
@@ -600,7 +600,7 @@ namespace OpenSim | |||
600 | { | 600 | { |
601 | scene.ForEachSOG(delegate(SceneObjectGroup sog) | 601 | scene.ForEachSOG(delegate(SceneObjectGroup sog) |
602 | { | 602 | { |
603 | if (sog.AttachmentPoint == 0) | 603 | if (!sog.IsAttachment) |
604 | { | 604 | { |
605 | Vector3 tmpRootPos = sog.RootPart.AbsolutePosition; | 605 | Vector3 tmpRootPos = sog.RootPart.AbsolutePosition; |
606 | tmpRootPos.Z -= minZ; | 606 | tmpRootPos.Z -= minZ; |
@@ -640,7 +640,7 @@ namespace OpenSim | |||
640 | { | 640 | { |
641 | scene.ForEachSOG(delegate(SceneObjectGroup sog) | 641 | scene.ForEachSOG(delegate(SceneObjectGroup sog) |
642 | { | 642 | { |
643 | if (sog.AttachmentPoint == 0) | 643 | if (!sog.IsAttachment) |
644 | sog.UpdateGroupPosition(sog.AbsolutePosition + offset); | 644 | sog.UpdateGroupPosition(sog.AbsolutePosition + offset); |
645 | }); | 645 | }); |
646 | }); | 646 | }); |
diff --git a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs index 0c4b79b..2e638d4 100644 --- a/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs +++ b/OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs | |||
@@ -483,7 +483,7 @@ namespace OpenSim.Region.CoreModules.World.Archiver | |||
483 | SceneObjectGroup sceneObject = serialiser.DeserializeGroupFromXml2(serialisedSceneObject); | 483 | SceneObjectGroup sceneObject = serialiser.DeserializeGroupFromXml2(serialisedSceneObject); |
484 | 484 | ||
485 | // Happily this does not do much to the object since it hasn't been added to the scene yet | 485 | // Happily this does not do much to the object since it hasn't been added to the scene yet |
486 | if (sceneObject.AttachmentPoint == 0) | 486 | if (!sceneObject.IsAttachment) |
487 | { | 487 | { |
488 | if (m_displacement != Vector3.Zero || m_rotation != 0f) | 488 | if (m_displacement != Vector3.Zero || m_rotation != 0f) |
489 | { | 489 | { |