aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/Framework/Scenes
diff options
context:
space:
mode:
Diffstat (limited to 'OpenSim/Region/Framework/Scenes')
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.Inventory.cs3
-rw-r--r--OpenSim/Region/Framework/Scenes/Scene.cs16
-rw-r--r--OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs15
3 files changed, 30 insertions, 4 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
index d18fffd..a2016da 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.Inventory.cs
@@ -2131,7 +2131,8 @@ namespace OpenSim.Region.Framework.Scenes
2131 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0) 2131 if ((item.CurrentPermissions & (uint)PermissionMask.Copy) == 0)
2132 sourcePart.Inventory.RemoveInventoryItem(item.ItemID); 2132 sourcePart.Inventory.RemoveInventoryItem(item.ItemID);
2133 } 2133 }
2134 2134
2135 group.RezzingObjectID = sourcePart.UUID;
2135 AddNewSceneObject(group, true, pos, rot, vel); 2136 AddNewSceneObject(group, true, pos, rot, vel);
2136 2137
2137 // We can only call this after adding the scene object, since the scene object references the scene 2138 // We can only call this after adding the scene object, since the scene object references the scene
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs
index eb4ba41..c77457c 100644
--- a/OpenSim/Region/Framework/Scenes/Scene.cs
+++ b/OpenSim/Region/Framework/Scenes/Scene.cs
@@ -5421,5 +5421,21 @@ namespace OpenSim.Region.Framework.Scenes
5421 m_SpawnPoint = 1; 5421 m_SpawnPoint = 1;
5422 return m_SpawnPoint - 1; 5422 return m_SpawnPoint - 1;
5423 } 5423 }
5424
5425 // Wrappers to get physics modules retrieve assets. Has to be done this way
5426 // because we can't assign the asset service to physics directly - at the
5427 // time physics are instantiated it's not registered but it will be by
5428 // the time the first prim exists.
5429 public void PhysicsRequestAsset(UUID assetID, AssetReceivedDelegate callback)
5430 {
5431 AssetService.Get(assetID.ToString(), callback, PhysicsAssetReceived);
5432 }
5433
5434 private void PhysicsAssetReceived(string id, Object sender, AssetBase asset)
5435 {
5436 AssetReceivedDelegate callback = (AssetReceivedDelegate)sender;
5437
5438 callback(asset);
5439 }
5424 } 5440 }
5425} 5441}
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
index 52469a2..13cc5cd 100644
--- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs
@@ -26,6 +26,7 @@
26 */ 26 */
27 27
28using System; 28using System;
29using System.ComponentModel;
29using System.Collections.Generic; 30using System.Collections.Generic;
30using System.Drawing; 31using System.Drawing;
31using System.IO; 32using System.IO;
@@ -611,6 +612,14 @@ namespace OpenSim.Region.Framework.Scenes
611 public UUID FromItemID { get; set; } 612 public UUID FromItemID { get; set; }
612 613
613 /// <summary> 614 /// <summary>
615 /// Refers to the SceneObjectPart.UUID property of the object that this object was rezzed from, if applicable.
616 /// </summary>
617 /// <remarks>
618 /// If not applicable will be UUID.Zero
619 /// </remarks>
620 public UUID RezzingObjectID { get; set; }
621
622 /// <summary>
614 /// The folder ID that this object was rezzed from, if applicable. 623 /// The folder ID that this object was rezzed from, if applicable.
615 /// </summary> 624 /// </summary>
616 /// <remarks> 625 /// <remarks>
@@ -633,6 +642,7 @@ namespace OpenSim.Region.Framework.Scenes
633 /// </summary> 642 /// </summary>
634 public SceneObjectGroup() 643 public SceneObjectGroup()
635 { 644 {
645 RezzingObjectID = UUID.Zero;
636 } 646 }
637 647
638 /// <summary> 648 /// <summary>
@@ -640,7 +650,7 @@ namespace OpenSim.Region.Framework.Scenes
640 /// The original SceneObjectPart will be used rather than a copy, preserving 650 /// The original SceneObjectPart will be used rather than a copy, preserving
641 /// its existing localID and UUID. 651 /// its existing localID and UUID.
642 /// </summary> 652 /// </summary>
643 public SceneObjectGroup(SceneObjectPart part) 653 public SceneObjectGroup(SceneObjectPart part) : this()
644 { 654 {
645 SetRootPart(part); 655 SetRootPart(part);
646 } 656 }
@@ -648,9 +658,8 @@ namespace OpenSim.Region.Framework.Scenes
648 /// <summary> 658 /// <summary>
649 /// Constructor. This object is added to the scene later via AttachToScene() 659 /// Constructor. This object is added to the scene later via AttachToScene()
650 /// </summary> 660 /// </summary>
651 public SceneObjectGroup(UUID ownerID, Vector3 pos, Quaternion rot, PrimitiveBaseShape shape) 661 public SceneObjectGroup(UUID ownerID, Vector3 pos, Quaternion rot, PrimitiveBaseShape shape) :this(new SceneObjectPart(ownerID, shape, pos, rot, Vector3.Zero))
652 { 662 {
653 SetRootPart(new SceneObjectPart(ownerID, shape, pos, rot, Vector3.Zero));
654 } 663 }
655 664
656 /// <summary> 665 /// <summary>