diff options
| author | Oz Linden <oz@lindenlab.com> | 2013-01-25 13:11:56 -0500 |
|---|---|---|
| committer | Oz Linden <oz@lindenlab.com> | 2013-01-25 13:11:56 -0500 |
| commit | cc15a08ac4c26822d29d51e42606b58d3ef55365 (patch) | |
| tree | 680b23c6c9259be8d40152e644101abadcbe3751 /indra/newview/lldrawable.cpp | |
| parent | 51c8ffa2e222262dbfcc5430b2b1113a3dc0157c (diff) | |
| parent | c1827f7cf9c3340e9630a47f194108f03b1be1c4 (diff) | |
merge changes for DRTVWR-290
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 647c3355ca..d041baea90 100644 --- a/indra/newview/lldrawable.cpp +++ b/indra/newview/lldrawable.cpp @@ -524,6 +524,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); @@ -549,9 +550,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; |
