Remove delayed avatar de-clouding

thanks for the heads up, Rye
master
Beq 2023-12-02 00:42:23 +00:00
parent 62a845037f
commit 360eccc56f
2 changed files with 76 additions and 75 deletions

View File

@ -8413,85 +8413,86 @@ void LLVOAvatar::cleanupAttachedMesh( LLViewerObject* pVO )
}
}
}
// <FS:Beq> 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;
// }
// </FS:Beq>
//-----------------------------------------------------------------------------
// 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() // <FS:Beq/>
);
}
updateRezzedStatusTimers(rez_status);

View File

@ -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(); // <FS:Beq/> remove mesh rezzing delay
static LLVOAvatar* findAvatarFromAttachment(LLViewerObject* obj);
/*virtual*/ BOOL isWearingWearableType(LLWearableType::EType type ) const;
LLViewerObject * findAttachmentByID( const LLUUID & target_id ) const;