diff options
Diffstat (limited to '')
-rw-r--r-- | linden/indra/newview/llvoavatar.cpp | 25 |
1 files changed, 18 insertions, 7 deletions
diff --git a/linden/indra/newview/llvoavatar.cpp b/linden/indra/newview/llvoavatar.cpp index d8b0994..8ddc936 100644 --- a/linden/indra/newview/llvoavatar.cpp +++ b/linden/indra/newview/llvoavatar.cpp | |||
@@ -1521,10 +1521,12 @@ void LLVOAvatar::loadCloud(const std::string& filename, LLPartSysData& particle | |||
1521 | LLSDSerialize::fromXMLDocument(cloud, in_file); | 1521 | LLSDSerialize::fromXMLDocument(cloud, in_file); |
1522 | 1522 | ||
1523 | particles.fromLLSD(cloud); | 1523 | particles.fromLLSD(cloud); |
1524 | if(particles.mPartImageID.isNull()) | 1524 | const LLUUID default_id = DEFAULT_UNREZZED_AVATAR_PARTICLE; |
1525 | if(particles.mPartImageID.isNull() || default_id == particles.mPartImageID) | ||
1525 | { | 1526 | { |
1526 | LLViewerImage* cloud_image = gImageList.getImageFromFile("cloud-particle.j2c"); | 1527 | LLViewerImage* cloud_image = |
1527 | particles.mPartImageID = cloud_image->getID(); | 1528 | gImageList.getImageFromFile("cloud-particle.j2c", MIPMAP_YES, IMMEDIATE_YES, 0, 0, default_id); |
1529 | particles.mPartImageID = default_id; | ||
1528 | } | 1530 | } |
1529 | } | 1531 | } |
1530 | 1532 | ||
@@ -7431,6 +7433,7 @@ BOOL LLVOAvatar::isVisible() | |||
7431 | // returns true if the value has changed. | 7433 | // returns true if the value has changed. |
7432 | BOOL LLVOAvatar::updateIsFullyLoaded() | 7434 | BOOL LLVOAvatar::updateIsFullyLoaded() |
7433 | { | 7435 | { |
7436 | |||
7434 | // a "heuristic" to determine if we have enough avatar data to render | 7437 | // a "heuristic" to determine if we have enough avatar data to render |
7435 | // (to avoid rendering a "Ruth" - DEV-3168) | 7438 | // (to avoid rendering a "Ruth" - DEV-3168) |
7436 | 7439 | ||
@@ -7510,11 +7513,19 @@ BOOL LLVOAvatar::updateIsFullyLoaded() | |||
7510 | 7513 | ||
7511 | BOOL LLVOAvatar::isFullyLoaded() | 7514 | BOOL LLVOAvatar::isFullyLoaded() |
7512 | { | 7515 | { |
7516 | static BOOL* sPreviewAvatarCloud = rebind_llcontrol<BOOL>("PreviewAvatarAsCloud", &gSavedSettings, true); | ||
7513 | static BOOL* sRenderUnloadedAvatar = rebind_llcontrol<BOOL>("RenderUnloadedAvatar", &gSavedSettings, true); | 7517 | static BOOL* sRenderUnloadedAvatar = rebind_llcontrol<BOOL>("RenderUnloadedAvatar", &gSavedSettings, true); |
7514 | if (*sRenderUnloadedAvatar) | 7518 | |
7515 | return TRUE; | 7519 | if(*sPreviewAvatarCloud && mIsSelf) |
7516 | else | 7520 | { |
7517 | return mFullyLoaded; | 7521 | return FALSE; |
7522 | } | ||
7523 | else if (*sRenderUnloadedAvatar) | ||
7524 | { | ||
7525 | return TRUE; | ||
7526 | } | ||
7527 | |||
7528 | return mFullyLoaded; | ||
7518 | } | 7529 | } |
7519 | 7530 | ||
7520 | 7531 | ||