diff options
author | Teravus Ovares | 2008-01-30 07:09:58 +0000 |
---|---|---|
committer | Teravus Ovares | 2008-01-30 07:09:58 +0000 |
commit | fc9b3ec5a8c65f9b97e81f0e41abe4a9f45d4b3a (patch) | |
tree | 7117d76c491ecdb8cf4d4b302ee51aa3fac17502 /OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |
parent | * Fixed a crash if the server is unable to connect to the UserServer when a u... (diff) | |
download | opensim-SC_OLD-fc9b3ec5a8c65f9b97e81f0e41abe4a9f45d4b3a.zip opensim-SC_OLD-fc9b3ec5a8c65f9b97e81f0e41abe4a9f45d4b3a.tar.gz opensim-SC_OLD-fc9b3ec5a8c65f9b97e81f0e41abe4a9f45d4b3a.tar.bz2 opensim-SC_OLD-fc9b3ec5a8c65f9b97e81f0e41abe4a9f45d4b3a.tar.xz |
* Experimental ODE Update to make ODE more stable
* WARNING: This update will break *nix support. Will be restored in the next revision
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin/ODECharacter.cs')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs index 3f63477..a21b7eb 100644 --- a/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs +++ b/OpenSim/Region/Physics/OdePlugin/ODECharacter.cs | |||
@@ -359,6 +359,9 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
359 | CAPSULE_LENGTH = (SetSize.Z - ((SetSize.Z*0.52f))); // subtract 43% of the size | 359 | CAPSULE_LENGTH = (SetSize.Z - ((SetSize.Z*0.52f))); // subtract 43% of the size |
360 | OpenSim.Framework.Console.MainLog.Instance.Verbose("SIZE", CAPSULE_LENGTH.ToString()); | 360 | OpenSim.Framework.Console.MainLog.Instance.Verbose("SIZE", CAPSULE_LENGTH.ToString()); |
361 | d.BodyDestroy(Body); | 361 | d.BodyDestroy(Body); |
362 | |||
363 | _parent_scene.waitForSpaceUnlock(_parent_scene.space); | ||
364 | |||
362 | d.GeomDestroy(Shell); | 365 | d.GeomDestroy(Shell); |
363 | AvatarGeomAndBodyCreation(_position.X, _position.Y, | 366 | AvatarGeomAndBodyCreation(_position.X, _position.Y, |
364 | _position.Z + (Math.Abs(CAPSULE_LENGTH - prevCapsule) * 2), m_tensor); | 367 | _position.Z + (Math.Abs(CAPSULE_LENGTH - prevCapsule) * 2), m_tensor); |
@@ -389,6 +392,7 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
389 | } | 392 | } |
390 | 393 | ||
391 | int dAMotorEuler = 1; | 394 | int dAMotorEuler = 1; |
395 | _parent_scene.waitForSpaceUnlock(_parent_scene.space); | ||
392 | Shell = d.CreateCapsule(_parent_scene.space, CAPSULE_RADIUS, CAPSULE_LENGTH); | 396 | Shell = d.CreateCapsule(_parent_scene.space, CAPSULE_RADIUS, CAPSULE_LENGTH); |
393 | d.MassSetCapsuleTotal(out ShellMass, m_mass, 2, CAPSULE_RADIUS, CAPSULE_LENGTH); | 397 | d.MassSetCapsuleTotal(out ShellMass, m_mass, 2, CAPSULE_RADIUS, CAPSULE_LENGTH); |
394 | Body = d.BodyCreate(_parent_scene.world); | 398 | Body = d.BodyCreate(_parent_scene.world); |
@@ -781,6 +785,8 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
781 | d.JointDestroy(Amotor); | 785 | d.JointDestroy(Amotor); |
782 | 786 | ||
783 | //kill the Geometry | 787 | //kill the Geometry |
788 | _parent_scene.waitForSpaceUnlock(_parent_scene.space); | ||
789 | |||
784 | d.GeomDestroy(Shell); | 790 | d.GeomDestroy(Shell); |
785 | _parent_scene.geom_name_map.Remove(Shell); | 791 | _parent_scene.geom_name_map.Remove(Shell); |
786 | 792 | ||