BOOL LLPartSysData::unpack(LLDataPacker &dp) { dp.unpackU32(mCRC, "pscrc"); dp.unpackU32(mFlags, "psflags"); dp.unpackU8(mPattern, "pspattern"); dp.unpackFixed(mMaxAge, "psmaxage", FALSE, 8, 8); dp.unpackFixed(mStartAge, "psstartage", FALSE, 8, 8); dp.unpackFixed(mInnerAngle, "psinnerangle", FALSE, 3, 5); dp.unpackFixed(mOuterAngle, "psouterangle", FALSE, 3, 5); dp.unpackFixed(mBurstRate, "psburstrate", FALSE, 8, 8); mBurstRate = llmax(0.01f, mBurstRate); dp.unpackFixed(mBurstRadius, "psburstradius", FALSE, 8, 8); dp.unpackFixed(mBurstSpeedMin, "psburstspeedmin", FALSE, 8, 8); dp.unpackFixed(mBurstSpeedMax, "psburstspeedmax", FALSE, 8, 8); dp.unpackU8(mBurstPartCount, "psburstpartcount"); dp.unpackFixed(mAngularVelocity.mV[0], "psangvelx", TRUE, 8, 7); dp.unpackFixed(mAngularVelocity.mV[1], "psangvely", TRUE, 8, 7); dp.unpackFixed(mAngularVelocity.mV[2], "psangvelz", TRUE, 8, 7); dp.unpackFixed(mPartAccel.mV[0], "psaccelx", TRUE, 8, 7); dp.unpackFixed(mPartAccel.mV[1], "psaccely", TRUE, 8, 7); dp.unpackFixed(mPartAccel.mV[2], "psaccelz", TRUE, 8, 7); dp.unpackUUID(mPartImageID, "psuuid"); dp.unpackUUID(mTargetUUID, "pstargetuuid"); mPartData.unpack(dp); return TRUE; }
BOOL LLPartData::unpack(LLDataPacker &dp) { LLColor4U coloru; dp.unpackU32(mFlags, "pdflags"); dp.unpackFixed(mMaxAge, "pdmaxage", FALSE, 8, 8); dp.unpackColor4U(coloru, "pdstartcolor"); mStartColor.setVec(coloru); dp.unpackColor4U(coloru, "pdendcolor"); mEndColor.setVec(coloru); dp.unpackFixed(mStartScale.mV[0], "pdstartscalex", FALSE, 3, 5); dp.unpackFixed(mStartScale.mV[1], "pdstartscaley", FALSE, 3, 5); dp.unpackFixed(mEndScale.mV[0], "pdendscalex", FALSE, 3, 5); dp.unpackFixed(mEndScale.mV[1], "pdendscaley", FALSE, 3, 5); return TRUE; }