diff options
author | Charles Krinke | 2008-10-08 01:49:58 +0000 |
---|---|---|
committer | Charles Krinke | 2008-10-08 01:49:58 +0000 |
commit | e4fc55f71ef5e76bf267f91a9e34d669e24d8c80 (patch) | |
tree | 0fdef5df2ed0b99185303f615bda33615dd0e340 | |
parent | Mantis#1906. Thank you kindly, Idb for a patch that: (diff) | |
download | opensim-SC-e4fc55f71ef5e76bf267f91a9e34d669e24d8c80.zip opensim-SC-e4fc55f71ef5e76bf267f91a9e34d669e24d8c80.tar.gz opensim-SC-e4fc55f71ef5e76bf267f91a9e34d669e24d8c80.tar.bz2 opensim-SC-e4fc55f71ef5e76bf267f91a9e34d669e24d8c80.tar.xz |
Mantis#2352. Thank you kindly, Jonc for a patch that:
If prim is part of SOG, then ask the SOG to update the
position, rather than asking the part itself.
Ghosted child prims should no longer result from llSetPos.
Not sure if this is the right approach for all cases ,
would appreciate feedback on the patch.
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index cc22994..a33b5cf 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1718,14 +1718,16 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1718 | { | 1718 | { |
1719 | targetPos = currentPos + m_ScriptDistanceFactor * 10.0f * llVecNorm(targetPos - currentPos); | 1719 | targetPos = currentPos + m_ScriptDistanceFactor * 10.0f * llVecNorm(targetPos - currentPos); |
1720 | } | 1720 | } |
1721 | |||
1721 | 1722 | ||
1722 | if (part.ParentID != 0) | 1723 | if (part.ParentGroup == null) |
1723 | { | 1724 | { |
1724 | part.UpdateOffSet(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z)); | 1725 | part.UpdateOffSet(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z)); |
1725 | } | 1726 | } |
1726 | else | 1727 | else |
1727 | { | 1728 | { |
1728 | part.UpdateGroupPosition(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z)); | 1729 | SceneObjectGroup parent = part.ParentGroup; |
1730 | parent.UpdateGroupPosition(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z)); | ||
1729 | } | 1731 | } |
1730 | } | 1732 | } |
1731 | 1733 | ||