diff options
author | UbitUmarov | 2012-05-04 22:24:04 +0100 |
---|---|---|
committer | UbitUmarov | 2012-05-04 22:24:04 +0100 |
commit | 6b3135aa4dcdcd469054ed0af5eba3b30ae5cd3c (patch) | |
tree | 0cc7e3a33c31ce9f93e429526617c4821a81e63b /OpenSim | |
parent | Fix teleporting from older to newer regions (diff) | |
download | opensim-SC_OLD-6b3135aa4dcdcd469054ed0af5eba3b30ae5cd3c.zip opensim-SC_OLD-6b3135aa4dcdcd469054ed0af5eba3b30ae5cd3c.tar.gz opensim-SC_OLD-6b3135aa4dcdcd469054ed0af5eba3b30ae5cd3c.tar.bz2 opensim-SC_OLD-6b3135aa4dcdcd469054ed0af5eba3b30ae5cd3c.tar.xz |
UbitODE: leave avatar 'freemove' state (entered on setmomentum) on any significant change like new 'velocity' or new position, etc, requests
Diffstat (limited to 'OpenSim')
-rw-r--r-- | OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs index 326fe97..672b9e0 100644 --- a/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/UbitOdePlugin/ODECharacter.cs | |||
@@ -1184,7 +1184,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1184 | // destroy avatar capsule and related ODE data | 1184 | // destroy avatar capsule and related ODE data |
1185 | AvatarGeomAndBodyDestroy(); | 1185 | AvatarGeomAndBodyDestroy(); |
1186 | } | 1186 | } |
1187 | 1187 | m_freemove = false; | |
1188 | m_isPhysical = NewStatus; | 1188 | m_isPhysical = NewStatus; |
1189 | } | 1189 | } |
1190 | } | 1190 | } |
@@ -1236,7 +1236,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1236 | + (Amotor == IntPtr.Zero ? "Amotor " : "")); | 1236 | + (Amotor == IntPtr.Zero ? "Amotor " : "")); |
1237 | } | 1237 | } |
1238 | } | 1238 | } |
1239 | 1239 | m_freemove = false; | |
1240 | m_pidControllerActive = true; | 1240 | m_pidControllerActive = true; |
1241 | } | 1241 | } |
1242 | else | 1242 | else |
@@ -1250,6 +1250,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1250 | if (Body != IntPtr.Zero) | 1250 | if (Body != IntPtr.Zero) |
1251 | d.BodySetPosition(Body, newPos.X, newPos.Y, newPos.Z); | 1251 | d.BodySetPosition(Body, newPos.X, newPos.Y, newPos.Z); |
1252 | _position = newPos; | 1252 | _position = newPos; |
1253 | m_freemove = false; | ||
1253 | m_pidControllerActive = true; | 1254 | m_pidControllerActive = true; |
1254 | } | 1255 | } |
1255 | 1256 | ||
@@ -1260,6 +1261,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
1260 | private void changeVelocity(Vector3 newVel) | 1261 | private void changeVelocity(Vector3 newVel) |
1261 | { | 1262 | { |
1262 | m_pidControllerActive = true; | 1263 | m_pidControllerActive = true; |
1264 | m_freemove = false; | ||
1263 | _target_velocity = newVel; | 1265 | _target_velocity = newVel; |
1264 | } | 1266 | } |
1265 | 1267 | ||