diff options
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs index 9c62775..fbbbfdc 100644 --- a/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs +++ b/OpenSim/Region/ScriptEngine/Shared/Api/Implementation/LSL_Api.cs | |||
@@ -1987,6 +1987,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api | |||
1987 | 1987 | ||
1988 | //KF: Do NOT use this next line if using ODE physics engine. This need a switch based on .ini Phys Engine type | 1988 | //KF: Do NOT use this next line if using ODE physics engine. This need a switch based on .ini Phys Engine type |
1989 | // part.ParentGroup.AbsolutePosition = part.ParentGroup.AbsolutePosition; | 1989 | // part.ParentGroup.AbsolutePosition = part.ParentGroup.AbsolutePosition; |
1990 | |||
1991 | // So, after thinking about this for a bit, the issue with the part.ParentGroup.AbsolutePosition = part.ParentGroup.AbsolutePosition line | ||
1992 | // is it isn't compatible with vehicles because it causes the vehicle body to have to be broken down and rebuilt | ||
1993 | // It's perfectly okay when the object is not an active physical body though. | ||
1994 | // So, part.ParentGroup.ResetChildPrimPhysicsPositions(); does the thing that Kitto is warning against | ||
1995 | // but only if the object is not physial and active. This is important for rotating doors. | ||
1996 | // without the absoluteposition = absoluteposition happening, the doors do not move in the physics | ||
1997 | // scene | ||
1998 | if (part.PhysActor != null && !part.PhysActor.IsPhysical) | ||
1999 | { | ||
2000 | part.ParentGroup.ResetChildPrimPhysicsPositions(); | ||
2001 | } | ||
1990 | } | 2002 | } |
1991 | 2003 | ||
1992 | /// <summary> | 2004 | /// <summary> |