From a350582f7413c2f00007c10fbb34a0fb620bf038 Mon Sep 17 00:00:00 2001 From: Rye Mutt <rye@alchemyviewer.org> Date: Tue, 17 Mar 2020 23:05:46 -0400 Subject: [PATCH] Fix selection beams not smoothly interpolating position --- indra/newview/llviewerpartsource.cpp | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/indra/newview/llviewerpartsource.cpp b/indra/newview/llviewerpartsource.cpp index 792fcb99eeb..8e756d2d9eb 100644 --- a/indra/newview/llviewerpartsource.cpp +++ b/indra/newview/llviewerpartsource.cpp @@ -706,8 +706,6 @@ void LLViewerPartSourceBeam::setColor(const LLColor4 &color) void LLViewerPartSourceBeam::updatePart(LLViewerPart &part, const F32 dt) { - F32 frac = part.mLastUpdateTime/part.mMaxAge; - LLViewerPartSource *ps = (LLViewerPartSource*)part.mPartSourcep; LLViewerPartSourceBeam *psb = (LLViewerPartSourceBeam *)ps; if (psb->mSourceObjectp.isNull()) @@ -736,6 +734,7 @@ void LLViewerPartSourceBeam::updatePart(LLViewerPart &part, const F32 dt) target_pos_agent = psb->mTargetObjectp->getRenderPosition(); } + F32 frac = part.mLastUpdateTime / part.mMaxAge; part.mPosAgent = (1.f - frac) * source_pos_agent; if (psb->mTargetObjectp.isNull()) { @@ -796,7 +795,7 @@ void LLViewerPartSourceBeam::update(const F32 dt) } LLViewerPart* part = new LLViewerPart(); - part->init(this, mImagep, NULL); + part->init(this, mImagep, updatePart); part->mFlags = LLPartData::LL_PART_INTERP_COLOR_MASK | LLPartData::LL_PART_INTERP_SCALE_MASK | -- GitLab