FIRE-14479 / FIRE-15173: Don't perform texture refresh on default textures
parent
68fac728eb
commit
2845768d16
|
|
@ -390,3 +390,26 @@ std::string FSCommon::getAvatarNameByDisplaySettings(const LLAvatarName& av_name
|
|||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
bool FSCommon::isDefaultTexture(const LLUUID& asset_id)
|
||||
{
|
||||
if (asset_id == LL_DEFAULT_WOOD_UUID ||
|
||||
asset_id == LL_DEFAULT_STONE_UUID ||
|
||||
asset_id == LL_DEFAULT_METAL_UUID ||
|
||||
asset_id == LL_DEFAULT_GLASS_UUID ||
|
||||
asset_id == LL_DEFAULT_FLESH_UUID ||
|
||||
asset_id == LL_DEFAULT_PLASTIC_UUID ||
|
||||
asset_id == LL_DEFAULT_RUBBER_UUID ||
|
||||
asset_id == LL_DEFAULT_LIGHT_UUID ||
|
||||
asset_id == LLUUID("5748decc-f629-461c-9a36-a35a221fe21f") || // UIImgWhiteUUID
|
||||
asset_id == LLUUID("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903") || // UIImgTransparentUUID
|
||||
asset_id == LLUUID("f54a0c32-3cd1-d49a-5b4f-7b792bebc204") || // UIImgInvisibleUUID
|
||||
asset_id == LLUUID("6522e74d-1660-4e7f-b601-6f48c1659a77") || // UIImgDefaultEyesUUID
|
||||
asset_id == LLUUID("7ca39b4c-bd19-4699-aff7-f93fd03d3e7b") || // UIImgDefaultHairUUID
|
||||
asset_id == LLUUID("5748decc-f629-461c-9a36-a35a221fe21f") // UIImgDefault for all clothing
|
||||
)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -78,6 +78,8 @@ namespace FSCommon
|
|||
LLSD populateGroupCount();
|
||||
|
||||
std::string getAvatarNameByDisplaySettings(const LLAvatarName& av_name);
|
||||
|
||||
bool isDefaultTexture(const LLUUID& asset_id);
|
||||
};
|
||||
|
||||
#endif // FS_COMMON_H
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
|
||||
#include "llfloaterreg.h"
|
||||
#include "llappviewer.h"
|
||||
#include "fscommon.h"
|
||||
|
||||
#include <boost/algorithm/string_regex.hpp>
|
||||
|
||||
|
|
@ -489,7 +490,7 @@ void FSFloaterObjectExport::addPrim(LLViewerObject* object, bool root)
|
|||
LLTextureEntry *checkTE = object->getTE(i);
|
||||
LL_DEBUGS("export") << "Checking texture number " << (S32)i
|
||||
<< ", ID " << checkTE->getID() << LL_ENDL;
|
||||
if (defaultTextureCheck(checkTE->getID())) // <FS:CR> Check against default textures
|
||||
if (FSCommon::isDefaultTexture(checkTE->getID())) // <FS:CR> Check against default textures
|
||||
{
|
||||
LL_DEBUGS("export") << "...is a default texture." << LL_ENDL;
|
||||
prim["texture"].append(checkTE->asLLSD());
|
||||
|
|
@ -705,30 +706,6 @@ void FSFloaterObjectExport::saveFormattedImage(LLPointer<LLImageFormatted> mForm
|
|||
removeRequestedTexture(id);
|
||||
}
|
||||
|
||||
bool FSFloaterObjectExport::defaultTextureCheck(const LLUUID asset_id)
|
||||
{
|
||||
if (asset_id == LL_DEFAULT_WOOD_UUID ||
|
||||
asset_id == LL_DEFAULT_STONE_UUID ||
|
||||
asset_id == LL_DEFAULT_METAL_UUID ||
|
||||
asset_id == LL_DEFAULT_GLASS_UUID ||
|
||||
asset_id == LL_DEFAULT_FLESH_UUID ||
|
||||
asset_id == LL_DEFAULT_PLASTIC_UUID ||
|
||||
asset_id == LL_DEFAULT_RUBBER_UUID ||
|
||||
asset_id == LL_DEFAULT_LIGHT_UUID ||
|
||||
asset_id == LLUUID("5748decc-f629-461c-9a36-a35a221fe21f") || // UIImgWhiteUUID
|
||||
asset_id == LLUUID("8dcd4a48-2d37-4909-9f78-f7a9eb4ef903") || // UIImgTransparentUUID
|
||||
asset_id == LLUUID("f54a0c32-3cd1-d49a-5b4f-7b792bebc204") || // UIImgInvisibleUUID
|
||||
asset_id == LLUUID("6522e74d-1660-4e7f-b601-6f48c1659a77") || // UIImgDefaultEyesUUID
|
||||
asset_id == LLUUID("7ca39b4c-bd19-4699-aff7-f93fd03d3e7b") || // UIImgDefaultHairUUID
|
||||
asset_id == LLUUID("5748decc-f629-461c-9a36-a35a221fe21f") // UIImgDefault for all clothing
|
||||
)
|
||||
{
|
||||
LL_DEBUGS("export") << "Using system texture for " << asset_id << LL_ENDL;
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
void FSFloaterObjectExport::inventoryChanged(LLViewerObject* object, LLInventoryObject::object_list_t* inventory, S32 serial_num, void* user_data)
|
||||
{
|
||||
uuid_vec_t::iterator v_iter = std::find(mInventoryRequests.begin(), mInventoryRequests.end(), object->getID());
|
||||
|
|
|
|||
|
|
@ -116,7 +116,6 @@ private:
|
|||
|
||||
void onIdle();
|
||||
void removeRequestedAsset(LLUUID asset_uuid);
|
||||
bool defaultTextureCheck(const LLUUID asset_id);
|
||||
|
||||
LLSD mManifest;
|
||||
std::map<LLUUID, FSAssetResourceData> mRequestedTexture;
|
||||
|
|
|
|||
|
|
@ -2901,10 +2901,15 @@ class LLEditParticleSource : public view_listener_t
|
|||
}
|
||||
};
|
||||
|
||||
// ## Zi: Texture Refresh
|
||||
// <FS:Zi> Texture Refresh
|
||||
void destroy_texture(const LLUUID& id) // will be used by the texture refresh functions below
|
||||
{
|
||||
LLViewerFetchedTexture* tx=LLViewerTextureManager::getFetchedTexture(id);
|
||||
if (id.isNull() || id == IMG_DEFAULT || FSCommon::isDefaultTexture(id))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
LLViewerFetchedTexture* tx = LLViewerTextureManager::getFetchedTexture(id);
|
||||
if (tx)
|
||||
{
|
||||
tx->clearFetchedResults();
|
||||
|
|
@ -2931,24 +2936,15 @@ class LLObjectTexRefresh : public view_listener_t
|
|||
if (!node->isTESelected(i)) continue;
|
||||
|
||||
LLViewerTexture* img = node->getObject()->getTEImage(i);
|
||||
if (img->getID() != ((LLViewerTexture*)(LLViewerFetchedTexture::sDefaultImagep))->getID())
|
||||
{
|
||||
faces_per_texture[img->getID()].push_back(i);
|
||||
}
|
||||
faces_per_texture[img->getID()].push_back(i);
|
||||
|
||||
if (node->getObject()->getTE(i)->getMaterialParams().notNull())
|
||||
{
|
||||
LLViewerTexture* norm_img = node->getObject()->getTENormalMap(i);
|
||||
if (norm_img->getID() != ((LLViewerTexture*)(LLViewerFetchedTexture::sDefaultImagep))->getID())
|
||||
{
|
||||
faces_per_texture[norm_img->getID()].push_back(i);
|
||||
}
|
||||
faces_per_texture[norm_img->getID()].push_back(i);
|
||||
|
||||
LLViewerTexture* spec_img = node->getObject()->getTESpecularMap(i);
|
||||
if (spec_img->getID() != ((LLViewerTexture*)(LLViewerFetchedTexture::sDefaultImagep))->getID())
|
||||
{
|
||||
faces_per_texture[spec_img->getID()].push_back(i);
|
||||
}
|
||||
faces_per_texture[spec_img->getID()].push_back(i);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3016,7 +3012,7 @@ class LLAvatarTexRefresh : public view_listener_t
|
|||
return true;
|
||||
}
|
||||
};
|
||||
// ## Zi: Texture Refresh
|
||||
// </FS:Zi> Texture Refresh
|
||||
|
||||
class LLObjectReportAbuse : public view_listener_t
|
||||
{
|
||||
|
|
|
|||
Loading…
Reference in New Issue