diff options
Diffstat (limited to 'linden/indra/newview/llvoavatar.cpp')
-rw-r--r-- | linden/indra/newview/llvoavatar.cpp | 45 |
1 files changed, 17 insertions, 28 deletions
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp index 6904bb2..35cabc1 100644 --- a/linden/indra/newview/llvoavatar.cpp +++ b/linden/indra/newview/llvoavatar.cpp | |||
@@ -1474,6 +1474,7 @@ void LLVOAvatar::initClass() | |||
1474 | { | 1474 | { |
1475 | loadClientTags(); | 1475 | loadClientTags(); |
1476 | } | 1476 | } |
1477 | initCloud(); | ||
1477 | } | 1478 | } |
1478 | 1479 | ||
1479 | 1480 | ||
@@ -1489,6 +1490,21 @@ void LLVOAvatar::cleanupClass() | |||
1489 | sXMLTree.cleanup(); | 1490 | sXMLTree.cleanup(); |
1490 | } | 1491 | } |
1491 | 1492 | ||
1493 | LLPartSysData LLVOAvatar::sCloud; | ||
1494 | void LLVOAvatar::initCloud() | ||
1495 | { | ||
1496 | // fancy particle cloud designed by Brent | ||
1497 | |||
1498 | std::string filename = gDirUtilp->getExpandedFilename(LL_PATH_APP_SETTINGS, "cloud.xml"); | ||
1499 | LLSD cloud; | ||
1500 | llifstream in_file(filename); | ||
1501 | LLSDSerialize::fromXMLDocument(cloud, in_file); | ||
1502 | sCloud.fromLLSD(cloud); | ||
1503 | LLViewerImage* cloud_image = gImageList.getImageFromFile("cloud-particle.j2c"); | ||
1504 | sCloud.mPartImageID = cloud_image->getID(); | ||
1505 | |||
1506 | } | ||
1507 | |||
1492 | const LLVector3 LLVOAvatar::getRenderPosition() const | 1508 | const LLVector3 LLVOAvatar::getRenderPosition() const |
1493 | { | 1509 | { |
1494 | if (mDrawable.isNull() || mDrawable->getGeneration() < 0) | 1510 | if (mDrawable.isNull() || mDrawable->getGeneration() < 0) |
@@ -3070,34 +3086,7 @@ void LLVOAvatar::idleUpdateLoadingEffect() | |||
3070 | } | 3086 | } |
3071 | else | 3087 | else |
3072 | { | 3088 | { |
3073 | LLPartSysData particle_parameters; | 3089 | setParticleSource(sCloud, getID()); |
3074 | |||
3075 | // fancy particle cloud designed by Brent | ||
3076 | particle_parameters.mPartData.mMaxAge = 4.f; | ||
3077 | particle_parameters.mPartData.mStartScale.mV[VX] = 0.8f; | ||
3078 | particle_parameters.mPartData.mStartScale.mV[VX] = 0.8f; | ||
3079 | particle_parameters.mPartData.mStartScale.mV[VY] = 1.0f; | ||
3080 | particle_parameters.mPartData.mEndScale.mV[VX] = 0.02f; | ||
3081 | particle_parameters.mPartData.mEndScale.mV[VY] = 0.02f; | ||
3082 | particle_parameters.mPartData.mStartColor = LLColor4(1, 1, 1, 0.5f); | ||
3083 | particle_parameters.mPartData.mEndColor = LLColor4(1, 1, 1, 0.0f); | ||
3084 | particle_parameters.mPartData.mStartScale.mV[VX] = 0.8f; | ||
3085 | LLViewerImage* cloud = gImageList.getImageFromFile("cloud-particle.j2c"); | ||
3086 | particle_parameters.mPartImageID = cloud->getID(); | ||
3087 | particle_parameters.mMaxAge = 0.f; | ||
3088 | particle_parameters.mPattern = LLPartSysData::LL_PART_SRC_PATTERN_ANGLE_CONE; | ||
3089 | particle_parameters.mInnerAngle = 3.14159f; | ||
3090 | particle_parameters.mOuterAngle = 0.f; | ||
3091 | particle_parameters.mBurstRate = 0.02f; | ||
3092 | particle_parameters.mBurstRadius = 0.0f; | ||
3093 | particle_parameters.mBurstPartCount = 1; | ||
3094 | particle_parameters.mBurstSpeedMin = 0.1f; | ||
3095 | particle_parameters.mBurstSpeedMax = 1.f; | ||
3096 | particle_parameters.mPartData.mFlags = ( LLPartData::LL_PART_INTERP_COLOR_MASK | LLPartData::LL_PART_INTERP_SCALE_MASK | | ||
3097 | LLPartData::LL_PART_EMISSIVE_MASK | // LLPartData::LL_PART_FOLLOW_SRC_MASK | | ||
3098 | LLPartData::LL_PART_TARGET_POS_MASK ); | ||
3099 | |||
3100 | setParticleSource(particle_parameters, getID()); | ||
3101 | } | 3090 | } |
3102 | } | 3091 | } |
3103 | } | 3092 | } |