summaryrefslogtreecommitdiff
path: root/indra/newview/llvoavatar.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview/llvoavatar.cpp')
-rw-r--r--indra/newview/llvoavatar.cpp723
1 files changed, 397 insertions, 326 deletions
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 9579a5e4b1..fd99491eb7 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -133,7 +133,8 @@ const F32 DEFAULT_MAX_ATTACHMENT_COMPLEXITY = 1.0e6f;
// expected attachments so viewer has to wait to see if anything
// else will arrive
const F32 FIRST_APPEARANCE_CLOUD_MIN_DELAY = 3.f; // seconds
-const F32 FIRST_APPEARANCE_CLOUD_MAX_DELAY = 45.f;
+const F32 FIRST_APPEARANCE_CLOUD_MAX_DELAY = 15.f;
+const F32 FIRST_APPEARANCE_CLOUD_IMPOSTOR_MODIFIER = 1.25f;
using namespace LLAvatarAppearanceDefines;
@@ -206,6 +207,7 @@ const U32 LLVOAvatar::VISUAL_COMPLEXITY_UNKNOWN = 0;
const F64 HUD_OVERSIZED_TEXTURE_DATA_SIZE = 1024 * 1024;
const F32 MAX_TEXTURE_WAIT_TIME_SEC = 60;
+const F32 MAX_ATTACHMENT_WAIT_TIME_SEC = 120;
const S32 MIN_NONTUNED_AVS = 5;
@@ -292,7 +294,7 @@ public:
//-------------------------------------------------------------------------
// motions must specify whether or not they loop
- virtual BOOL getLoop() { return TRUE; }
+ virtual bool getLoop() { return true; }
// motions must report their total duration
virtual F32 getDuration() { return 0.0; }
@@ -328,14 +330,14 @@ public:
}
// called when a motion is activated
- // must return TRUE to indicate success, or else
+ // must return true to indicate success, or else
// it will be deactivated
- virtual BOOL onActivate() { return TRUE; }
+ virtual bool onActivate() { return true; }
// called per time step
- // must return TRUE while it is active, and
- // must return FALSE when the motion is completed.
- virtual BOOL onUpdate(F32 time, U8* joint_mask)
+ // must return true while it is active, and
+ // must return false when the motion is completed.
+ virtual bool onUpdate(F32 time, U8* joint_mask)
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_AVATAR;
F32 nx[2];
@@ -353,7 +355,7 @@ public:
tQn.setQuat( rx, ry, 0.0f );
mTorsoState->setRotation( tQn );
- return TRUE;
+ return true;
}
// called when a motion is deactivated
@@ -400,7 +402,7 @@ public:
//-------------------------------------------------------------------------
// motions must specify whether or not they loop
- virtual BOOL getLoop() { return TRUE; }
+ virtual bool getLoop() { return true; }
// motions must report their total duration
virtual F32 getDuration() { return 0.0; }
@@ -425,7 +427,7 @@ public:
virtual LLMotionInitStatus onInitialize(LLCharacter *character)
{
mCharacter = character;
- BOOL success = true;
+ bool success = true;
if ( !mChestState->setJoint( character->getJoint( "mChest" ) ) )
{
@@ -449,14 +451,14 @@ public:
}
// called when a motion is activated
- // must return TRUE to indicate success, or else
+ // must return true to indicate success, or else
// it will be deactivated
- virtual BOOL onActivate() { return TRUE; }
+ virtual bool onActivate() { return true; }
// called per time step
- // must return TRUE while it is active, and
- // must return FALSE when the motion is completed.
- virtual BOOL onUpdate(F32 time, U8* joint_mask)
+ // must return true while it is active, and
+ // must return false when the motion is completed.
+ virtual bool onUpdate(F32 time, U8* joint_mask)
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_AVATAR;
mBreatheRate = 1.f;
@@ -465,7 +467,7 @@ public:
mChestState->setRotation(LLQuaternion(breathe_amt, LLVector3(0.f, 1.f, 0.f)));
- return TRUE;
+ return true;
}
// called when a motion is deactivated
@@ -513,7 +515,7 @@ public:
//-------------------------------------------------------------------------
// motions must specify whether or not they loop
- virtual BOOL getLoop() { return TRUE; }
+ virtual bool getLoop() { return true; }
// motions must report their total duration
virtual F32 getDuration() { return 0.0; }
@@ -551,19 +553,19 @@ public:
}
// called when a motion is activated
- // must return TRUE to indicate success, or else
+ // must return true to indicate success, or else
// it will be deactivated
- virtual BOOL onActivate() { return TRUE; }
+ virtual bool onActivate() { return true; }
// called per time step
- // must return TRUE while it is active, and
- // must return FALSE when the motion is completed.
- virtual BOOL onUpdate(F32 time, U8* joint_mask)
+ // must return true while it is active, and
+ // must return false when the motion is completed.
+ virtual bool onUpdate(F32 time, U8* joint_mask)
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_AVATAR;
mPelvisState->setPosition(LLVector3::zero);
- return TRUE;
+ return true;
}
// called when a motion is deactivated
@@ -606,15 +608,15 @@ const LLUUID LLVOAvatar::sStepSounds[LL_MCODE_END] =
};
S32 LLVOAvatar::sRenderName = RENDER_NAME_ALWAYS;
-BOOL LLVOAvatar::sRenderGroupTitles = TRUE;
+bool LLVOAvatar::sRenderGroupTitles = true;
S32 LLVOAvatar::sNumVisibleChatBubbles = 0;
-BOOL LLVOAvatar::sDebugInvisible = FALSE;
-BOOL LLVOAvatar::sShowAttachmentPoints = FALSE;
-BOOL LLVOAvatar::sShowAnimationDebug = FALSE;
-BOOL LLVOAvatar::sVisibleInFirstPerson = FALSE;
+bool LLVOAvatar::sDebugInvisible = false;
+bool LLVOAvatar::sShowAttachmentPoints = false;
+bool LLVOAvatar::sShowAnimationDebug = false;
+bool LLVOAvatar::sVisibleInFirstPerson = false;
F32 LLVOAvatar::sLODFactor = 1.f;
F32 LLVOAvatar::sPhysicsLODFactor = 1.f;
-BOOL LLVOAvatar::sJointDebug = FALSE;
+bool LLVOAvatar::sJointDebug = false;
F32 LLVOAvatar::sUnbakedTime = 0.f;
F32 LLVOAvatar::sUnbakedUpdateTime = 0.f;
F32 LLVOAvatar::sGreyTime = 0.f;
@@ -641,20 +643,20 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,
mAttachmentVisibleTriangleCount(0),
mAttachmentEstTriangleCount(0.f),
mReportedVisualComplexity(VISUAL_COMPLEXITY_UNKNOWN),
- mTurning(FALSE),
+ mTurning(false),
mLastSkeletonSerialNum( 0 ),
- mIsSitting(FALSE),
+ mIsSitting(false),
mTimeVisible(),
- mTyping(FALSE),
- mMeshValid(FALSE),
- mVisible(FALSE),
+ mTyping(false),
+ mMeshValid(false),
+ mVisible(false),
mLastImpostorUpdateFrameTime(0.f),
mLastImpostorUpdateReason(0),
mWindFreq(0.f),
mRipplePhase( 0.f ),
- mBelowWater(FALSE),
+ mBelowWater(false),
mLastAppearanceBlendTime(0.f),
- mAppearanceAnimating(FALSE),
+ mAppearanceAnimating(false),
mNameIsSet(false),
mTitle(),
mNameAway(false),
@@ -665,29 +667,30 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,
mNameAlpha(0.f),
mRenderGroupTitles(sRenderGroupTitles),
mNameCloud(false),
- mFirstTEMessageReceived( FALSE ),
- mFirstAppearanceMessageReceived( FALSE ),
- mCulled( FALSE ),
+ mFirstTEMessageReceived( false ),
+ mFirstAppearanceMessageReceived( false ),
+ mCulled( false ),
mVisibilityRank(0),
- mNeedsSkin(FALSE),
+ mNeedsSkin(false),
mLastSkinTime(0.f),
mUpdatePeriod(1),
mOverallAppearance(AOA_INVISIBLE),
mVisualComplexityStale(true),
mVisuallyMuteSetting(AV_RENDER_NORMALLY),
mMutedAVColor(LLColor4::white /* used for "uninitialize" */),
- mFirstFullyVisible(TRUE),
+ mFirstFullyVisible(true),
mFirstUseDelaySeconds(FIRST_APPEARANCE_CLOUD_MIN_DELAY),
- mFullyLoaded(FALSE),
- mPreviousFullyLoaded(FALSE),
- mFullyLoadedInitialized(FALSE),
+ mFullyLoaded(false),
+ mPreviousFullyLoaded(false),
+ mFullyLoadedInitialized(false),
+ mLastCloudAttachmentCount(0),
mVisualComplexity(VISUAL_COMPLEXITY_UNKNOWN),
- mLoadedCallbacksPaused(FALSE),
+ mLoadedCallbacksPaused(false),
mLoadedCallbackTextures(0),
mRenderUnloadedAvatar(LLCachedControl<bool>(gSavedSettings, "RenderUnloadedAvatar", false)),
mLastRezzedStatus(-1),
- mIsEditingAppearance(FALSE),
- mUseLocalAppearance(FALSE),
+ mIsEditingAppearance(false),
+ mUseLocalAppearance(false),
mLastUpdateRequestCOFVersion(-1),
mLastUpdateReceivedCOFVersion(-1),
mCachedMuteListUpdateTime(0),
@@ -702,14 +705,14 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,
setHoverOffset(LLVector3(0.0, 0.0, 0.0));
// mVoiceVisualizer is created by the hud effects manager and uses the HUD Effects pipeline
- const BOOL needsSendToSim = false; // currently, this HUD effect doesn't need to pack and unpack data to do its job
+ const bool needsSendToSim = false; // currently, this HUD effect doesn't need to pack and unpack data to do its job
mVoiceVisualizer = ( LLVoiceVisualizer *)LLHUDManager::getInstance()->createViewerEffect( LLHUDObject::LL_HUD_EFFECT_VOICE_VISUALIZER, needsSendToSim );
LL_DEBUGS("Avatar","Message") << "LLVOAvatar Constructor (0x" << this << ") id:" << mID << LL_ENDL;
mPelvisp = NULL;
mDirtyMesh = 2; // Dirty geometry, need to regenerate.
- mMeshTexturesDirty = FALSE;
+ mMeshTexturesDirty = false;
mHeadp = NULL;
@@ -717,9 +720,9 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,
mSpeed = 0.f;
setAnimationData("Speed", &mSpeed);
- mNeedsImpostorUpdate = TRUE;
+ mNeedsImpostorUpdate = true;
mLastImpostorUpdateReason = 0;
- mNeedsAnimUpdate = TRUE;
+ mNeedsAnimUpdate = true;
mNeedsExtentUpdate = true;
@@ -728,22 +731,22 @@ LLVOAvatar::LLVOAvatar(const LLUUID& id,
setNumTEs(TEX_NUM_INDICES);
- mbCanSelect = TRUE;
+ mbCanSelect = true;
mSignaledAnimations.clear();
mPlayingAnimations.clear();
- mWasOnGroundLeft = FALSE;
- mWasOnGroundRight = FALSE;
+ mWasOnGroundLeft = false;
+ mWasOnGroundRight = false;
mTimeLast = 0.0f;
mSpeedAccum = 0.0f;
mRippleTimeLast = 0.f;
- mInAir = FALSE;
+ mInAir = false;
- mStepOnLand = TRUE;
+ mStepOnLand = true;
mStepMaterial = 0;
mLipSyncActive = false;
@@ -835,7 +838,7 @@ LLVOAvatar::~LLVOAvatar()
std::for_each(mAttachmentPoints.begin(), mAttachmentPoints.end(), DeletePairedPointer());
mAttachmentPoints.clear();
- mDead = TRUE;
+ mDead = true;
mAnimationSources.clear();
LLLoadedCallbackEntry::cleanUpCallbackList(&mCallbackTextureList) ;
@@ -859,10 +862,10 @@ void LLVOAvatar::markDead()
}
-BOOL LLVOAvatar::isFullyBaked()
+bool LLVOAvatar::isFullyBaked()
{
- if (mIsDummy) return TRUE;
- if (getNumTEs() == 0) return FALSE;
+ if (mIsDummy) return true;
+ if (getNumTEs() == 0) return false;
for (U32 i = 0; i < mBakedTextureDatas.size(); i++)
{
@@ -870,13 +873,13 @@ BOOL LLVOAvatar::isFullyBaked()
&& ((i != BAKED_SKIRT) || isWearingWearableType(LLWearableType::WT_SKIRT))
&& (i != BAKED_LEFT_ARM) && (i != BAKED_LEFT_LEG) && (i != BAKED_AUX1) && (i != BAKED_AUX2) && (i != BAKED_AUX3))
{
- return FALSE;
+ return false;
}
}
- return TRUE;
+ return true;
}
-BOOL LLVOAvatar::isFullyTextured() const
+bool LLVOAvatar::isFullyTextured() const
{
for (S32 i = 0; i < mMeshLOD.size(); i++)
{
@@ -906,13 +909,13 @@ BOOL LLVOAvatar::isFullyTextured() const
continue; // Mesh exists and has a composite texture.
}
// Fail
- return FALSE;
+ return false;
}
}
- return TRUE;
+ return true;
}
-BOOL LLVOAvatar::hasGray() const
+bool LLVOAvatar::hasGray() const
{
return !getIsCloud() && !isFullyTextured();
}
@@ -949,9 +952,9 @@ void LLVOAvatar::deleteLayerSetCaches(bool clearAll)
}
// static
-BOOL LLVOAvatar::areAllNearbyInstancesBaked(S32& grey_avatars)
+bool LLVOAvatar::areAllNearbyInstancesBaked(S32& grey_avatars)
{
- BOOL res = TRUE;
+ bool res = true;
grey_avatars = 0;
for (std::vector<LLCharacter*>::iterator iter = LLCharacter::sInstances.begin();
iter != LLCharacter::sInstances.end(); ++iter)
@@ -963,7 +966,7 @@ BOOL LLVOAvatar::areAllNearbyInstancesBaked(S32& grey_avatars)
}
else if( !inst->isFullyBaked() )
{
- res = FALSE;
+ res = false;
if (inst->mHasGrey)
{
++grey_avatars;
@@ -1084,7 +1087,7 @@ void LLVOAvatar::restoreGL()
{
if (!isAgentAvatarValid()) return;
- gAgentAvatarp->setCompositeUpdatesEnabled(TRUE);
+ gAgentAvatarp->setCompositeUpdatesEnabled(true);
for (U32 i = 0; i < gAgentAvatarp->mBakedTextureDatas.size(); i++)
{
gAgentAvatarp->invalidateComposite(gAgentAvatarp->getTexLayerSet(i));
@@ -1108,7 +1111,7 @@ void LLVOAvatar::resetImpostors()
{
LLVOAvatar* avatar = (LLVOAvatar*) *iter;
avatar->mImpostor.release();
- avatar->mNeedsImpostorUpdate = TRUE;
+ avatar->mNeedsImpostorUpdate = true;
avatar->mLastImpostorUpdateReason = 1;
}
}
@@ -1124,7 +1127,7 @@ void LLVOAvatar::deleteCachedImages(bool clearAll)
LLVOAvatar* inst = (LLVOAvatar*) *iter;
inst->deleteLayerSetCaches(clearAll);
}
- LLViewerTexLayerSet::sHasCaches = FALSE;
+ LLViewerTexLayerSet::sHasCaches = false;
}
LLVOAvatarSelf::deleteScratchTextures();
LLTexLayerStaticImageList::getInstance()->deleteCachedImages();
@@ -1289,7 +1292,7 @@ const LLVector3 LLVOAvatar::getRenderPosition() const
}
}
-void LLVOAvatar::updateDrawable(BOOL force_damped)
+void LLVOAvatar::updateDrawable(bool force_damped)
{
clearChanged(SHIFTED);
}
@@ -1620,7 +1623,7 @@ void LLVOAvatar::renderCollisionVolumes()
{
LLVector4a unused;
- mNameText->lineSegmentIntersect(unused, unused, unused, TRUE);
+ mNameText->lineSegmentIntersect(unused, unused, unused, true);
}
}
@@ -1790,11 +1793,11 @@ void LLVOAvatar::renderJoints()
addDebugText(nullstr.str());
}
-BOOL LLVOAvatar::lineSegmentIntersect(const LLVector4a& start, const LLVector4a& end,
+bool LLVOAvatar::lineSegmentIntersect(const LLVector4a& start, const LLVector4a& end,
S32 face,
- BOOL pick_transparent,
- BOOL pick_rigged,
- BOOL pick_unselectable,
+ bool pick_transparent,
+ bool pick_rigged,
+ bool pick_unselectable,
S32* face_hit,
LLVector4a* intersection,
LLVector2* tex_coord,
@@ -1803,12 +1806,12 @@ BOOL LLVOAvatar::lineSegmentIntersect(const LLVector4a& start, const LLVector4a&
{
if ((isSelf() && !gAgent.needsRenderAvatar()) || !LLPipeline::sPickAvatar)
{
- return FALSE;
+ return false;
}
if (isControlAvatar())
{
- return FALSE;
+ return false;
}
if (lineSegmentBoundingBox(start, end))
@@ -1849,7 +1852,7 @@ BOOL LLVOAvatar::lineSegmentIntersect(const LLVector4a& start, const LLVector4a&
normal->load3(res_norm.v);
}
- return TRUE;
+ return true;
}
}
@@ -1890,18 +1893,18 @@ BOOL LLVOAvatar::lineSegmentIntersect(const LLVector4a& start, const LLVector4a&
*intersection = position;
}
- return TRUE;
+ return true;
}
- return FALSE;
+ return false;
}
// virtual
LLViewerObject* LLVOAvatar::lineSegmentIntersectRiggedAttachments(const LLVector4a& start, const LLVector4a& end,
S32 face,
- BOOL pick_transparent,
- BOOL pick_rigged,
- BOOL pick_unselectable,
+ bool pick_transparent,
+ bool pick_rigged,
+ bool pick_unselectable,
S32* face_hit,
LLVector4a* intersection,
LLVector2* tex_coord,
@@ -1987,7 +1990,7 @@ void LLVOAvatar::buildCharacter()
LLAvatarAppearance::buildCharacter();
// Not done building yet; more to do.
- mIsBuilt = FALSE;
+ mIsBuilt = false;
//-------------------------------------------------------------------------
// set head offset from pelvis
@@ -2025,10 +2028,10 @@ void LLVOAvatar::buildCharacter()
//-------------------------------------------------------------------------
processAnimationStateChanges();
- mIsBuilt = TRUE;
+ mIsBuilt = true;
stop_glerror();
- mMeshValid = TRUE;
+ mMeshValid = true;
}
//-----------------------------------------------------------------------------
@@ -2179,10 +2182,10 @@ void LLVOAvatar::resetSkeleton(bool reset_animations)
// Stripped down approximation of
// applyParsedAppearanceMessage, but with alternative default
// (jellydoll) params
- setCompositeUpdatesEnabled( FALSE );
+ setCompositeUpdatesEnabled( false );
gPipeline.markGLRebuild(this);
applyDefaultParams();
- setCompositeUpdatesEnabled( TRUE );
+ setCompositeUpdatesEnabled( true );
updateMeshTextures();
updateMeshVisibility();
}
@@ -2227,7 +2230,7 @@ void LLVOAvatar::releaseMeshData()
++iter)
{
LLAvatarJoint* joint = (*iter);
- joint->setValid(FALSE, TRUE);
+ joint->setValid(false, true);
}
//cleanup data
@@ -2255,10 +2258,10 @@ void LLVOAvatar::releaseMeshData()
LLViewerJointAttachment* attachment = iter->second;
if (!attachment->getIsHUDAttachment())
{
- attachment->setAttachmentVisibility(FALSE);
+ attachment->setAttachmentVisibility(false);
}
}
- mMeshValid = FALSE;
+ mMeshValid = false;
}
//-----------------------------------------------------------------------------
@@ -2274,7 +2277,7 @@ void LLVOAvatar::restoreMeshData()
}
//LL_INFOS() << "Restoring" << LL_ENDL;
- mMeshValid = TRUE;
+ mMeshValid = true;
updateJointLODs();
for (attachment_map_t::iterator iter = mAttachmentPoints.begin();
@@ -2284,7 +2287,7 @@ void LLVOAvatar::restoreMeshData()
LLViewerJointAttachment* attachment = iter->second;
if (!attachment->getIsHUDAttachment())
{
- attachment->setAttachmentVisibility(TRUE);
+ attachment->setAttachmentVisibility(true);
}
}
@@ -2452,7 +2455,7 @@ U32 LLVOAvatar::processUpdateMessage(LLMessageSystem *mesgsys,
U32 block_num, const EObjectUpdateType update_type,
LLDataPacker *dp)
{
- const BOOL has_name = !getNVPair("FirstName");
+ const bool has_name = !getNVPair("FirstName");
// Do base class updates...
U32 retval = LLViewerObject::processUpdateMessage(mesgsys, user_data, block_num, update_type, dp);
@@ -2498,7 +2501,7 @@ LLViewerFetchedTexture *LLVOAvatar::getBakedTextureImage(const U8 te, const LLUU
}
LL_DEBUGS("Avatar") << avString() << "get server-bake image from URL " << url << LL_ENDL;
result = LLViewerTextureManager::getFetchedTextureFromUrl(
- url, FTT_SERVER_BAKE, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE, 0, 0, uuid);
+ url, FTT_SERVER_BAKE, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE, 0, 0, uuid);
if (result->isMissingAsset())
{
result->setIsMissingAsset(false);
@@ -2648,7 +2651,7 @@ void LLVOAvatar::idleUpdate(LLAgent &agent, const F64 &time)
// animate the character
// store off last frame's root position to be consistent with camera position
mLastRootPos = mRoot->getWorldPosition();
- BOOL detailed_update = updateCharacter(agent);
+ bool detailed_update = updateCharacter(agent);
static LLUICachedControl<bool> visualizers_in_calls("ShowVoiceVisualizersInCalls", false);
bool voice_enabled = (visualizers_in_calls || LLVoiceClient::getInstance()->inProximalChannel()) &&
@@ -2819,7 +2822,7 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)
LLJoint::sNumUpdates = 0;
LLJoint::sNumTouches = 0;
- BOOL visible = isVisible() || mNeedsAnimUpdate;
+ bool visible = isVisible() || mNeedsAnimUpdate;
// update attachments positions
if (detailed_update)
@@ -2908,7 +2911,7 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)
}
}
- mNeedsAnimUpdate = FALSE;
+ mNeedsAnimUpdate = false;
if (isImpostor() && !mNeedsImpostorUpdate)
{
@@ -2926,7 +2929,7 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)
if (angle_diff > F_PI/512.f*distance*mUpdatePeriod)
{
- mNeedsImpostorUpdate = TRUE;
+ mNeedsImpostorUpdate = true;
mLastImpostorUpdateReason = 2;
}
}
@@ -2938,7 +2941,7 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)
F32 dist_diff = fabsf(distance-mImpostorDistance);
if (dist_diff/mImpostorDistance > 0.1f)
{
- mNeedsImpostorUpdate = TRUE;
+ mNeedsImpostorUpdate = true;
mLastImpostorUpdateReason = 3;
}
else
@@ -2951,7 +2954,7 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)
diff.setSub(ext[1], mImpostorExtents[1]);
if (diff.getLength3().getF32() > 0.05f)
{
- mNeedsImpostorUpdate = TRUE;
+ mNeedsImpostorUpdate = true;
mLastImpostorUpdateReason = 4;
}
else
@@ -2959,7 +2962,7 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)
diff.setSub(ext[0], mImpostorExtents[0]);
if (diff.getLength3().getF32() > 0.05f)
{
- mNeedsImpostorUpdate = TRUE;
+ mNeedsImpostorUpdate = true;
mLastImpostorUpdateReason = 5;
}
}
@@ -2974,7 +2977,7 @@ void LLVOAvatar::idleUpdateMisc(bool detailed_update)
//force a move if sitting on an active object
if (getParent() && ((LLViewerObject*) getParent())->mDrawable->isActive())
{
- gPipeline.markMoved(mDrawable, TRUE);
+ gPipeline.markMoved(mDrawable, true);
}
}
}
@@ -2988,7 +2991,7 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()
F32 appearance_anim_time = mAppearanceMorphTimer.getElapsedTimeF32();
if (appearance_anim_time >= APPEARANCE_MORPH_TIME)
{
- mAppearanceAnimating = FALSE;
+ mAppearanceAnimating = false;
for (LLVisualParam *param = getFirstVisualParam();
param;
param = getNextVisualParam())
@@ -3096,7 +3099,7 @@ void LLVOAvatar::idleUpdateLoadingEffect()
{
if (mFirstFullyVisible)
{
- mFirstFullyVisible = FALSE;
+ mFirstFullyVisible = false;
if (isSelf())
{
LL_INFOS("Avatar") << avString() << "self isFullyLoaded, mFirstFullyVisible" << LL_ENDL;
@@ -3252,17 +3255,17 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
return;
}
- bool new_name = FALSE;
+ bool new_name = false;
if (visible_chat != mVisibleChat)
{
mVisibleChat = visible_chat;
- new_name = TRUE;
+ new_name = true;
}
if (sRenderGroupTitles != mRenderGroupTitles)
{
mRenderGroupTitles = sRenderGroupTitles;
- new_name = TRUE;
+ new_name = true;
}
// First Calculate Alpha
@@ -3305,11 +3308,11 @@ void LLVOAvatar::idleUpdateNameTag(const LLVector3& root_pos_last)
//mNameText->setMass(10.f);
mNameText->setSourceObject(this);
mNameText->setVertAlignment(LLHUDNameTag::ALIGN_VERT_TOP);
- mNameText->setVisibleOffScreen(TRUE);
+ mNameText->setVisibleOffScreen(true);
mNameText->setMaxLines(11);
mNameText->setFadeDistance(CHAT_NORMAL_RADIUS, 5.f);
sNumVisibleChatBubbles++;
- new_name = TRUE;
+ new_name = true;
}
mNameText->setPositionAgent(root_pos_last);
@@ -3456,7 +3459,7 @@ void LLVOAvatar::idleUpdateNameTagText(bool new_name)
mNameCloud = is_cloud;
mTitle = title ? title->getString() : "";
LLStringFn::replace_ascii_controlchars(mTitle,LL_UNKNOWN_CHAR);
- new_name = TRUE;
+ new_name = true;
}
if (mVisibleChat)
@@ -3508,7 +3511,7 @@ void LLVOAvatar::idleUpdateNameTagText(bool new_name)
mNameText->addLine(chat_iter->mText, old_chat, style);
}
}
- mNameText->setVisibleOffScreen(TRUE);
+ mNameText->setVisibleOffScreen(true);
if (mTyping)
{
@@ -3533,7 +3536,7 @@ void LLVOAvatar::idleUpdateNameTagText(bool new_name)
// ...not using chat bubbles, just names
mNameText->setTextAlignment(LLHUDNameTag::ALIGN_TEXT_CENTER);
mNameText->setFadeDistance(CHAT_NORMAL_RADIUS, 5.f);
- mNameText->setVisibleOffScreen(FALSE);
+ mNameText->setVisibleOffScreen(false);
}
}
@@ -4084,24 +4087,24 @@ void LLVOAvatar::updateFootstepSounds()
if ( gAudiop && isAnyAnimationSignaled(AGENT_FOOTSTEP_ANIMS, NUM_AGENT_FOOTSTEP_ANIMS) )
{
- BOOL playSound = FALSE;
+ bool playSound = false;
LLVector3 foot_pos_agent;
- BOOL onGroundLeft = (leftElev <= 0.05f);
- BOOL onGroundRight = (rightElev <= 0.05f);
+ bool onGroundLeft = (leftElev <= 0.05f);
+ bool onGroundRight = (rightElev <= 0.05f);
// did left foot hit the ground?
if ( onGroundLeft && !mWasOnGroundLeft )
{
foot_pos_agent = ankle_left_pos_agent;
- playSound = TRUE;
+ playSound = true;
}
// did right foot hit the ground?
if ( onGroundRight && !mWasOnGroundRight )
{
foot_pos_agent = ankle_right_pos_agent;
- playSound = TRUE;
+ playSound = true;
}
mWasOnGroundLeft = onGroundLeft;
@@ -4258,7 +4261,7 @@ void LLVOAvatar::updateOrientation(LLAgent& agent, F32 speed, F32 delta_time)
// When moving very slow, the pelvis is allowed to deviate from the
// forward direction to allow it to hold its position while the torso
// and head turn. Once in motion, it must conform however.
- BOOL self_in_mouselook = isSelf() && gAgentCamera.cameraMouselook();
+ bool self_in_mouselook = isSelf() && gAgentCamera.cameraMouselook();
LLVector3 pelvisDir( mRoot->getWorldMatrix().getFwdRow4().mV );
@@ -4284,7 +4287,7 @@ void LLVOAvatar::updateOrientation(LLAgent& agent, F32 speed, F32 delta_time)
// smaller correction vector means pelvis follows prim direction more closely
if (!mTurning && angle > pelvis_rot_threshold*0.75f)
{
- mTurning = TRUE;
+ mTurning = true;
}
// use tighter threshold when turning
@@ -4296,7 +4299,7 @@ void LLVOAvatar::updateOrientation(LLAgent& agent, F32 speed, F32 delta_time)
// am I done turning?
if (angle < pelvis_rot_threshold)
{
- mTurning = FALSE;
+ mTurning = false;
}
LLVector3 correction_vector = (pelvisDir - fwdDir) * clamp_rescale(angle, pelvis_rot_threshold*0.75f, pelvis_rot_threshold, 1.0f, 0.0f);
@@ -4304,7 +4307,7 @@ void LLVOAvatar::updateOrientation(LLAgent& agent, F32 speed, F32 delta_time)
}
else
{
- mTurning = FALSE;
+ mTurning = false;
}
// Now compute the full world space rotation for the whole body (wQv)
@@ -4436,7 +4439,7 @@ void LLVOAvatar::updateRootPositionAndRotation(LLAgent& agent, F32 speed, bool w
LLVector3 normal;
resolveHeightGlobal(root_pos, ground_under_pelvis, normal);
F32 foot_to_ground = (F32) (root_pos.mdV[VZ] - mPelvisToFoot - ground_under_pelvis.mdV[VZ]);
- BOOL in_air = ((!LLWorld::getInstance()->getRegionFromPosGlobal(ground_under_pelvis)) ||
+ bool in_air = ((!LLWorld::getInstance()->getRegionFromPosGlobal(ground_under_pelvis)) ||
foot_to_ground > FOOT_GROUND_COLLISION_TOLERANCE);
if (in_air && !mInAir)
@@ -4552,12 +4555,12 @@ bool LLVOAvatar::computeNeedsUpdate()
{
if (needs_update_by_max_time)
{
- mNeedsImpostorUpdate = TRUE;
+ mNeedsImpostorUpdate = true;
mLastImpostorUpdateReason = 11;
}
else
{
- //mNeedsImpostorUpdate = TRUE;
+ //mNeedsImpostorUpdate = true;
//mLastImpostorUpdateReason = 10;
}
}
@@ -4592,10 +4595,10 @@ bool LLVOAvatar::updateCharacter(LLAgent &agent)
if (!mIsBuilt)
{
- return FALSE;
+ return false;
}
- BOOL visible = isVisible();
+ bool visible = isVisible();
bool is_control_avatar = isControlAvatar(); // capture state to simplify tracing
bool is_attachment = false;
@@ -4632,7 +4635,7 @@ bool LLVOAvatar::updateCharacter(LLAgent &agent)
if (!needs_update && !isSelf())
{
updateMotions(LLCharacter::HIDDEN_UPDATE);
- return FALSE;
+ return false;
}
//--------------------------------------------------------------------
@@ -4730,7 +4733,7 @@ bool LLVOAvatar::updateCharacter(LLAgent &agent)
if (visible)
{
// System avatar mesh vertices need to be reskinned.
- mNeedsSkin = TRUE;
+ mNeedsSkin = true;
}
return visible;
@@ -4842,37 +4845,37 @@ void LLVOAvatar::postPelvisSetRecalc()
//------------------------------------------------------------------------
void LLVOAvatar::updateVisibility()
{
- BOOL visible = FALSE;
+ bool visible = false;
if (mIsDummy)
{
- visible = FALSE;
+ visible = false;
}
else if (mDrawable.isNull())
{
- visible = FALSE;
+ visible = false;
}
else
{
if (!mDrawable->getSpatialGroup() || mDrawable->getSpatialGroup()->isVisible())
{
- visible = TRUE;
+ visible = true;
}
else
{
- visible = FALSE;
+ visible = false;
}
if(isSelf())
{
if (!gAgentWearables.areWearablesLoaded())
{
- visible = FALSE;
+ visible = false;
}
}
else if( !mFirstAppearanceMessageReceived )
{
- visible = FALSE;
+ visible = false;
}
if (sDebugInvisible)
@@ -5013,7 +5016,7 @@ U32 LLVOAvatar::renderSkinned()
{
updateMeshData();
mDirtyMesh = 0;
- mNeedsSkin = TRUE;
+ mNeedsSkin = true;
mDrawable->clearState(LLDrawable::REBUILD_GEOMETRY);
}
}
@@ -5062,7 +5065,7 @@ U32 LLVOAvatar::renderSkinned()
hair_mesh->updateJointGeometry();
}
}
- mNeedsSkin = FALSE;
+ mNeedsSkin = false;
mLastSkinTime = gFrameTimeSeconds;
LLFace * face = mDrawable->getFace(0);
@@ -5078,7 +5081,7 @@ U32 LLVOAvatar::renderSkinned()
}
else
{
- mNeedsSkin = FALSE;
+ mNeedsSkin = false;
}
if (sDebugInvisible)
@@ -5120,7 +5123,7 @@ U32 LLVOAvatar::renderSkinned()
// render all geometry attached to the skeleton
//--------------------------------------------------------------------
- BOOL first_pass = TRUE;
+ bool first_pass = true;
if (!LLDrawPoolAvatar::sSkipOpaque)
{
if (isUIAvatar() && mIsDummy)
@@ -5130,7 +5133,7 @@ U32 LLVOAvatar::renderSkinned()
{
num_indices += hair_mesh->render(mAdjustedPixelArea, first_pass, mIsDummy);
}
- first_pass = FALSE;
+ first_pass = false;
}
if (!isSelf() || gAgent.needsRenderHead() || LLPipeline::sShadowRender)
{
@@ -5142,7 +5145,7 @@ U32 LLVOAvatar::renderSkinned()
{
num_indices += head_mesh->render(mAdjustedPixelArea, first_pass, mIsDummy);
}
- first_pass = FALSE;
+ first_pass = false;
}
}
if (isTextureVisible(TEX_UPPER_BAKED) || (getOverallAppearance() == AOA_JELLYDOLL && !isControlAvatar()) || isUIAvatar())
@@ -5152,7 +5155,7 @@ U32 LLVOAvatar::renderSkinned()
{
num_indices += upper_mesh->render(mAdjustedPixelArea, first_pass, mIsDummy);
}
- first_pass = FALSE;
+ first_pass = false;
}
if (isTextureVisible(TEX_LOWER_BAKED) || (getOverallAppearance() == AOA_JELLYDOLL && !isControlAvatar()) || isUIAvatar())
@@ -5162,7 +5165,7 @@ U32 LLVOAvatar::renderSkinned()
{
num_indices += lower_mesh->render(mAdjustedPixelArea, first_pass, mIsDummy);
}
- first_pass = FALSE;
+ first_pass = false;
}
}
@@ -5175,7 +5178,7 @@ U32 LLVOAvatar::renderSkinned()
return num_indices;
}
-U32 LLVOAvatar::renderTransparent(BOOL first_pass)
+U32 LLVOAvatar::renderTransparent(bool first_pass)
{
U32 num_indices = 0;
if( isWearingWearableType( LLWearableType::WT_SKIRT ) && (isUIAvatar() || isTextureVisible(TEX_SKIRT_BAKED)) )
@@ -5184,9 +5187,9 @@ U32 LLVOAvatar::renderTransparent(BOOL first_pass)
LLViewerJoint* skirt_mesh = getViewerJoint(MESH_ID_SKIRT);
if (skirt_mesh)
{
- num_indices += skirt_mesh->render(mAdjustedPixelArea, FALSE);
+ num_indices += skirt_mesh->render(mAdjustedPixelArea, false);
}
- first_pass = FALSE;
+ first_pass = false;
gGL.flush();
}
@@ -5204,7 +5207,7 @@ U32 LLVOAvatar::renderTransparent(BOOL first_pass)
{
num_indices += eyelash_mesh->render(mAdjustedPixelArea, first_pass, mIsDummy);
}
- first_pass = FALSE;
+ first_pass = false;
}
if (isTextureVisible(TEX_HAIR_BAKED) && (getOverallAppearance() != AOA_JELLYDOLL))
{
@@ -5213,7 +5216,7 @@ U32 LLVOAvatar::renderTransparent(BOOL first_pass)
{
num_indices += hair_mesh->render(mAdjustedPixelArea, first_pass, mIsDummy);
}
- first_pass = FALSE;
+ first_pass = false;
}
if (LLPipeline::sImpostorRender)
{
@@ -5250,11 +5253,11 @@ U32 LLVOAvatar::renderRigid()
LLViewerJoint* eyeball_right = getViewerJoint(MESH_ID_EYEBALL_RIGHT);
if (eyeball_left)
{
- num_indices += eyeball_left->render(mAdjustedPixelArea, TRUE, mIsDummy);
+ num_indices += eyeball_left->render(mAdjustedPixelArea, true, mIsDummy);
}
if(eyeball_right)
{
- num_indices += eyeball_right->render(mAdjustedPixelArea, TRUE, mIsDummy);
+ num_indices += eyeball_right->render(mAdjustedPixelArea, true, mIsDummy);
}
}
@@ -5364,7 +5367,7 @@ std::string LLVOAvatar::bakedTextureOriginInfo()
{
ETextureIndex texture_index = mBakedTextureDatas[i].mTextureIndex;
LLViewerFetchedTexture *imagep =
- LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index,0), TRUE);
+ LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index,0), true);
if (!imagep ||
imagep->getID() == IMG_DEFAULT ||
imagep->getID() == IMG_DEFAULT_AVATAR)
@@ -5422,7 +5425,7 @@ void LLVOAvatar::collectLocalTextureUUIDs(std::set<LLUUID>& ids) const
LLViewerFetchedTexture *imagep = NULL;
for (U32 wearable_index = 0; wearable_index < num_wearables; wearable_index++)
{
- imagep = LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index, wearable_index), TRUE);
+ imagep = LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index, wearable_index), true);
if (imagep)
{
const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = LLAvatarAppearance::getDictionary()->getTexture((ETextureIndex)texture_index);
@@ -5445,7 +5448,7 @@ void LLVOAvatar::collectBakedTextureUUIDs(std::set<LLUUID>& ids) const
LLViewerFetchedTexture *imagep = NULL;
if (isIndexBakedTexture((ETextureIndex) texture_index))
{
- imagep = LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index,0), TRUE);
+ imagep = LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index,0), true);
if (imagep)
{
ids.insert(imagep->getID());
@@ -5517,7 +5520,7 @@ void LLVOAvatar::updateTextures()
{
releaseOldTextures();
- BOOL render_avatar = TRUE;
+ bool render_avatar = true;
if (mIsDummy)
{
@@ -5526,7 +5529,7 @@ void LLVOAvatar::updateTextures()
if( isSelf() )
{
- render_avatar = TRUE;
+ render_avatar = true;
}
else
{
@@ -5538,7 +5541,7 @@ void LLVOAvatar::updateTextures()
render_avatar = !mCulled; //visible and not culled.
}
- std::vector<BOOL> layer_baked;
+ std::vector<bool> layer_baked;
// GL NOT ACTIVE HERE - *TODO
for (U32 i = 0; i < mBakedTextureDatas.size(); i++)
{
@@ -5556,7 +5559,7 @@ void LLVOAvatar::updateTextures()
mMaxPixelArea = 0.f;
mMinPixelArea = 99999999.f;
- mHasGrey = FALSE; // debug
+ mHasGrey = false; // debug
for (U32 texture_index = 0; texture_index < getNumTEs(); texture_index++)
{
LLWearableType::EType wearable_type = LLAvatarAppearance::getDictionary()->getTEWearableType((ETextureIndex)texture_index);
@@ -5579,7 +5582,7 @@ void LLVOAvatar::updateTextures()
LLViewerFetchedTexture *imagep = NULL;
for (U32 wearable_index = 0; wearable_index < num_wearables; wearable_index++)
{
- imagep = LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index, wearable_index), TRUE);
+ imagep = LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index, wearable_index), true);
if (imagep)
{
const LLAvatarAppearanceDictionary::TextureEntry *texture_dict = LLAvatarAppearance::getDictionary()->getTexture((ETextureIndex)texture_index);
@@ -5593,7 +5596,7 @@ void LLVOAvatar::updateTextures()
if (isIndexBakedTexture((ETextureIndex) texture_index) && render_avatar)
{
const S32 boost_level = getAvatarBakedBoostLevel();
- imagep = LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index,0), TRUE);
+ imagep = LLViewerTextureManager::staticCastToFetchedTexture(getImage(texture_index,0), true);
addBakedTextureStats( imagep, mPixelArea, texel_area_ratio, boost_level );
}
}
@@ -5606,7 +5609,7 @@ void LLVOAvatar::updateTextures()
void LLVOAvatar::addLocalTextureStats( ETextureIndex idx, LLViewerFetchedTexture* imagep,
- F32 texel_area_ratio, BOOL render_avatar, BOOL covered_by_baked)
+ F32 texel_area_ratio, bool render_avatar, bool covered_by_baked)
{
// No local texture stats for non-self avatars
return;
@@ -5618,7 +5621,7 @@ void LLVOAvatar::checkTextureLoading()
{
static const F32 MAX_INVISIBLE_WAITING_TIME = 15.f ; //seconds
- BOOL pause = !isVisible() ;
+ bool pause = !isVisible() ;
if(!pause)
{
mInvisibleTimer.reset() ;
@@ -5785,13 +5788,13 @@ void LLVOAvatar::resolveHeightGlobal(const LLVector3d &inPos, LLVector3d &outPos
LLWorld::getInstance()->resolveStepHeightGlobal(this, p0, p1, outPos, outNorm, &obj);
if (!obj)
{
- mStepOnLand = TRUE;
+ mStepOnLand = true;
mStepMaterial = 0;
mStepObjectVelocity.setVec(0.0f, 0.0f, 0.0f);
}
else
{
- mStepOnLand = FALSE;
+ mStepOnLand = false;
mStepMaterial = obj->getMaterial();
// We want the primitive velocity, not our velocity... (which actually subtracts the
@@ -5870,7 +5873,7 @@ void LLVOAvatar::processAnimationStateChanges()
// playing, but not signaled, so stop
if (found_anim == mSignaledAnimations.end())
{
- processSingleAnimationStateChange(anim_it->first, FALSE);
+ processSingleAnimationStateChange(anim_it->first, false);
mPlayingAnimations.erase(anim_it++);
continue;
}
@@ -5894,7 +5897,7 @@ void LLVOAvatar::processAnimationStateChanges()
// signaled but not playing, or different sequence id, start motion
if (found_anim == mPlayingAnimations.end() || found_anim->second != anim_it->second)
{
- if (processSingleAnimationStateChange(anim_it->first, TRUE))
+ if (processSingleAnimationStateChange(anim_it->first, true))
{
mPlayingAnimations[anim_it->first] = anim_it->second;
++anim_it;
@@ -5931,7 +5934,7 @@ void LLVOAvatar::processAnimationStateChanges()
//-----------------------------------------------------------------------------
// processSingleAnimationStateChange();
//-----------------------------------------------------------------------------
-BOOL LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, BOOL start )
+bool LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, bool start )
{
// SL-402, SL-427 - we need to update body size often enough to
// keep appearances in sync, but not so often that animations
@@ -5939,7 +5942,7 @@ BOOL LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, BOOL
// compromise is to do it on animation changes:
computeBodySize();
- BOOL result = FALSE;
+ bool result = false;
if ( start ) // start animation
{
@@ -5968,13 +5971,13 @@ BOOL LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, BOOL
}
else if (anim_id == ANIM_AGENT_SIT_GROUND_CONSTRAINED)
{
- sitDown(TRUE);
+ sitDown(true);
}
if (startMotion(anim_id))
{
- result = TRUE;
+ result = true;
}
else
{
@@ -5985,7 +5988,7 @@ BOOL LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, BOOL
{
if (anim_id == ANIM_AGENT_SIT_GROUND_CONSTRAINED)
{
- sitDown(FALSE);
+ sitDown(false);
}
if ((anim_id == ANIM_AGENT_DO_NOT_DISTURB) && gAgent.isDoNotDisturb())
{
@@ -5994,7 +5997,7 @@ BOOL LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, BOOL
return result;
}
stopMotion(anim_id);
- result = TRUE;
+ result = true;
}
return result;
@@ -6003,16 +6006,16 @@ BOOL LLVOAvatar::processSingleAnimationStateChange( const LLUUID& anim_id, BOOL
//-----------------------------------------------------------------------------
// isAnyAnimationSignaled()
//-----------------------------------------------------------------------------
-BOOL LLVOAvatar::isAnyAnimationSignaled(const LLUUID *anim_array, const S32 num_anims) const
+bool LLVOAvatar::isAnyAnimationSignaled(const LLUUID *anim_array, const S32 num_anims) const
{
for (S32 i = 0; i < num_anims; i++)
{
if(mSignaledAnimations.find(anim_array[i]) != mSignaledAnimations.end())
{
- return TRUE;
+ return true;
}
}
- return FALSE;
+ return false;
}
//-----------------------------------------------------------------------------
@@ -6083,7 +6086,7 @@ LLUUID LLVOAvatar::remapMotionID(const LLUUID& id)
// id is the asset if of the animation to start
// time_offset is the offset into the animation at which to start playing
//-----------------------------------------------------------------------------
-BOOL LLVOAvatar::startMotion(const LLUUID& id, F32 time_offset)
+bool LLVOAvatar::startMotion(const LLUUID& id, F32 time_offset)
{
LL_DEBUGS("Motion") << "motion requested " << id.asString() << " " << gAnimLibrary.animationName(id) << LL_ENDL;
@@ -6105,7 +6108,7 @@ BOOL LLVOAvatar::startMotion(const LLUUID& id, F32 time_offset)
//-----------------------------------------------------------------------------
// stopMotion()
//-----------------------------------------------------------------------------
-BOOL LLVOAvatar::stopMotion(const LLUUID& id, BOOL stop_immediate)
+bool LLVOAvatar::stopMotion(const LLUUID& id, bool stop_immediate)
{
LL_DEBUGS("Motion") << "Motion requested " << id.asString() << " " << gAnimLibrary.animationName(id) << LL_ENDL;
@@ -6912,17 +6915,17 @@ void LLVOAvatar::requestStopMotion( LLMotion* motion )
// loadSkeletonNode(): loads <skeleton> node from XML tree
//-----------------------------------------------------------------------------
//virtual
-BOOL LLVOAvatar::loadSkeletonNode ()
+bool LLVOAvatar::loadSkeletonNode ()
{
if (!LLAvatarAppearance::loadSkeletonNode())
{
- return FALSE;
+ return false;
}
bool ignore_hud_joints = false;
initAttachmentPoints(ignore_hud_joints);
- return TRUE;
+ return true;
}
//-----------------------------------------------------------------------------
@@ -7055,9 +7058,9 @@ void LLVOAvatar::updateVisualParams()
//-----------------------------------------------------------------------------
// isActive()
//-----------------------------------------------------------------------------
-BOOL LLVOAvatar::isActive() const
+bool LLVOAvatar::isActive() const
{
- return TRUE;
+ return true;
}
//-----------------------------------------------------------------------------
@@ -7103,7 +7106,7 @@ void LLVOAvatar::setPixelAreaAndAngle(LLAgent &agent)
//-----------------------------------------------------------------------------
// updateJointLODs()
//-----------------------------------------------------------------------------
-BOOL LLVOAvatar::updateJointLODs()
+bool LLVOAvatar::updateJointLODs()
{
const F32 MAX_PIXEL_AREA = 100000000.f;
F32 lod_factor = (sLODFactor * AVATAR_LOD_TWEAK_RANGE + (1.f - AVATAR_LOD_TWEAK_RANGE));
@@ -7134,19 +7137,19 @@ BOOL LLVOAvatar::updateJointLODs()
// now select meshes to render based on adjusted pixel area
LLViewerJoint* root = dynamic_cast<LLViewerJoint*>(mRoot);
- BOOL res = FALSE;
+ bool res = false;
if (root)
{
- res = root->updateLOD(mAdjustedPixelArea, TRUE);
+ res = root->updateLOD(mAdjustedPixelArea, true);
}
if (res)
{
sNumLODChangesThisFrame++;
dirtyMesh(2);
- return TRUE;
+ return true;
}
- return FALSE;
+ return false;
}
//-----------------------------------------------------------------------------
@@ -7155,7 +7158,7 @@ BOOL LLVOAvatar::updateJointLODs()
LLDrawable *LLVOAvatar::createDrawable(LLPipeline *pipeline)
{
pipeline->allocDrawable(this);
- mDrawable->setLit(FALSE);
+ mDrawable->setLit(false);
LLDrawPoolAvatar *poolp = (LLDrawPoolAvatar*)gPipeline.getPool(mIsControlAvatar ? LLDrawPool::POOL_CONTROL_AV : LLDrawPool::POOL_AVATAR);
@@ -7178,24 +7181,24 @@ void LLVOAvatar::updateGL()
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_AVATAR
updateMeshTextures();
- mMeshTexturesDirty = FALSE;
+ mMeshTexturesDirty = false;
}
}
//-----------------------------------------------------------------------------
// updateGeometry()
//-----------------------------------------------------------------------------
-BOOL LLVOAvatar::updateGeometry(LLDrawable *drawable)
+bool LLVOAvatar::updateGeometry(LLDrawable *drawable)
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_AVATAR;
if (!(gPipeline.hasRenderType(mIsControlAvatar ? LLPipeline::RENDER_TYPE_CONTROL_AV : LLPipeline::RENDER_TYPE_AVATAR)))
{
- return TRUE;
+ return true;
}
if (!mMeshValid)
{
- return TRUE;
+ return true;
}
if (!drawable)
@@ -7203,7 +7206,7 @@ BOOL LLVOAvatar::updateGeometry(LLDrawable *drawable)
LL_ERRS() << "LLVOAvatar::updateGeometry() called with NULL drawable" << LL_ENDL;
}
- return TRUE;
+ return true;
}
//-----------------------------------------------------------------------------
@@ -7241,7 +7244,7 @@ LLViewerJoint* LLVOAvatar::getViewerJoint(S32 idx)
//-----------------------------------------------------------------------------
void LLVOAvatar::hideHair()
{
- mMeshLOD[MESH_ID_HAIR]->setVisible(FALSE, TRUE);
+ mMeshLOD[MESH_ID_HAIR]->setVisible(false, true);
}
//-----------------------------------------------------------------------------
@@ -7249,12 +7252,12 @@ void LLVOAvatar::hideHair()
//-----------------------------------------------------------------------------
void LLVOAvatar::hideSkirt()
{
- mMeshLOD[MESH_ID_SKIRT]->setVisible(FALSE, TRUE);
+ mMeshLOD[MESH_ID_SKIRT]->setVisible(false, true);
}
-BOOL LLVOAvatar::setParent(LLViewerObject* parent)
+bool LLVOAvatar::setParent(LLViewerObject* parent)
{
- BOOL ret ;
+ bool ret ;
if (parent == NULL)
{
getOffObject();
@@ -7439,7 +7442,7 @@ S32 LLVOAvatar::getMaxAttachments() const
// canAttachMoreObjects()
// Returns true if we can attach <n> more objects.
//-----------------------------------------------------------------------------
-BOOL LLVOAvatar::canAttachMoreObjects(U32 n) const
+bool LLVOAvatar::canAttachMoreObjects(U32 n) const
{
return (getNumAttachments() + n) <= getMaxAttachments();
}
@@ -7473,7 +7476,7 @@ S32 LLVOAvatar::getMaxAnimatedObjectAttachments() const
// canAttachMoreAnimatedObjects()
// Returns true if we can attach <n> more animated objects.
//-----------------------------------------------------------------------------
-BOOL LLVOAvatar::canAttachMoreAnimatedObjects(U32 n) const
+bool LLVOAvatar::canAttachMoreAnimatedObjects(U32 n) const
{
return (getNumAnimatedObjectAttachments() + n) <= getMaxAnimatedObjectAttachments();
}
@@ -7662,7 +7665,7 @@ bool LLVOAvatar::hasPendingAttachedMeshes()
//-----------------------------------------------------------------------------
// detachObject()
//-----------------------------------------------------------------------------
-BOOL LLVOAvatar::detachObject(LLViewerObject *viewer_object)
+bool LLVOAvatar::detachObject(LLViewerObject *viewer_object)
{
for (attachment_map_t::iterator iter = mAttachmentPoints.begin();
iter != mAttachmentPoints.end();
@@ -7697,7 +7700,7 @@ BOOL LLVOAvatar::detachObject(LLViewerObject *viewer_object)
updateMeshVisibility();
LL_DEBUGS() << "Detaching object " << viewer_object->mID << " from " << attachment->getName() << LL_ENDL;
- return TRUE;
+ return true;
}
}
@@ -7705,16 +7708,16 @@ BOOL LLVOAvatar::detachObject(LLViewerObject *viewer_object)
if (iter != mPendingAttachment.end())
{
mPendingAttachment.erase(iter);
- return TRUE;
+ return true;
}
- return FALSE;
+ return false;
}
//-----------------------------------------------------------------------------
// sitDown()
//-----------------------------------------------------------------------------
-void LLVOAvatar::sitDown(BOOL bSitting)
+void LLVOAvatar::sitDown(bool bSitting)
{
mIsSitting = bSitting;
if (isSelf())
@@ -7734,7 +7737,7 @@ void LLVOAvatar::sitOnObject(LLViewerObject *sit_object)
// Might be first sit
//LLFirstUse::useSit();
- gAgent.setFlying(FALSE);
+ gAgent.setFlying(false);
gAgentCamera.setThirdPersonHeadOffset(LLVector3::zero);
//interpolate to new camera position
gAgentCamera.startCameraAnimation();
@@ -7773,10 +7776,10 @@ void LLVOAvatar::sitOnObject(LLViewerObject *sit_object)
mDrawable->mXform.setPosition(rel_pos);
mDrawable->mXform.setRotation(mDrawable->getWorldRotation() * inv_obj_rot);
- gPipeline.markMoved(mDrawable, TRUE);
+ gPipeline.markMoved(mDrawable, true);
// Notice that removing sitDown() from here causes avatars sitting on
// objects to be not rendered for new arrivals. See EXT-6835 and EXT-1655.
- sitDown(TRUE);
+ sitDown(true);
mRoot->getXform()->setParent(&sit_object->mDrawable->mXform); // LLVOAvatar::sitOnObject
// SL-315
mRoot->setPosition(getPosition());
@@ -7802,7 +7805,7 @@ void LLVOAvatar::getOffObject()
if (sit_object)
{
stopMotionFromSource(sit_object->getID());
- LLFollowCamMgr::getInstance()->setCameraActive(sit_object->getID(), FALSE);
+ LLFollowCamMgr::getInstance()->setCameraActive(sit_object->getID(), false);
LLViewerObject::const_child_list_t& child_list = sit_object->getChildren();
for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin();
@@ -7811,7 +7814,7 @@ void LLVOAvatar::getOffObject()
LLViewerObject* child_objectp = *iter;
stopMotionFromSource(child_objectp->getID());
- LLFollowCamMgr::getInstance()->setCameraActive(child_objectp->getID(), FALSE);
+ LLFollowCamMgr::getInstance()->setCameraActive(child_objectp->getID(), false);
}
}
@@ -7833,9 +7836,9 @@ void LLVOAvatar::getOffObject()
mDrawable->mXform.setPosition(cur_position_world);
mDrawable->mXform.setRotation(cur_rotation_world);
- gPipeline.markMoved(mDrawable, TRUE);
+ gPipeline.markMoved(mDrawable, true);
- sitDown(FALSE);
+ sitDown(false);
mRoot->getXform()->setParent(NULL); // LLVOAvatar::getOffObject
// SL-315
@@ -7887,13 +7890,20 @@ LLVOAvatar* LLVOAvatar::findAvatarFromAttachment( LLViewerObject* obj )
S32 LLVOAvatar::getAttachmentCount()
{
- S32 count = mAttachmentPoints.size();
+ S32 count = 0;
+
+ for (attachment_map_t::iterator iter = mAttachmentPoints.begin(); iter != mAttachmentPoints.end(); ++iter)
+ {
+ LLViewerJointAttachment* pAttachment = iter->second;
+ count += pAttachment->mAttachedObjects.size();
+ }
+
return count;
}
-BOOL LLVOAvatar::isWearingWearableType(LLWearableType::EType type) const
+bool LLVOAvatar::isWearingWearableType(LLWearableType::EType type) const
{
- if (mIsDummy) return TRUE;
+ if (mIsDummy) return true;
if (isSelf())
{
@@ -7906,7 +7916,7 @@ BOOL LLVOAvatar::isWearingWearableType(LLWearableType::EType type) const
case LLWearableType::WT_SKIN:
case LLWearableType::WT_HAIR:
case LLWearableType::WT_EYES:
- return TRUE; // everyone has all bodyparts
+ return true; // everyone has all bodyparts
default:
break; // Do nothing
}
@@ -7927,10 +7937,10 @@ BOOL LLVOAvatar::isWearingWearableType(LLWearableType::EType type) const
const EBakedTextureIndex baked_index = texture_dict->mBakedTextureIndex;
return isTextureDefined(LLAvatarAppearance::getDictionary()->getBakedTexture(baked_index)->mTextureIndex);
}
- return FALSE;
+ return false;
}
}
- return FALSE;
+ return false;
}
LLViewerObject * LLVOAvatar::findAttachmentByID( const LLUUID & target_id ) const
@@ -8024,7 +8034,7 @@ bool LLVOAvatar::shouldRenderRigged() const
// related to whether the actual avatar mesh is shown, and isVisible()
// to whether anything about the avatar is displayed in the scene.
// Maybe better naming could make this clearer?
-BOOL LLVOAvatar::isVisible() const
+bool LLVOAvatar::isVisible() const
{
return mDrawable.notNull()
&& (!mOrphaned || isSelf())
@@ -8221,7 +8231,7 @@ void LLVOAvatar::logMetricsTimerRecord(const std::string& phase_name, F32 elapse
// call periodically to keep isFullyLoaded up to date.
// returns true if the value has changed.
-BOOL LLVOAvatar::updateIsFullyLoaded()
+bool LLVOAvatar::updateIsFullyLoaded()
{
S32 rez_status = getRezzedStatus();
bool loading = getIsCloud();
@@ -8237,6 +8247,27 @@ BOOL LLVOAvatar::updateIsFullyLoaded()
|| (rez_status < 3 && !isFullyBaked())
|| hasPendingAttachedMeshes()
);
+
+ // compare amount of attachments to one reported by simulator
+ if (!loading && !isSelf() && mLastCloudAttachmentCount != mSimAttachments.size())
+ {
+ S32 attachment_count = getAttachmentCount();
+ if (mLastCloudAttachmentCount != attachment_count)
+ {
+ mLastCloudAttachmentCount = attachment_count;
+ if (attachment_count != mSimAttachments.size())
+ {
+ // attachment count changed, but still below desired, wait for more updates
+ mLastCloudAttachmentChangeTime.reset();
+ loading = true;
+ }
+ }
+ else if (mLastCloudAttachmentChangeTime.getElapsedTimeF32() < MAX_ATTACHMENT_WAIT_TIME_SEC)
+ {
+ // waiting
+ loading = true;
+ }
+ }
}
updateRezzedStatusTimers(rez_status);
updateRuthTimer(loading);
@@ -8272,12 +8303,11 @@ void LLVOAvatar::updateRuthTimer(bool loading)
}
}
-BOOL LLVOAvatar::processFullyLoadedChange(bool loading)
+bool LLVOAvatar::processFullyLoadedChange(bool loading)
{
// We wait a little bit before giving the 'all clear', to let things to
- // settle down (models to snap into place, textures to get first packets).
- // And if viewer isn't aware of some parts yet, this gives them a chance
- // to arrive.
+ // settle down: models to snap into place, textures to get first packets,
+ // LODs to load.
const F32 LOADED_DELAY = 1.f;
if (loading)
@@ -8300,7 +8330,7 @@ BOOL LLVOAvatar::processFullyLoadedChange(bool loading)
{
// Impostors are less of a priority,
// let them stay cloud longer
- mFirstUseDelaySeconds *= 1.25;
+ mFirstUseDelaySeconds *= FIRST_APPEARANCE_CLOUD_IMPOSTOR_MODIFIER;
}
}
mFullyLoaded = (mFullyLoadedTimer.getElapsedTimeF32() > mFirstUseDelaySeconds);
@@ -8319,14 +8349,14 @@ BOOL LLVOAvatar::processFullyLoadedChange(bool loading)
// FIXME runway - why are we updating every 30 calls even if nothing has changed?
// This causes updateLOD() to run every 30 frames, among other things.
const S32 UPDATE_RATE = 30;
- BOOL changed =
+ bool changed =
((mFullyLoaded != mPreviousFullyLoaded) || // if the value is different from the previous call
(!mFullyLoadedInitialized) || // if we've never been called before
(mFullyLoadedFrameCounter % UPDATE_RATE == 0)); // every now and then issue a change
- BOOL fully_loaded_changed = (mFullyLoaded != mPreviousFullyLoaded);
+ bool fully_loaded_changed = (mFullyLoaded != mPreviousFullyLoaded);
mPreviousFullyLoaded = mFullyLoaded;
- mFullyLoadedInitialized = TRUE;
+ mFullyLoadedInitialized = true;
mFullyLoadedFrameCounter++;
if (changed && isSelf())
@@ -8338,13 +8368,13 @@ BOOL LLVOAvatar::processFullyLoadedChange(bool loading)
if (fully_loaded_changed && !isSelf() && mFullyLoaded && isImpostor())
{
// Fix for jellydoll initially invisible
- mNeedsImpostorUpdate = TRUE;
+ mNeedsImpostorUpdate = true;
mLastImpostorUpdateReason = 6;
}
return changed;
}
-BOOL LLVOAvatar::isFullyLoaded() const
+bool LLVOAvatar::isFullyLoaded() const
{
return (mRenderUnloadedAvatar || mFullyLoaded);
}
@@ -8352,13 +8382,17 @@ BOOL LLVOAvatar::isFullyLoaded() const
bool LLVOAvatar::isTooComplex() const
{
bool too_complex;
- static LLCachedControl<bool> always_render_friends(gSavedSettings, "AlwaysRenderFriends");
- bool render_friend = (LLAvatarTracker::instance().isBuddy(getID()) && always_render_friends);
+ static LLCachedControl<S32> compelxity_render_mode(gSavedSettings, "RenderAvatarComplexityMode");
+ bool render_friend = (LLAvatarTracker::instance().isBuddy(getID()) && compelxity_render_mode > AV_RENDER_LIMIT_BY_COMPLEXITY);
if (isSelf() || render_friend || mVisuallyMuteSetting == AV_ALWAYS_RENDER)
{
too_complex = false;
}
+ else if (compelxity_render_mode == AV_RENDER_ONLY_SHOW_FRIENDS && !mIsControlAvatar)
+ {
+ too_complex = true;
+ }
else
{
// Determine if visually muted or not
@@ -8378,13 +8412,17 @@ bool LLVOAvatar::isTooComplex() const
bool LLVOAvatar::isTooSlow() const
{
- static LLCachedControl<bool> always_render_friends(gSavedSettings, "AlwaysRenderFriends");
- bool render_friend = (LLAvatarTracker::instance().isBuddy(getID()) && always_render_friends);
+ static LLCachedControl<S32> compelxity_render_mode(gSavedSettings, "RenderAvatarComplexityMode");
+ bool render_friend = (LLAvatarTracker::instance().isBuddy(getID()) && compelxity_render_mode > AV_RENDER_LIMIT_BY_COMPLEXITY);
if (render_friend || mVisuallyMuteSetting == AV_ALWAYS_RENDER)
{
return false;
}
+ else if (compelxity_render_mode == AV_RENDER_ONLY_SHOW_FRIENDS && !mIsControlAvatar)
+ {
+ return true;
+ }
return mTooSlow;
}
@@ -8392,7 +8430,7 @@ bool LLVOAvatar::isTooSlow() const
void LLVOAvatar::updateTooSlow()
{
LL_PROFILE_ZONE_SCOPED_CATEGORY_AVATAR;
- static LLCachedControl<bool> alwaysRenderFriends(gSavedSettings, "AlwaysRenderFriends");
+ static LLCachedControl<S32> compelxity_render_mode(gSavedSettings, "RenderAvatarComplexityMode");
static LLCachedControl<bool> allowSelfImpostor(gSavedSettings, "AllowSelfImpostor");
const auto id = getID();
@@ -8425,12 +8463,14 @@ void LLVOAvatar::updateTooSlow()
if(!mTooSlowWithoutShadows) // if we were not previously above the full impostor cap
{
- bool render_friend_or_exception = ( alwaysRenderFriends && LLAvatarTracker::instance().isBuddy( id ) ) ||
+ bool always_render_friends = compelxity_render_mode > AV_RENDER_LIMIT_BY_COMPLEXITY;
+ bool render_friend_or_exception = (always_render_friends && LLAvatarTracker::instance().isBuddy( id ) ) ||
( getVisualMuteSettings() == LLVOAvatar::AV_ALWAYS_RENDER );
- if( (!isSelf() || allowSelfImpostor) && !render_friend_or_exception )
+ if( (!isSelf() || allowSelfImpostor) && !render_friend_or_exception)
{
// Note: slow rendering Friends still get their shadows zapped.
- mTooSlowWithoutShadows = getGPURenderTime()*2.f >= max_art_ms; // NOTE: assumes shadow rendering doubles render time
+ mTooSlowWithoutShadows = (getGPURenderTime()*2.f >= max_art_ms) // NOTE: assumes shadow rendering doubles render time
+ || (compelxity_render_mode == AV_RENDER_ONLY_SHOW_FRIENDS && !mIsControlAvatar);
}
}
}
@@ -8562,35 +8602,35 @@ void LLVOAvatar::updateMeshVisibility()
LLAvatarJoint* joint = mMeshLOD[i];
if (i == MESH_ID_HAIR)
{
- joint->setVisible(!bake_flag[BAKED_HAIR], TRUE);
+ joint->setVisible(!bake_flag[BAKED_HAIR], true);
}
else if (i == MESH_ID_HEAD)
{
- joint->setVisible(!bake_flag[BAKED_HEAD], TRUE);
+ joint->setVisible(!bake_flag[BAKED_HEAD], true);
}
else if (i == MESH_ID_SKIRT)
{
- joint->setVisible(!bake_flag[BAKED_SKIRT], TRUE);
+ joint->setVisible(!bake_flag[BAKED_SKIRT], true);
}
else if (i == MESH_ID_UPPER_BODY)
{
- joint->setVisible(!bake_flag[BAKED_UPPER], TRUE);
+ joint->setVisible(!bake_flag[BAKED_UPPER], true);
}
else if (i == MESH_ID_LOWER_BODY)
{
- joint->setVisible(!bake_flag[BAKED_LOWER], TRUE);
+ joint->setVisible(!bake_flag[BAKED_LOWER], true);
}
else if (i == MESH_ID_EYEBALL_LEFT)
{
- joint->setVisible(!bake_flag[BAKED_EYES], TRUE);
+ joint->setVisible(!bake_flag[BAKED_EYES], true);
}
else if (i == MESH_ID_EYEBALL_RIGHT)
{
- joint->setVisible(!bake_flag[BAKED_EYES], TRUE);
+ joint->setVisible(!bake_flag[BAKED_EYES], true);
}
else if (i == MESH_ID_EYELASH)
{
- joint->setVisible(!bake_flag[BAKED_HEAD], TRUE);
+ joint->setVisible(!bake_flag[BAKED_HEAD], true);
}
}
}
@@ -8618,19 +8658,19 @@ void LLVOAvatar::updateMeshTextures()
}
}
- const BOOL other_culled = !isSelf() && mCulled;
+ const bool other_culled = !isSelf() && mCulled;
LLLoadedCallbackEntry::source_callback_list_t* src_callback_list = NULL ;
- BOOL paused = FALSE;
+ bool paused = false;
if(!isSelf())
{
src_callback_list = &mCallbackTextureList ;
paused = !isVisible();
}
- std::vector<BOOL> is_layer_baked;
+ std::vector<bool> is_layer_baked;
is_layer_baked.resize(mBakedTextureDatas.size(), false);
- std::vector<BOOL> use_lkg_baked_layer; // lkg = "last known good"
+ std::vector<bool> use_lkg_baked_layer; // lkg = "last known good"
use_lkg_baked_layer.resize(mBakedTextureDatas.size(), false);
mBakedTextureDebugText += llformat("%06d\n",update_counter++);
@@ -8653,7 +8693,7 @@ void LLVOAvatar::updateMeshTextures()
&& layerset_invalid);
if (use_lkg_baked_layer[i])
{
- layerset->setUpdatesEnabled(TRUE);
+ layerset->setUpdatesEnabled(true);
}
}
else
@@ -8693,7 +8733,7 @@ void LLVOAvatar::updateMeshTextures()
{
// use last known good layer (no new one)
LLViewerFetchedTexture* baked_img = LLViewerTextureManager::getFetchedTexture(mBakedTextureDatas[i].mLastTextureID);
- mBakedTextureDatas[i].mIsUsed = TRUE;
+ mBakedTextureDatas[i].mIsUsed = true;
debugColorizeSubMeshes(i,LLColor4::red);
@@ -8713,7 +8753,7 @@ void LLVOAvatar::updateMeshTextures()
// use new layer
LLViewerFetchedTexture* baked_img =
LLViewerTextureManager::staticCastToFetchedTexture(
- getImage( mBakedTextureDatas[i].mTextureIndex, 0 ), TRUE) ;
+ getImage( mBakedTextureDatas[i].mTextureIndex, 0 ), true) ;
if( baked_img->getID() == mBakedTextureDatas[i].mLastTextureID )
{
// Even though the file may not be finished loading,
@@ -8725,14 +8765,14 @@ void LLVOAvatar::updateMeshTextures()
}
else
{
- mBakedTextureDatas[i].mIsLoaded = FALSE;
+ mBakedTextureDatas[i].mIsLoaded = false;
if ( (baked_img->getID() != IMG_INVISIBLE) &&
((i == BAKED_HEAD) || (i == BAKED_UPPER) || (i == BAKED_LOWER)) )
{
- baked_img->setLoadedCallback(onBakedTextureMasksLoaded, MORPH_MASK_REQUESTED_DISCARD, TRUE, TRUE, new LLTextureMaskData( mID ),
+ baked_img->setLoadedCallback(onBakedTextureMasksLoaded, MORPH_MASK_REQUESTED_DISCARD, true, true, new LLTextureMaskData( mID ),
src_callback_list, paused);
}
- baked_img->setLoadedCallback(onBakedTextureLoaded, SWITCH_TO_BAKED_DISCARD, FALSE, FALSE, new LLUUID( mID ),
+ baked_img->setLoadedCallback(onBakedTextureLoaded, SWITCH_TO_BAKED_DISCARD, false, false, new LLUUID( mID ),
src_callback_list, paused );
if (baked_img->getDiscardLevel() < 0 && !paused)
{
@@ -8750,8 +8790,8 @@ void LLVOAvatar::updateMeshTextures()
debugColorizeSubMeshes(i,LLColor4::yellow );
layerset->createComposite();
- layerset->setUpdatesEnabled( TRUE );
- mBakedTextureDatas[i].mIsUsed = FALSE;
+ layerset->setUpdatesEnabled( true );
+ mBakedTextureDatas[i].mIsUsed = false;
avatar_joint_mesh_list_t::iterator iter = mBakedTextureDatas[i].mJointMeshes.begin();
avatar_joint_mesh_list_t::iterator end = mBakedTextureDatas[i].mJointMeshes.end();
@@ -8804,7 +8844,7 @@ void LLVOAvatar::updateMeshTextures()
++local_tex_iter)
{
const ETextureIndex texture_index = *local_tex_iter;
- const BOOL is_baked_ready = (is_layer_baked[baked_index] && mBakedTextureDatas[baked_index].mIsLoaded) || other_culled;
+ const bool is_baked_ready = (is_layer_baked[baked_index] && mBakedTextureDatas[baked_index].mIsLoaded) || other_culled;
if (isSelf())
{
setBakedReady(texture_index, is_baked_ready);
@@ -8859,14 +8899,14 @@ void LLVOAvatar::updateMeshTextures()
//-----------------------------------------------------------------------------
// setLocalTexture()
//-----------------------------------------------------------------------------
-void LLVOAvatar::setLocalTexture( ETextureIndex type, LLViewerTexture* in_tex, BOOL baked_version_ready, U32 index )
+void LLVOAvatar::setLocalTexture( ETextureIndex type, LLViewerTexture* in_tex, bool baked_version_ready, U32 index )
{
// invalid for anyone but self
llassert(0);
}
//virtual
-void LLVOAvatar::setBakedReady(LLAvatarAppearanceDefines::ETextureIndex type, BOOL baked_version_exists, U32 index)
+void LLVOAvatar::setBakedReady(LLAvatarAppearanceDefines::ETextureIndex type, bool baked_version_exists, U32 index)
{
// invalid for anyone but self
llassert(0);
@@ -8902,7 +8942,7 @@ void LLVOAvatar::clearChat()
}
-void LLVOAvatar::applyMorphMask(U8* tex_data, S32 width, S32 height, S32 num_components, LLAvatarAppearanceDefines::EBakedTextureIndex index)
+void LLVOAvatar::applyMorphMask(const U8* tex_data, S32 width, S32 height, S32 num_components, LLAvatarAppearanceDefines::EBakedTextureIndex index)
{
if (index >= BAKED_NUM_INDICES)
{
@@ -8922,12 +8962,12 @@ void LLVOAvatar::applyMorphMask(U8* tex_data, S32 width, S32 height, S32 num_com
}
}
-// returns TRUE if morph masks are present and not valid for a given baked texture, FALSE otherwise
-BOOL LLVOAvatar::morphMaskNeedsUpdate(LLAvatarAppearanceDefines::EBakedTextureIndex index)
+// returns true if morph masks are present and not valid for a given baked texture, false otherwise
+bool LLVOAvatar::morphMaskNeedsUpdate(LLAvatarAppearanceDefines::EBakedTextureIndex index)
{
if (index >= BAKED_NUM_INDICES)
{
- return FALSE;
+ return false;
}
if (!mBakedTextureDatas[index].mMaskedMorphs.empty())
@@ -8942,11 +8982,11 @@ BOOL LLVOAvatar::morphMaskNeedsUpdate(LLAvatarAppearanceDefines::EBakedTextureIn
}
else
{
- return FALSE;
+ return false;
}
}
- return FALSE;
+ return false;
}
//-----------------------------------------------------------------------------
@@ -9041,7 +9081,7 @@ void LLVOAvatar::clampAttachmentPositions()
}
}
-BOOL LLVOAvatar::hasHUDAttachment() const
+bool LLVOAvatar::hasHUDAttachment() const
{
for (attachment_map_t::const_iterator iter = mAttachmentPoints.begin();
iter != mAttachmentPoints.end();
@@ -9050,10 +9090,10 @@ BOOL LLVOAvatar::hasHUDAttachment() const
LLViewerJointAttachment* attachment = iter->second;
if (attachment->getIsHUDAttachment() && attachment->getNumObjects() > 0)
{
- return TRUE;
+ return true;
}
}
- return FALSE;
+ return false;
}
LLBBox LLVOAvatar::getHUDBBox() const
@@ -9103,10 +9143,10 @@ void LLVOAvatar::onFirstTEMessageReceived()
LL_DEBUGS("Avatar") << avString() << LL_ENDL;
if( !mFirstTEMessageReceived )
{
- mFirstTEMessageReceived = TRUE;
+ mFirstTEMessageReceived = true;
LLLoadedCallbackEntry::source_callback_list_t* src_callback_list = NULL ;
- BOOL paused = FALSE ;
+ bool paused = false ;
if(!isSelf())
{
src_callback_list = &mCallbackTextureList ;
@@ -9115,22 +9155,22 @@ void LLVOAvatar::onFirstTEMessageReceived()
for (U32 i = 0; i < mBakedTextureDatas.size(); i++)
{
- const BOOL layer_baked = isTextureDefined(mBakedTextureDatas[i].mTextureIndex);
+ const bool layer_baked = isTextureDefined(mBakedTextureDatas[i].mTextureIndex);
// Use any baked textures that we have even if they haven't downloaded yet.
// (That is, don't do a transition from unbaked to baked.)
if (layer_baked)
{
- LLViewerFetchedTexture* image = LLViewerTextureManager::staticCastToFetchedTexture(getImage( mBakedTextureDatas[i].mTextureIndex, 0 ), TRUE) ;
+ LLViewerFetchedTexture* image = LLViewerTextureManager::staticCastToFetchedTexture(getImage( mBakedTextureDatas[i].mTextureIndex, 0 ), true) ;
mBakedTextureDatas[i].mLastTextureID = image->getID();
// If we have more than one texture for the other baked layers, we'll want to call this for them too.
if ( (image->getID() != IMG_INVISIBLE) && ((i == BAKED_HEAD) || (i == BAKED_UPPER) || (i == BAKED_LOWER)) )
{
- image->setLoadedCallback( onBakedTextureMasksLoaded, MORPH_MASK_REQUESTED_DISCARD, TRUE, TRUE, new LLTextureMaskData( mID ),
+ image->setLoadedCallback( onBakedTextureMasksLoaded, MORPH_MASK_REQUESTED_DISCARD, true, true, new LLTextureMaskData( mID ),
src_callback_list, paused);
}
LL_DEBUGS("Avatar") << avString() << "layer_baked, setting onInitialBakedTextureLoaded as callback" << LL_ENDL;
- image->setLoadedCallback( onInitialBakedTextureLoaded, MAX_DISCARD_LEVEL, FALSE, FALSE, new LLUUID( mID ),
+ image->setLoadedCallback( onInitialBakedTextureLoaded, MAX_DISCARD_LEVEL, false, false, new LLUUID( mID ),
src_callback_list, paused );
if (image->getDiscardLevel() < 0 && !paused)
{
@@ -9141,7 +9181,7 @@ void LLVOAvatar::onFirstTEMessageReceived()
}
}
- mMeshTexturesDirty = TRUE;
+ mMeshTexturesDirty = true;
gPipeline.markGLRebuild(this);
mFirstAppearanceMessageTimer.reset();
@@ -9277,7 +9317,7 @@ void LLVOAvatar::parseAppearanceMessage(LLMessageSystem* mesgsys, LLAppearanceMe
//mesgsys->getU32Fast(_PREHASH_AppearanceData, _PREHASH_Flags, appearance_flags, 0);
}
- // Parse the AppearanceData field, if any.
+ // Parse the AppearanceHover field, if any.
contents.mHoverOffsetWasSet = false;
if (mesgsys->has(_PREHASH_AppearanceHover))
{
@@ -9287,7 +9327,36 @@ void LLVOAvatar::parseAppearanceMessage(LLMessageSystem* mesgsys, LLAppearanceMe
contents.mHoverOffset = hover;
contents.mHoverOffsetWasSet = true;
}
-
+
+ // Get attachment info, if sent
+ LLUUID attachment_id;
+ U8 attach_point;
+ S32 attach_count = mesgsys->getNumberOfBlocksFast(_PREHASH_AttachmentBlock);
+ LL_DEBUGS("AVAppearanceAttachments") << "Agent " << getID() << " has "
+ << attach_count << " attachments" << LL_ENDL;
+ size_t old_size = mSimAttachments.size();
+ mSimAttachments.clear();
+ for (S32 attach_i = 0; attach_i < attach_count; attach_i++)
+ {
+ mesgsys->getUUIDFast(_PREHASH_AttachmentBlock, _PREHASH_ID, attachment_id, attach_i);
+ mesgsys->getU8Fast(_PREHASH_AttachmentBlock, _PREHASH_AttachmentPoint, attach_point, attach_i);
+ LL_DEBUGS("AVAppearanceAttachments") << "AV " << getID() << " has attachment " << attach_i << " "
+ << (attachment_id.isNull() ? "pending" : attachment_id.asString())
+ << " on point " << (S32)attach_point << LL_ENDL;
+
+ mSimAttachments[attachment_id] = attach_point;
+ }
+
+ if (old_size != mSimAttachments.size())
+ {
+ mLastCloudAttachmentCount = 0;
+ mLastCloudAttachmentChangeTime.reset();
+ if (!isFullyLoaded())
+ {
+ mFullyLoadedTimer.reset();
+ }
+ }
+
// Parse visual params, if any.
S32 num_blocks = mesgsys->getNumberOfBlocksFast(_PREHASH_VisualParam);
static LLCachedControl<bool> block_some_avatars(gSavedSettings, "BlockSomeAvatarAppearanceVisualParams");
@@ -9520,7 +9589,7 @@ void LLVOAvatar::applyParsedAppearanceMessage(LLAppearanceMessageContents& conte
{
LL_DEBUGS("Avatar") << avString() << " baked_index " << (S32) baked_index << " using mLastTextureID " << mBakedTextureDatas[baked_index].mLastTextureID << LL_ENDL;
setTEImage(mBakedTextureDatas[baked_index].mTextureIndex,
- LLViewerTextureManager::getFetchedTexture(mBakedTextureDatas[baked_index].mLastTextureID, FTT_DEFAULT, TRUE, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE));
+ LLViewerTextureManager::getFetchedTexture(mBakedTextureDatas[baked_index].mLastTextureID, FTT_DEFAULT, true, LLGLTexture::BOOST_NONE, LLViewerTexture::LOD_TEXTURE));
}
else
{
@@ -9532,8 +9601,8 @@ void LLVOAvatar::applyParsedAppearanceMessage(LLAppearanceMessageContents& conte
// runway - was
// if (!is_first_appearance_message )
// which means it would be called on second appearance message - probably wrong.
- BOOL is_first_appearance_message = !mFirstAppearanceMessageReceived;
- mFirstAppearanceMessageReceived = TRUE;
+ bool is_first_appearance_message = !mFirstAppearanceMessageReceived;
+ mFirstAppearanceMessageReceived = true;
//LL_DEBUGS("Avatar") << avString() << "processAvatarAppearance start " << mID
// << " first? " << is_first_appearance_message << " self? " << isSelf() << LL_ENDL;
@@ -9543,15 +9612,15 @@ void LLVOAvatar::applyParsedAppearanceMessage(LLAppearanceMessageContents& conte
onFirstTEMessageReceived();
}
- setCompositeUpdatesEnabled( FALSE );
+ setCompositeUpdatesEnabled( false );
gPipeline.markGLRebuild(this);
// Apply visual params
if( num_params > 1)
{
//LL_DEBUGS("Avatar") << avString() << " handle visual params, num_params " << num_params << LL_ENDL;
- BOOL params_changed = FALSE;
- BOOL interp_params = FALSE;
+ bool params_changed = false;
+ bool interp_params = false;
S32 params_changed_count = 0;
for( S32 i = 0; i < num_params; i++ )
@@ -9561,7 +9630,7 @@ void LLVOAvatar::applyParsedAppearanceMessage(LLAppearanceMessageContents& conte
if (slam_params || is_first_appearance_message || (param->getWeight() != newWeight))
{
- params_changed = TRUE;
+ params_changed = true;
params_changed_count++;
if(is_first_appearance_message || slam_params)
@@ -9571,7 +9640,7 @@ void LLVOAvatar::applyParsedAppearanceMessage(LLAppearanceMessageContents& conte
}
else
{
- interp_params = TRUE;
+ interp_params = true;
param->setAnimationTarget(newWeight);
}
}
@@ -9638,7 +9707,7 @@ void LLVOAvatar::applyParsedAppearanceMessage(LLAppearanceMessageContents& conte
setHoverOffset(LLVector3(0.0, 0.0, 0.0));
}
- setCompositeUpdatesEnabled( TRUE );
+ setCompositeUpdatesEnabled( true );
// If all of the avatars are completely baked, release the global image caches to conserve memory.
LLVOAvatar::cullAvatarsByPixelArea();
@@ -9660,7 +9729,7 @@ LLViewerTexture* LLVOAvatar::getBakedTexture(const U8 te)
return NULL;
}
- BOOL is_layer_baked = isTextureDefined(mBakedTextureDatas[te].mTextureIndex);
+ bool is_layer_baked = isTextureDefined(mBakedTextureDatas[te].mTextureIndex);
LLViewerTexLayerSet* layerset = NULL;
layerset = getTexLayerSet(te);
@@ -9668,13 +9737,13 @@ LLViewerTexture* LLVOAvatar::getBakedTexture(const U8 te)
if (!isEditingAppearance() && is_layer_baked)
{
- LLViewerFetchedTexture* baked_img = LLViewerTextureManager::staticCastToFetchedTexture(getImage(mBakedTextureDatas[te].mTextureIndex, 0), TRUE);
+ LLViewerFetchedTexture* baked_img = LLViewerTextureManager::staticCastToFetchedTexture(getImage(mBakedTextureDatas[te].mTextureIndex, 0), true);
return baked_img;
}
else if (layerset && isEditingAppearance())
{
layerset->createComposite();
- layerset->setUpdatesEnabled(TRUE);
+ layerset->setUpdatesEnabled(true);
return layerset->getViewerComposite();
}
@@ -9762,7 +9831,7 @@ void LLVOAvatar::getAnimNames( std::vector<std::string>* names )
}
// static
-void LLVOAvatar::onBakedTextureMasksLoaded( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, BOOL final, void* userdata )
+void LLVOAvatar::onBakedTextureMasksLoaded( bool success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, bool final, void* userdata )
{
if (!userdata) return;
@@ -9778,6 +9847,8 @@ void LLVOAvatar::onBakedTextureMasksLoaded( BOOL success, LLViewerFetchedTexture
{
if(aux_src && aux_src->getComponents() == 1)
{
+ LLImageDataSharedLock lock(aux_src);
+
if (!aux_src->getData())
{
LL_ERRS() << "No auxiliary source (morph mask) data for image id " << id << LL_ENDL;
@@ -9804,7 +9875,7 @@ void LLVOAvatar::onBakedTextureMasksLoaded( BOOL success, LLViewerFetchedTexture
//LL_INFOS() << "onBakedTextureMasksLoaded for head " << id << " discard = " << discard_level << LL_ENDL;
self->mBakedTextureDatas[BAKED_HEAD].mTexLayerSet->applyMorphMask(aux_src->getData(), aux_src->getWidth(), aux_src->getHeight(), 1);
maskData->mLastDiscardLevel = discard_level; */
- BOOL found_texture_id = false;
+ bool found_texture_id = false;
for (LLAvatarAppearanceDictionary::Textures::const_iterator iter = LLAvatarAppearance::getDictionary()->getTextures().begin();
iter != LLAvatarAppearance::getDictionary()->getTextures().end();
++iter)
@@ -9851,7 +9922,7 @@ void LLVOAvatar::onBakedTextureMasksLoaded( BOOL success, LLViewerFetchedTexture
}
// static
-void LLVOAvatar::onInitialBakedTextureLoaded( BOOL success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, BOOL final, void* userdata )
+void LLVOAvatar::onInitialBakedTextureLoaded( bool success, LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src, S32 discard_level, bool final, void* userdata )
{
LLUUID *avatar_idp = (LLUUID *)userdata;
LLVOAvatar *selfp = (LLVOAvatar *)gObjectList.findObject(*avatar_idp);
@@ -9872,9 +9943,9 @@ void LLVOAvatar::onInitialBakedTextureLoaded( BOOL success, LLViewerFetchedTextu
}
// Static
-void LLVOAvatar::onBakedTextureLoaded(BOOL success,
+void LLVOAvatar::onBakedTextureLoaded(bool success,
LLViewerFetchedTexture *src_vi, LLImageRaw* src, LLImageRaw* aux_src,
- S32 discard_level, BOOL final, void* userdata)
+ S32 discard_level, bool final, void* userdata)
{
//LL_DEBUGS("Avatar") << "onBakedTextureLoaded: " << src_vi->getID() << LL_ENDL;
@@ -9942,7 +10013,7 @@ void LLVOAvatar::useBakedTexture( const LLUUID& id )
local_tex_iter != baked_dict->mLocalTextures.end();
++local_tex_iter)
{
- if (isSelf()) setBakedReady(*local_tex_iter, TRUE);
+ if (isSelf()) setBakedReady(*local_tex_iter, true);
}
// ! BACKWARDS COMPATIBILITY !
@@ -10303,7 +10374,7 @@ S32 LLVOAvatar::getUnbakedPixelAreaRank()
struct CompareScreenAreaGreater
{
- BOOL operator()(const LLCharacter* const& lhs, const LLCharacter* const& rhs)
+ bool operator()(const LLCharacter* const& lhs, const LLCharacter* const& rhs)
{
return lhs->getPixelArea() > rhs->getPixelArea();
}
@@ -10320,14 +10391,14 @@ void LLVOAvatar::cullAvatarsByPixelArea()
iter != LLCharacter::sInstances.end(); ++iter)
{
LLVOAvatar* inst = (LLVOAvatar*) *iter;
- BOOL culled;
+ bool culled;
if (inst->isSelf() || inst->isFullyBaked())
{
- culled = FALSE;
+ culled = false;
}
else
{
- culled = TRUE;
+ culled = true;
}
if (inst->mCulled != culled)
@@ -10371,7 +10442,7 @@ void LLVOAvatar::startAppearanceAnimation()
{
if(!mAppearanceAnimating)
{
- mAppearanceAnimating = TRUE;
+ mAppearanceAnimating = true;
mAppearanceMorphTimer.reset();
mLastAppearanceBlendTime = 0.f;
}
@@ -10416,19 +10487,19 @@ LLHost LLVOAvatar::getObjectHost() const
}
}
-BOOL LLVOAvatar::updateLOD()
+bool LLVOAvatar::updateLOD()
{
if (mDrawable.isNull())
{
- return FALSE;
+ return false;
}
if (!LLPipeline::sImpostorRender && isImpostor() && 0 != mDrawable->getNumFaces() && mDrawable->getFace(0)->hasGeometry())
{
- return TRUE;
+ return true;
}
- BOOL res = updateJointLODs();
+ bool res = updateJointLODs();
LLFace* facep = mDrawable->getFace(0);
if (!facep || !facep->getVertexBuffer())
@@ -10440,7 +10511,7 @@ BOOL LLVOAvatar::updateLOD()
{ //LOD changed or new mesh created, allocate new vertex buffer if needed
updateMeshData();
mDirtyMesh = 0;
- mNeedsSkin = TRUE;
+ mNeedsSkin = true;
mDrawable->clearState(LLDrawable::REBUILD_GEOMETRY);
}
updateVisibility();
@@ -10617,16 +10688,16 @@ void LLVOAvatar::updateImpostors()
}
}
- LLCharacter::sAllowInstancesChange = TRUE;
+ LLCharacter::sAllowInstancesChange = true;
}
// virtual
-BOOL LLVOAvatar::isImpostor()
+bool LLVOAvatar::isImpostor()
{
return isVisuallyMuted() || (sLimitNonImpostors && (mUpdatePeriod > 1));
}
-BOOL LLVOAvatar::shouldImpostor(const F32 rank_factor)
+bool LLVOAvatar::shouldImpostor(const F32 rank_factor)
{
if (isSelf())
{
@@ -10639,7 +10710,7 @@ BOOL LLVOAvatar::shouldImpostor(const F32 rank_factor)
return sLimitNonImpostors && (mVisibilityRank > sMaxNonImpostors * rank_factor);
}
-BOOL LLVOAvatar::needsImpostorUpdate() const
+bool LLVOAvatar::needsImpostorUpdate() const
{
return mNeedsImpostorUpdate;
}
@@ -10965,7 +11036,7 @@ void LLVOAvatar::accountRenderComplexityForObject(
const LLVOVolume* volume = attached_object->mDrawable->getVOVolume();
if (volume)
{
- BOOL is_rigged_mesh = volume->isRiggedMeshFast();
+ bool is_rigged_mesh = volume->isRiggedMeshFast();
LLHUDComplexity hud_object_complexity;
hud_object_complexity.objectName = attached_object->getAttachmentItemName();
hud_object_complexity.objectId = attached_object->getAttachmentItemID();
@@ -11162,7 +11233,7 @@ void LLVOAvatar::calculateUpdateRenderComplexity()
void LLVOAvatar::setVisualMuteSettings(VisualMuteSettings set)
{
mVisuallyMuteSetting = set;
- mNeedsImpostorUpdate = TRUE;
+ mNeedsImpostorUpdate = true;
mLastImpostorUpdateReason = 7;
LLRenderMuteList::getInstance()->saveVisualMuteSetting(getID(), S32(set));
@@ -11205,7 +11276,7 @@ void LLVOAvatar::setOverallAppearanceJellyDoll()
++anim_it)
{
{
- stopMotion(anim_it->first, TRUE);
+ stopMotion(anim_it->first, true);
}
}
}
@@ -11244,7 +11315,7 @@ void LLVOAvatar::updateOverallAppearance()
mOverallAppearance = new_overall;
if (!isSelf())
{
- mNeedsImpostorUpdate = TRUE;
+ mNeedsImpostorUpdate = true;
mLastImpostorUpdateReason = 8;
}
updateMeshVisibility();
@@ -11284,7 +11355,7 @@ void LLVOAvatar::updateOverallAppearanceAnimations()
if (!is_playing)
{
// Anim was not requested for this av by sim, but may be playing locally
- stopMotion(*it, TRUE);
+ stopMotion(*it, true);
}
}
mJellyAnims.clear();
@@ -11395,7 +11466,7 @@ void LLVOAvatar::calcMutedAVColor()
}
// static
-BOOL LLVOAvatar::isIndexLocalTexture(ETextureIndex index)
+bool LLVOAvatar::isIndexLocalTexture(ETextureIndex index)
{
return (index < 0 || index >= TEX_NUM_INDICES)
? false
@@ -11403,7 +11474,7 @@ BOOL LLVOAvatar::isIndexLocalTexture(ETextureIndex index)
}
// static
-BOOL LLVOAvatar::isIndexBakedTexture(ETextureIndex index)
+bool LLVOAvatar::isIndexBakedTexture(ETextureIndex index)
{
return (index < 0 || index >= TEX_NUM_INDICES)
? false
@@ -11451,17 +11522,17 @@ F32 calc_bouncy_animation(F32 x)
}
//virtual
-BOOL LLVOAvatar::isTextureDefined(LLAvatarAppearanceDefines::ETextureIndex te, U32 index ) const
+bool LLVOAvatar::isTextureDefined(LLAvatarAppearanceDefines::ETextureIndex te, U32 index ) const
{
if (isIndexLocalTexture(te))
{
- return FALSE;
+ return false;
}
if( !getImage( te, index ) )
{
LL_WARNS() << "getImage( " << te << ", " << index << " ) returned 0" << LL_ENDL;
- return FALSE;
+ return false;
}
return (getImage(te, index)->getID() != IMG_DEFAULT_AVATAR &&
@@ -11469,7 +11540,7 @@ BOOL LLVOAvatar::isTextureDefined(LLAvatarAppearanceDefines::ETextureIndex te, U
}
//virtual
-BOOL LLVOAvatar::isTextureVisible(LLAvatarAppearanceDefines::ETextureIndex type, U32 index) const
+bool LLVOAvatar::isTextureVisible(LLAvatarAppearanceDefines::ETextureIndex type, U32 index) const
{
if (isIndexLocalTexture(type))
{
@@ -11485,10 +11556,10 @@ BOOL LLVOAvatar::isTextureVisible(LLAvatarAppearanceDefines::ETextureIndex type,
}
//virtual
-BOOL LLVOAvatar::isTextureVisible(LLAvatarAppearanceDefines::ETextureIndex type, LLViewerWearable *wearable) const
+bool LLVOAvatar::isTextureVisible(LLAvatarAppearanceDefines::ETextureIndex type, LLViewerWearable *wearable) const
{
// non-self avatars don't have wearables
- return FALSE;
+ return false;
}
void LLVOAvatar::placeProfileQuery()