aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorRobert Adams2014-02-15 17:10:20 -0800
committerRobert Adams2014-02-15 17:10:20 -0800
commit79200ed27031f03fca9e7bfb7e04c93b4759fbe4 (patch)
tree67c79f473d4f92fa9f9a713c06200801f91aa9ef
parentProperly restore position on crossing failure for mega-regions. (diff)
downloadopensim-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.cs8
-rw-r--r--OpenSim/Region/CoreModules/World/Archiver/ArchiveReadRequest.cs2
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 {