From 209110d1aa7ee369ccdf68641c3d7f9e558427de Mon Sep 17 00:00:00 2001 From: Loren Shih Date: Mon, 21 Mar 2011 15:39:42 -0400 Subject: Velocity now gets zeroed out if the param is pushed beyond limits. Rescaled the max speed param. --- indra/newview/llphysicsmotion.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'indra/newview/llphysicsmotion.cpp') diff --git a/indra/newview/llphysicsmotion.cpp b/indra/newview/llphysicsmotion.cpp index 2a88a4a2b5..48e632280e 100644 --- a/indra/newview/llphysicsmotion.cpp +++ b/indra/newview/llphysicsmotion.cpp @@ -523,7 +523,7 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) const F32 acceleration_new_local = force_net / behavior_mass; F32 velocity_new_local = mVelocity_local + acceleration_new_local; velocity_new_local = llclamp(velocity_new_local, - -behavior_maxspeed*100.0f, behavior_maxspeed*100.0f); + -behavior_maxspeed, behavior_maxspeed); // Temporary debugging setting to cause all avatars to move, for profiling purposes. if (gSavedSettings.getBOOL("AvatarPhysicsTest")) @@ -535,6 +535,12 @@ BOOL LLPhysicsMotion::onUpdate(F32 time) (position_current_local + velocity_new_local*time_delta) : position_user_local; + // Zero out the velocity if the param is being pushed beyond its limits. + if (position_new_local < 0 || position_new_local > 1) + { + velocity_new_local = 0; + } + const F32 position_new_local_clamped = llclamp(position_new_local, 0.0f, 1.0f); -- cgit v1.2.3