diff --git a/OpenSim/Region/Environment/Scenes/Scene.cs b/OpenSim/Region/Environment/Scenes/Scene.cs
index 8ee5856252..4aa3c49290 100644
--- a/OpenSim/Region/Environment/Scenes/Scene.cs
+++ b/OpenSim/Region/Environment/Scenes/Scene.cs
@@ -1023,5 +1023,23 @@ namespace OpenSim.Region.Environment.Scenes
ScriptEngine.InitializeEngine(this);
}
#endregion
+
+ public LLUUID ConvertLocalIDToFullID(uint localID)
+ {
+ bool hasPrim = false;
+ foreach (EntityBase ent in Entities.Values)
+ {
+ if (ent is SceneObjectGroup)
+ {
+ hasPrim = ((SceneObjectGroup)ent).HasChildPrim(localID);
+ if (hasPrim != false)
+ {
+ return ((SceneObjectGroup)ent).GetPartsFullID(localID);
+ }
+ }
+ }
+
+ return null;
+ }
}
}
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
index ad7b906865..4f98199f91 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectGroup.cs
@@ -825,5 +825,15 @@ namespace OpenSim.Region.Environment.Scenes
}
}
}
+
+ public LLUUID GetPartsFullID(uint localID)
+ {
+ SceneObjectPart part = this.GetChildPrim(localID);
+ if (part != null)
+ {
+ return part.UUID;
+ }
+ return null;
+ }
}
}
diff --git a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
index c1348c7979..09a864e0aa 100644
--- a/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
+++ b/OpenSim/Region/Environment/Scenes/SceneObjectPart.cs
@@ -300,7 +300,11 @@ namespace OpenSim.Region.Environment.Scenes
dupe.Acceleration = new LLVector3(0, 0, 0);
dupe.AngularVelocity = new LLVector3(0, 0, 0);
dupe.ObjectFlags = this.ObjectFlags;
- //TODO copy extraparams data and anything else not currently copied
+
+ byte[] extraP = new byte[this.Shape.ExtraParams.Length];
+ Array.Copy(this.Shape.ExtraParams, extraP, extraP.Length);
+ dupe.Shape.ExtraParams = extraP;
+
return dupe;
}
#endregion
diff --git a/bin/OpenSimAssetSet.xml b/bin/OpenSimAssetSet.xml
index d81b5b5508..c3f061f08e 100644
--- a/bin/OpenSimAssetSet.xml
+++ b/bin/OpenSimAssetSet.xml
@@ -6,4 +6,18 @@
+
+
\ No newline at end of file