diff options
author | Teravus Ovares (Dan Olivares) | 2009-11-22 22:04:52 -0500 |
---|---|---|
committer | Teravus Ovares (Dan Olivares) | 2009-11-22 22:04:52 -0500 |
commit | 21f80b6507077b7f554ff43b71408c484c515298 (patch) | |
tree | 8184ac37e0369fc58f712de1362d477553178d91 /OpenSim/Region/Physics/OdePlugin | |
parent | * Added missing lock to m_forcelist when AddForce is called. When a user dr... (diff) | |
download | opensim-SC-21f80b6507077b7f554ff43b71408c484c515298.zip opensim-SC-21f80b6507077b7f554ff43b71408c484c515298.tar.gz opensim-SC-21f80b6507077b7f554ff43b71408c484c515298.tar.bz2 opensim-SC-21f80b6507077b7f554ff43b71408c484c515298.tar.xz |
* Adds a test for if the collision is at the bottom of the capsule on avatar. This prevents the 'double jump' capability that's been occurring for ages when avatar collide with prim on the side.
Diffstat (limited to 'OpenSim/Region/Physics/OdePlugin')
-rw-r--r-- | OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs index 981cf43..e6b31ca 100644 --- a/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs +++ b/OpenSim/Region/Physics/OdePlugin/OdePlugin.cs | |||
@@ -835,7 +835,18 @@ namespace OpenSim.Region.Physics.OdePlugin | |||
835 | // allows us to have different settings | 835 | // allows us to have different settings |
836 | 836 | ||
837 | // We only need to test p2 for 'jump crouch purposes' | 837 | // We only need to test p2 for 'jump crouch purposes' |
838 | p2.IsColliding = true; | 838 | if (p2 is OdeCharacter) |
839 | { | ||
840 | // Testing if the collision is at the feet of the avatar | ||
841 | |||
842 | //m_log.DebugFormat("[PHYSICS]: {0} - {1} - {2} - {3}", curContact.pos.Z, p2.Position.Z, (p2.Position.Z - curContact.pos.Z), (p2.Size.Z * 0.6f)); | ||
843 | if ((p2.Position.Z - curContact.pos.Z) > (p2.Size.Z * 0.6f)) | ||
844 | p2.IsColliding = true; | ||
845 | } | ||
846 | else | ||
847 | { | ||
848 | p2.IsColliding = true; | ||
849 | } | ||
839 | 850 | ||
840 | //if ((framecount % m_returncollisions) == 0) | 851 | //if ((framecount % m_returncollisions) == 0) |
841 | 852 | ||