From 360eccc56f6d763a6726525caa4bbfa2a9f511bc Mon Sep 17 00:00:00 2001 From: Beq Date: Sat, 2 Dec 2023 00:42:23 +0000 Subject: [PATCH] Remove delayed avatar de-clouding thanks for the heads up, Rye --- indra/newview/llvoavatar.cpp | 149 ++++++++++++++++++----------------- indra/newview/llvoavatar.h | 2 +- 2 files changed, 76 insertions(+), 75 deletions(-) diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp index e0f1cfda02..e93ea8c479 100644 --- a/indra/newview/llvoavatar.cpp +++ b/indra/newview/llvoavatar.cpp @@ -8413,85 +8413,86 @@ void LLVOAvatar::cleanupAttachedMesh( LLViewerObject* pVO ) } } } +// remove mesh rezzing delay +// bool LLVOAvatar::hasPendingAttachedMeshes() +// { +// for (attachment_map_t::iterator iter = mAttachmentPoints.begin(); +// iter != mAttachmentPoints.end(); +// ++iter) +// { +// LLViewerJointAttachment* attachment = iter->second; +// if (attachment) +// { +// for (LLViewerJointAttachment::attachedobjs_vec_t::iterator attachment_iter = attachment->mAttachedObjects.begin(); +// attachment_iter != attachment->mAttachedObjects.end(); +// ++attachment_iter) +// { +// LLViewerObject* objectp = attachment_iter->get(); +// if (objectp) +// { +// LLViewerObject::const_child_list_t& child_list = objectp->getChildren(); +// for (LLViewerObject::child_list_t::const_iterator iter1 = child_list.begin(); +// iter1 != child_list.end(); ++iter1) +// { +// LLViewerObject* objectchild = *iter1; +// if (objectchild && objectchild->getVolume()) +// { +// const LLUUID& mesh_id = objectchild->getVolume()->getParams().getSculptID(); +// if (mesh_id.isNull()) +// { +// // No mesh nor skin info needed +// continue; +// } -bool LLVOAvatar::hasPendingAttachedMeshes() -{ - for (attachment_map_t::iterator iter = mAttachmentPoints.begin(); - iter != mAttachmentPoints.end(); - ++iter) - { - LLViewerJointAttachment* attachment = iter->second; - if (attachment) - { - for (LLViewerJointAttachment::attachedobjs_vec_t::iterator attachment_iter = attachment->mAttachedObjects.begin(); - attachment_iter != attachment->mAttachedObjects.end(); - ++attachment_iter) - { - LLViewerObject* objectp = attachment_iter->get(); - if (objectp) - { - LLViewerObject::const_child_list_t& child_list = objectp->getChildren(); - for (LLViewerObject::child_list_t::const_iterator iter1 = child_list.begin(); - iter1 != child_list.end(); ++iter1) - { - LLViewerObject* objectchild = *iter1; - if (objectchild && objectchild->getVolume()) - { - const LLUUID& mesh_id = objectchild->getVolume()->getParams().getSculptID(); - if (mesh_id.isNull()) - { - // No mesh nor skin info needed - continue; - } +// if (objectchild->getVolume()->isMeshAssetUnavaliable()) +// { +// // Mesh failed to load, do not expect it +// continue; +// } - if (objectchild->getVolume()->isMeshAssetUnavaliable()) - { - // Mesh failed to load, do not expect it - continue; - } +// if (objectchild->mDrawable) +// { +// LLVOVolume* pvobj = objectchild->mDrawable->getVOVolume(); +// if (pvobj) +// { +// if (!pvobj->isMesh()) +// { +// // Not a mesh +// continue; +// } - if (objectchild->mDrawable) - { - LLVOVolume* pvobj = objectchild->mDrawable->getVOVolume(); - if (pvobj) - { - if (!pvobj->isMesh()) - { - // Not a mesh - continue; - } +// if (!objectchild->getVolume()->isMeshAssetLoaded()) +// { +// // Waiting for mesh +// return true; +// } - if (!objectchild->getVolume()->isMeshAssetLoaded()) - { - // Waiting for mesh - return true; - } +// const LLMeshSkinInfo* skin_data = pvobj->getSkinInfo(); +// if (skin_data) +// { +// // Skin info present, done +// continue; +// } - const LLMeshSkinInfo* skin_data = pvobj->getSkinInfo(); - if (skin_data) - { - // Skin info present, done - continue; - } +// if (pvobj->isSkinInfoUnavaliable()) +// { +// // Load failed or info not present, don't expect it +// continue; +// } +// } - if (pvobj->isSkinInfoUnavaliable()) - { - // Load failed or info not present, don't expect it - continue; - } - } - - // objectchild is not ready - return true; - } - } - } - } - } - } - } - return false; -} +// // objectchild is not ready +// return true; +// } +// } +// } +// } +// } +// } +// } +// return false; +// } +// //----------------------------------------------------------------------------- // detachObject() @@ -9152,7 +9153,7 @@ BOOL LLVOAvatar::updateIsFullyLoaded() || (mLoadedCallbackTextures < mCallbackTextureList.size() && mLastTexCallbackAddedTime.getElapsedTimeF32() < MAX_TEXTURE_WAIT_TIME_SEC) || !mPendingAttachment.empty() || (rez_status < 3 && !isFullyBaked()) - || hasPendingAttachedMeshes() + // || hasPendingAttachedMeshes() // ); } updateRezzedStatusTimers(rez_status); diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h index 540a05c6a1..b6d81d4383 100644 --- a/indra/newview/llvoavatar.h +++ b/indra/newview/llvoavatar.h @@ -962,7 +962,7 @@ public: virtual BOOL detachObject(LLViewerObject *viewer_object); static bool getRiggedMeshID( LLViewerObject* pVO, LLUUID& mesh_id ); void cleanupAttachedMesh( LLViewerObject* pVO ); - bool hasPendingAttachedMeshes(); + // bool hasPendingAttachedMeshes(); // remove mesh rezzing delay static LLVOAvatar* findAvatarFromAttachment(LLViewerObject* obj); /*virtual*/ BOOL isWearingWearableType(LLWearableType::EType type ) const; LLViewerObject * findAttachmentByID( const LLUUID & target_id ) const;