diff options
Diffstat (limited to 'indra/newview/llfloateravatartextures.cpp')
-rw-r--r-- | indra/newview/llfloateravatartextures.cpp | 121 |
1 files changed, 62 insertions, 59 deletions
diff --git a/indra/newview/llfloateravatartextures.cpp b/indra/newview/llfloateravatartextures.cpp index 8c7899af3e..deef85cc6c 100644 --- a/indra/newview/llfloateravatartextures.cpp +++ b/indra/newview/llfloateravatartextures.cpp @@ -31,15 +31,14 @@ */ #include "llviewerprecompiledheaders.h" - #include "llfloateravatartextures.h" +#include "llagent.h" +#include "llagentwearables.h" #include "lltexturectrl.h" - #include "lluictrlfactory.h" #include "llviewerobjectlist.h" -#include "llvoavatar.h" -#include "llagentwearables.h" +#include "llvoavatarself.h" using namespace LLVOAvatarDefines; @@ -75,7 +74,6 @@ void LLFloaterAvatarTextures::draw() LLFloater::draw(); } -#if !LL_RELEASE_FOR_DOWNLOAD static void update_texture_ctrl(LLVOAvatar* avatarp, LLTextureCtrl* ctrl, ETextureIndex te) @@ -84,14 +82,17 @@ static void update_texture_ctrl(LLVOAvatar* avatarp, const LLVOAvatarDictionary::TextureEntry* tex_entry = LLVOAvatarDictionary::getInstance()->getTexture(te); if (tex_entry->mIsLocalTexture) { - const EWearableType wearable_type = tex_entry->mWearableType; - LLWearable *wearable = gAgentWearables.getWearable(wearable_type, 0); - if (wearable) + if (avatarp->isSelf()) { - LLLocalTextureObject *lto = wearable->getLocalTextureObject(te); - if (lto) + const EWearableType wearable_type = tex_entry->mWearableType; + LLWearable *wearable = gAgentWearables.getWearable(wearable_type, 0); + if (wearable) { - id = lto->getID(); + LLLocalTextureObject *lto = wearable->getLocalTextureObject(te); + if (lto) + { + id = lto->getID(); + } } } } @@ -103,12 +104,12 @@ static void update_texture_ctrl(LLVOAvatar* avatarp, if (id == IMG_DEFAULT_AVATAR) { ctrl->setImageAssetID(LLUUID::null); - ctrl->setToolTip(std::string("IMG_DEFAULT_AVATAR")); + ctrl->setToolTip(tex_entry->mName + " : " + std::string("IMG_DEFAULT_AVATAR")); } else { ctrl->setImageAssetID(id); - ctrl->setToolTip(id.asString()); + ctrl->setToolTip(tex_entry->mName + " : " + id.asString()); } } @@ -132,72 +133,74 @@ static LLVOAvatar* find_avatar(const LLUUID& id) void LLFloaterAvatarTextures::refresh() { - LLVOAvatar *avatarp = find_avatar(mID); - if (avatarp) + if (gAgent.isGodlike()) { - std::string fullname; - if (gCacheName->getFullName(avatarp->getID(), fullname)) + LLVOAvatar *avatarp = find_avatar(mID); + if (avatarp) { - setTitle(mTitle + ": " + fullname); + std::string fullname; + if (gCacheName->getFullName(avatarp->getID(), fullname)) + { + setTitle(mTitle + ": " + fullname); + } + for (U32 i=0; i < TEX_NUM_INDICES; i++) + { + update_texture_ctrl(avatarp, mTextures[i], ETextureIndex(i)); + } } - for (U32 i=0; i < TEX_NUM_INDICES; i++) + else { - update_texture_ctrl(avatarp, mTextures[i], ETextureIndex(i)); + setTitle(mTitle + ": " + getString("InvalidAvatar") + " (" + mID.asString() + ")"); } } - else - { - setTitle(mTitle + ": " + getString("InvalidAvatar") + " (" + mID.asString() + ")"); - } } -#else - -void LLFloaterAvatarTextures::refresh() -{ -} - -#endif - // static void LLFloaterAvatarTextures::onClickDump(void* data) { -#if !LL_RELEASE_FOR_DOWNLOAD - LLFloaterAvatarTextures* self = (LLFloaterAvatarTextures*)data; - LLVOAvatar* avatarp = find_avatar(self->mID); - if (!avatarp) return; - - for (S32 i = 0; i < avatarp->getNumTEs(); i++) + if (gAgent.isGodlike()) { - const LLTextureEntry* te = avatarp->getTE(i); - if (!te) continue; - - if (LLVOAvatar::isIndexLocalTexture((ETextureIndex)i)) + LLFloaterAvatarTextures* self = (LLFloaterAvatarTextures*)data; + LLVOAvatar* avatarp = find_avatar(self->mID); + if (!avatarp) return; + for (S32 i = 0; i < avatarp->getNumTEs(); i++) { - LLUUID id = IMG_DEFAULT_AVATAR; - EWearableType wearable_type = LLVOAvatarDictionary::getInstance()->getTEWearableType((ETextureIndex)i); - LLWearable *wearable = gAgentWearables.getWearable(wearable_type, 0); - if (wearable) + 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)) { - LLLocalTextureObject *lto = wearable->getLocalTextureObject(i); - if (lto) + LLUUID id = IMG_DEFAULT_AVATAR; + EWearableType wearable_type = LLVOAvatarDictionary::getInstance()->getTEWearableType((ETextureIndex)i); + if (avatarp->isSelf()) { - id = lto->getID(); + 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; } - } - if (id != IMG_DEFAULT_AVATAR) - { - llinfos << "Avatar TE " << i << " id " << id << llendl; } else { - llinfos << "Avatar TE " << i << " id " << "<DEFAULT>" << llendl; + llinfos << "TE " << i << " name:" << tex_entry->mName << " id:" << te->getID() << llendl; } } - else - { - llinfos << "Avatar TE " << i << " id " << te->getID() << llendl; - } } -#endif } |