aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/linden/indra/newview/llvoavatar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'linden/indra/newview/llvoavatar.cpp')
-rw-r--r--linden/indra/newview/llvoavatar.cpp45
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
1493LLPartSysData LLVOAvatar::sCloud;
1494void 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
1492const LLVector3 LLVOAvatar::getRenderPosition() const 1508const 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}