diff options
author | SignpostMarv | 2012-08-02 11:19:33 +0100 |
---|---|---|
committer | Melanie | 2012-08-02 22:12:36 +0100 |
commit | cd2c5843a86af5b6b49b6675e90b702b479fd258 (patch) | |
tree | 6e4983737c77e2de1d1da2005776ef0974f4dbc6 | |
parent | Merge branch 'master' of melanie@opensimulator.org:/var/git/opensim (diff) | |
download | opensim-SC-cd2c5843a86af5b6b49b6675e90b702b479fd258.zip opensim-SC-cd2c5843a86af5b6b49b6675e90b702b479fd258.tar.gz opensim-SC-cd2c5843a86af5b6b49b6675e90b702b479fd258.tar.bz2 opensim-SC-cd2c5843a86af5b6b49b6675e90b702b479fd258.tar.xz |
reduced-complexity implementation of function to get rezzing object key
Signed-off-by: Melanie <melanie@t-data.com>
5 files changed, 29 insertions, 1 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/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 52469a2..c9345e5 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -611,6 +611,14 @@ namespace OpenSim.Region.Framework.Scenes | |||
611 | public UUID FromItemID { get; set; } | 611 | public UUID FromItemID { get; set; } |
612 | 612 | ||
613 | /// <summary> | 613 | /// <summary> |
614 | /// Refers to the SceneObjectPart.UUID property of the object that this object was rezzed from, if applicable. | ||
615 | /// </summary> | ||
616 | /// <remarks> | ||
617 | /// If not applicable will be UUID.Zero | ||
618 | /// </remarks> | ||
619 | public UUID RezzingObjectID { get; set; } | ||
620 | |||
621 | /// <summary> | ||
614 | /// The folder ID that this object was rezzed from, if applicable. | 622 | /// The folder ID that this object was rezzed from, if applicable. |
615 | /// </summary> | 623 | /// </summary> |
616 | /// <remarks> | 624 | /// <remarks> |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs index 44de176..e5a4fe8 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/OSSL_Api.cs | |||
@@ -3314,5 +3314,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
3314 | 3314 | ||
3315 | return Math.Max(a, b); | 3315 | return Math.Max(a, b); |
3316 | } | 3316 | } |
3317 | |||
3318 | public LSL_Key osGetRezzingObject() | ||
3319 | { | ||
3320 | CheckThreatLevel(ThreatLevel.None, "osGetRezzingObject"); | ||
3321 | m_host.AddScriptLPS(1); | ||
3322 | |||
3323 | return new LSL_Key(m_host.ParentGroup.RezzingObjectID.ToString()); | ||
3324 | } | ||
3317 | } | 3325 | } |
3318 | } \ No newline at end of file | 3326 | } \ No newline at end of file |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs index f73a85e..1f000a3 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Interface/IOSSL_Api.cs | |||
@@ -299,5 +299,11 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Interfaces | |||
299 | /// <param name="b"></param> | 299 | /// <param name="b"></param> |
300 | /// <returns></returns> | 300 | /// <returns></returns> |
301 | LSL_Float osMax(double a, double b); | 301 | LSL_Float osMax(double a, double b); |
302 | |||
303 | /// <summary> | ||
304 | /// Get the key of the object that rezzed this object. | ||
305 | /// </summary> | ||
306 | /// <returns>Rezzing object key or NULL_KEY if rezzed by agent or otherwise unknown.</returns> | ||
307 | LSL_Key osGetRezzingObject(); | ||
302 | } | 308 | } |
303 | } | 309 | } |
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs index 53daa13..94405d2 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Runtime/OSSL_Stub.cs | |||
@@ -945,5 +945,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.ScriptBase | |||
945 | { | 945 | { |
946 | return m_OSSL_Functions.osMax(a, b); | 946 | return m_OSSL_Functions.osMax(a, b); |
947 | } | 947 | } |
948 | |||
949 | public LSL_Key osGetRezzingObject() | ||
950 | { | ||
951 | return m_OSSL_Functions.osGetRezzingObject(); | ||
952 | } | ||
948 | } | 953 | } |
949 | } | 954 | } |