MAINT-5635 PSYS_SRC_MAX_AGE breaks when replacing a particle system without it

master
andreykproductengine 2016-05-11 18:33:50 +03:00
parent 80573b362c
commit 54bbf95f26
1 changed files with 10 additions and 0 deletions

View File

@ -441,10 +441,20 @@ LLPointer<LLViewerPartSourceScript> LLViewerPartSourceScript::unpackPSS(LLViewer
return NULL;
}
F32 prev_max_age = pssp->mPartSysData.mMaxAge;
F32 prev_start_age = pssp->mPartSysData.mStartAge;
if (!pssp->mPartSysData.unpackBlock(block_num))
{
return NULL;
}
else if (pssp->mPartSysData.mMaxAge
&& (prev_max_age != pssp->mPartSysData.mMaxAge || prev_start_age != pssp->mPartSysData.mStartAge))
{
// reusing existing pss, so reset time to allow particles to start again
pssp->mLastUpdateTime = 0.f;
pssp->mLastPartTime = 0.f;
}
if (pssp->mPartSysData.mTargetUUID.notNull())
{
LLViewerObject *target_objp = gObjectList.findObject(pssp->mPartSysData.mTargetUUID);