diff options
author | Melanie Thielker | 2008-10-11 23:47:35 +0000 |
---|---|---|
committer | Melanie Thielker | 2008-10-11 23:47:35 +0000 |
commit | 6f2d0773565039cf4318afe8f2f6f11772480d9b (patch) | |
tree | 3d0297bc0182a7d0f4bdca01824f8aa0d50d052f /OpenSim/Region/ScriptEngine/Shared/Api | |
parent | The "About Landmark" code with the fake parcelIDs had a serious bug. (diff) | |
download | opensim-SC_OLD-6f2d0773565039cf4318afe8f2f6f11772480d9b.zip opensim-SC_OLD-6f2d0773565039cf4318afe8f2f6f11772480d9b.tar.gz opensim-SC_OLD-6f2d0773565039cf4318afe8f2f6f11772480d9b.tar.bz2 opensim-SC_OLD-6f2d0773565039cf4318afe8f2f6f11772480d9b.tar.xz |
Fix llSetPos to handle child prims correctly. This will fix linked
sliding doors
Diffstat (limited to 'OpenSim/Region/ScriptEngine/Shared/Api')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 6bda61e..447a4fb 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1724,11 +1724,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1724 | { | 1724 | { |
1725 | 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)); |
1726 | } | 1726 | } |
1727 | else | 1727 | else if (part.ParentGroup.RootPart == part) |
1728 | { | 1728 | { |
1729 | SceneObjectGroup parent = part.ParentGroup; | 1729 | SceneObjectGroup parent = part.ParentGroup; |
1730 | parent.UpdateGroupPosition(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z)); | 1730 | parent.UpdateGroupPosition(new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z)); |
1731 | } | 1731 | } |
1732 | else | ||
1733 | { | ||
1734 | part.OffsetPosition = new Vector3((float)targetPos.x, (float)targetPos.y, (float)targetPos.z); | ||
1735 | SceneObjectGroup parent = part.ParentGroup; | ||
1736 | parent.HasGroupChanged = true; | ||
1737 | parent.ScheduleGroupForTerseUpdate(); | ||
1738 | } | ||
1732 | } | 1739 | } |
1733 | 1740 | ||
1734 | public LSL_Vector llGetPos() | 1741 | public LSL_Vector llGetPos() |