diff options
| author | prep <prep@lindenlab.com> | 2013-02-13 11:30:36 -0500 |
|---|---|---|
| committer | prep <prep@lindenlab.com> | 2013-02-13 11:30:36 -0500 |
| commit | 11d12f1a99c8ef256299f601cd0ad6604e2178c5 (patch) | |
| tree | bdf5ee8d47f05275cf384395ae8a0d083bf45bc6 /indra/newview/lldrawable.cpp | |
| parent | 2665106aebc4fde975aa13f5c093637e4d9d30ad (diff) | |
| parent | 79eeae502c4965a6091614f774aa68ba7837742a (diff) | |
Merge from viewer-beta
Diffstat (limited to 'indra/newview/lldrawable.cpp')
| -rw-r--r-- | indra/newview/lldrawable.cpp | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp index d8b1887a90..24413caf6a 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -523,6 +523,7 @@ F32 LLDrawable::updateXform(BOOL undamped) dist_squared = dist_vec_squared(new_pos, target_pos); LLQuaternion new_rot = nlerp(lerp_amt, old_rot, target_rot); + // FIXME: This can be negative! It is be possible for some rots to 'cancel out' pos or size changes. dist_squared += (1.f - dot(new_rot, target_rot)) * 10.f; LLVector3 new_scale = lerp(old_scale, target_scale, lerp_amt); @@ -548,9 +549,12 @@ F32 LLDrawable::updateXform(BOOL undamped) } else { - dist_squared = dist_vec_squared(old_pos, target_pos); - dist_squared += (1.f - dot(old_rot, target_rot)) * 10.f; - dist_squared += dist_vec_squared(old_scale, target_scale); + // The following fixes MAINT-1742 but breaks vehicles similar to MAINT-2275 + // dist_squared = dist_vec_squared(old_pos, target_pos); + + // The following fixes MAINT-2247 but causes MAINT-2275 + //dist_squared += (1.f - dot(old_rot, target_rot)) * 10.f; + //dist_squared += dist_vec_squared(old_scale, target_scale); } LLVector3 vec = mCurrentScale-target_scale; |
