// static void LLFloaterAvatarTextures::onClickDump(void* data) { if (gAgent.isGodlike()) { const LLVOAvatarSelf* avatarp = gAgentAvatarp; if (!avatarp) return; for (S32 i = 0; i < avatarp->getNumTEs(); i++) { const LLTextureEntry* te = avatarp->getTE(i); if (!te) continue; const LLVOAvatarDictionary::TextureEntry* tex_entry = LLVOAvatarDictionary::getInstance()->getTexture((ETextureIndex)(i)); if (!tex_entry) continue; if (LLVOAvatar::isIndexLocalTexture((ETextureIndex)i)) { LLUUID id = IMG_DEFAULT_AVATAR; LLWearableType::EType wearable_type = LLVOAvatarDictionary::getInstance()->getTEWearableType((ETextureIndex)i); if (avatarp->isSelf()) { LLWearable *wearable = gAgentWearables.getWearable(wearable_type, 0); if (wearable) { LLLocalTextureObject *lto = wearable->getLocalTextureObject(i); if (lto) { id = lto->getID(); } } } if (id != IMG_DEFAULT_AVATAR) { llinfos << "TE " << i << " name:" << tex_entry->mName << " id:" << id << llendl; } else { llinfos << "TE " << i << " name:" << tex_entry->mName << " id:" << "<DEFAULT>" << llendl; } } else { llinfos << "TE " << i << " name:" << tex_entry->mName << " id:" << te->getID() << llendl; } } } }
static void update_texture_ctrl(LLVOAvatar* avatarp, LLTextureCtrl* ctrl, ETextureIndex te) { LLUUID id = IMG_DEFAULT_AVATAR; const LLVOAvatarDictionary::TextureEntry* tex_entry = LLVOAvatarDictionary::getInstance()->getTexture(te); if (tex_entry->mIsLocalTexture) { if (avatarp->isSelf()) { const LLWearableType::EType wearable_type = tex_entry->mWearableType; LLWearable *wearable = gAgentWearables.getWearable(wearable_type, 0); if (wearable) { LLLocalTextureObject *lto = wearable->getLocalTextureObject(te); if (lto) { id = lto->getID(); } } } } else { id = avatarp->getTE(te)->getID(); } //id = avatarp->getTE(te)->getID(); if (id == IMG_DEFAULT_AVATAR) { ctrl->setImageAssetID(LLUUID::null); ctrl->setToolTip(tex_entry->mName + " : " + std::string("IMG_DEFAULT_AVATAR")); } else { ctrl->setImageAssetID(id); ctrl->setToolTip(tex_entry->mName + " : " + id.asString()); } }