diff options
Diffstat (limited to 'OpenSim/Region/Physics')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index 5ad7616..ca8fef9 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -1250,6 +1250,18 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1250 | 1250 | ||
1251 | internal void ProcessTaints() | 1251 | internal void ProcessTaints() |
1252 | { | 1252 | { |
1253 | if (m_taintPosition != _position) | ||
1254 | { | ||
1255 | if (Body != IntPtr.Zero) | ||
1256 | { | ||
1257 | d.BodySetPosition(Body, m_taintPosition.X, m_taintPosition.Y, m_taintPosition.Z); | ||
1258 | |||
1259 | _position.X = m_taintPosition.X; | ||
1260 | _position.Y = m_taintPosition.Y; | ||
1261 | _position.Z = m_taintPosition.Z; | ||
1262 | } | ||
1263 | } | ||
1264 | |||
1253 | if (m_tainted_isPhysical != m_isPhysical) | 1265 | if (m_tainted_isPhysical != m_isPhysical) |
1254 | { | 1266 | { |
1255 | if (m_tainted_isPhysical) | 1267 | if (m_tainted_isPhysical) |
@@ -1309,18 +1321,6 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1309 | + (Amotor==IntPtr.Zero ? "Amotor ":"")); | 1321 | + (Amotor==IntPtr.Zero ? "Amotor ":"")); |
1310 | } | 1322 | } |
1311 | } | 1323 | } |
1312 | |||
1313 | if (!m_taintPosition.ApproxEquals(_position, 0.05f)) | ||
1314 | { | ||
1315 | if (Body != IntPtr.Zero) | ||
1316 | { | ||
1317 | d.BodySetPosition(Body, m_taintPosition.X, m_taintPosition.Y, m_taintPosition.Z); | ||
1318 | |||
1319 | _position.X = m_taintPosition.X; | ||
1320 | _position.Y = m_taintPosition.Y; | ||
1321 | _position.Z = m_taintPosition.Z; | ||
1322 | } | ||
1323 | } | ||
1324 | } | 1324 | } |
1325 | 1325 | ||
1326 | internal void AddCollisionFrameTime(int p) | 1326 | internal void AddCollisionFrameTime(int p) |