aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/CoreModules/Framework
diff options
context:
space:
mode:
authorMelanie2013-05-26 14:11:48 +0200
committerMelanie2013-05-26 14:11:48 +0200
commita348c8e44a72bd2de0151fc6db7a229cd8ee86a2 (patch)
treec2854be5ea332d45c49ee04a2a2fa2d2d78f149a /OpenSim/Region/CoreModules/Framework
parentUpdate the money framework to allow sending the new style linden "serverside ... (diff)
downloadopensim-SC-a348c8e44a72bd2de0151fc6db7a229cd8ee86a2.zip
opensim-SC-a348c8e44a72bd2de0151fc6db7a229cd8ee86a2.tar.gz
opensim-SC-a348c8e44a72bd2de0151fc6db7a229cd8ee86a2.tar.bz2
opensim-SC-a348c8e44a72bd2de0151fc6db7a229cd8ee86a2.tar.xz
Allow Linden trees to preserve their type when taken into inventory and rezzed again. Allow Linden trees to be sensed by LLSensor as PASSIVE objects.
Diffstat (limited to 'OpenSim/Region/CoreModules/Framework')
-rw-r--r--OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs15
1 files changed, 12 insertions, 3 deletions
diff --git a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
index 43c7e7d..4c11135 100644
--- a/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
+++ b/OpenSim/Region/CoreModules/Framework/InventoryAccess/InventoryAccessModule.cs
@@ -387,7 +387,12 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
387 inventoryStoredPosition = objectGroup.RootPart.AttachOffset; 387 inventoryStoredPosition = objectGroup.RootPart.AttachOffset;
388 inventoryStoredRotation = objectGroup.RootPart.AttachRotation; 388 inventoryStoredRotation = objectGroup.RootPart.AttachRotation;
389 } 389 }
390 objectGroup.RootPart.Shape.State = objectGroup.RootPart.AttachPoint; 390
391 // Trees could be attached and it's been done, but it makes
392 // no sense. State must be preserved because it's the tree type
393 if (objectGroup.RootPart.Shape.PCode != (byte)PCode.Tree &&
394 objectGroup.RootPart.Shape.PCode != (byte)PCode.NewTree)
395 objectGroup.RootPart.Shape.State = objectGroup.RootPart.AttachPoint;
391 396
392 objectGroup.AbsolutePosition = inventoryStoredPosition; 397 objectGroup.AbsolutePosition = inventoryStoredPosition;
393 objectGroup.RootPart.RotationOffset = inventoryStoredRotation; 398 objectGroup.RootPart.RotationOffset = inventoryStoredRotation;
@@ -791,7 +796,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
791 g.RootPart.AttachPoint = g.RootPart.Shape.State; 796 g.RootPart.AttachPoint = g.RootPart.Shape.State;
792 g.RootPart.AttachOffset = g.AbsolutePosition; 797 g.RootPart.AttachOffset = g.AbsolutePosition;
793 g.RootPart.AttachRotation = g.GroupRotation; 798 g.RootPart.AttachRotation = g.GroupRotation;
794 g.RootPart.Shape.State = 0; 799 if (g.RootPart.Shape.PCode != (byte)PCode.NewTree &&
800 g.RootPart.Shape.PCode != (byte)PCode.Tree)
801 g.RootPart.Shape.State = 0;
795 } 802 }
796 803
797 objlist.Add(g); 804 objlist.Add(g);
@@ -825,7 +832,9 @@ namespace OpenSim.Region.CoreModules.Framework.InventoryAccess
825 g.RootPart.AttachPoint = g.RootPart.Shape.State; 832 g.RootPart.AttachPoint = g.RootPart.Shape.State;
826 g.RootPart.AttachOffset = g.AbsolutePosition; 833 g.RootPart.AttachOffset = g.AbsolutePosition;
827 g.RootPart.AttachRotation = g.GroupRotation; 834 g.RootPart.AttachRotation = g.GroupRotation;
828 g.RootPart.Shape.State = 0; 835 if (g.RootPart.Shape.PCode != (byte)PCode.NewTree &&
836 g.RootPart.Shape.PCode != (byte)PCode.Tree)
837 g.RootPart.Shape.State = 0;
829 838
830 objlist.Add(g); 839 objlist.Add(g);
831 XmlElement el = (XmlElement)n; 840 XmlElement el = (XmlElement)n;