diff options
| author | dolphin <dolphin@lindenlab.com> | 2013-01-29 14:26:12 -0800 |
|---|---|---|
| committer | dolphin <dolphin@lindenlab.com> | 2013-01-29 14:26:12 -0800 |
| commit | afcf9a7d99047a64261b41029d4b2cffab1d961d (patch) | |
| tree | 3ecdcaceb21317d55ac16ccc2cf3ba911fc7de06 /indra/newview/lldrawable.cpp | |
| parent | 596522c7e5a9bff53a56db90597c7bcbcdbf1537 (diff) | |
| parent | dae5c6294af0b133419b0b40dfc971aae37329c1 (diff) | |
Merge
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; |
