diff --git a/autobuild.xml b/autobuild.xml
index c07c01defa..8522b9a18f 100644
--- a/autobuild.xml
+++ b/autobuild.xml
@@ -761,6 +761,16 @@
dullahan
- license
- MPL
- license_file
- LICENSES/LICENSE.txt
- copyright
- Copyright (c) 2017, Linden Research, Inc.
version
- 1.14.0.202310131404_118.4.1_g3dd6078_chromium-118.0.5993.54
- name
- dullahan
- description
- A headless browser SDK that uses the Chromium Embedded Framework (CEF). It is designed to make it easier to write applications that render modern web content directly to a memory buffer, inject synthesized mouse and keyboard events as well as interact with web based features like JavaScript or cookies.
+ 1.14.0.202408091639_118.4.1_g3dd6078_chromium-118.0.5993.54
emoji_shortcodes
diff --git a/indra/llcharacter/llcharacter.h b/indra/llcharacter/llcharacter.h
index 8f60a825c7..2f0cf1487e 100644
--- a/indra/llcharacter/llcharacter.h
+++ b/indra/llcharacter/llcharacter.h
@@ -256,6 +256,28 @@ public:
S32 getVisualParamCount() const { return (S32)mVisualParamIndexMap.size(); }
LLVisualParam* getVisualParam(const char *name);
+ // [Legacy Bake]
+ //void animateTweakableVisualParams(F32 delta)
+ void animateTweakableVisualParams(F32 delta, bool upload_bake)
+ {
+ for (auto& it : mVisualParamIndexMap)
+ {
+ if (it.second->isTweakable())
+ {
+ // [Legacy Bake]
+ //it.second->animate(delta);
+ it.second->animate(delta, upload_bake);
+ }
+ }
+ }
+
+ void applyAllVisualParams(ESex avatar_sex)
+ {
+ for (auto& it : mVisualParamIndexMap)
+ {
+ it.second->apply(avatar_sex);
+ }
+ }
ESex getSex() const { return mSex; }
void setSex( ESex sex ) { mSex = sex; }
diff --git a/indra/newview/lldrawable.cpp b/indra/newview/lldrawable.cpp
index 82765b40b2..4f30d6bdf2 100644
--- a/indra/newview/lldrawable.cpp
+++ b/indra/newview/lldrawable.cpp
@@ -1613,18 +1613,10 @@ void LLSpatialBridge::updateDistance(LLCamera& camera_in, bool force_update)
mDrawable->updateDistance(camera, force_update);
- LLViewerObject::const_child_list_t& child_list = mDrawable->getVObj()->getChildren();
- for (LLViewerObject::child_list_t::const_iterator iter = child_list.begin();
- iter != child_list.end(); iter++)
+ for (LLViewerObject* child : mDrawable->getVObj()->getChildren())
{
- LLViewerObject* child = *iter;
LLDrawable* drawable = child->mDrawable;
- if (!drawable)
- {
- continue;
- }
-
- if (!drawable->isAvatar())
+ if (drawable && !drawable->isDead() && drawable->isAvatar())
{
drawable->updateDistance(camera, force_update);
}
diff --git a/indra/newview/llpanelface.cpp b/indra/newview/llpanelface.cpp
index 9e4ea17e14..d50e365056 100644
--- a/indra/newview/llpanelface.cpp
+++ b/indra/newview/llpanelface.cpp
@@ -2276,7 +2276,7 @@ void LLPanelFace::onMaterialOverrideReceived(const LLUUID& object_id, S32 side)
//////////////////////////////////////////////////////////////////////////////
//
-void LLPanelFace::navigateToTitleMedia( const std::string url )
+void LLPanelFace::navigateToTitleMedia(const std::string& url)
{
std::string multi_media_info_str = LLTrans::getString("Multiple Media");
if (url.empty() || multi_media_info_str == url)
@@ -2288,9 +2288,9 @@ void LLPanelFace::navigateToTitleMedia( const std::string url )
{
LLPluginClassMedia* media_plugin = mTitleMedia->getMediaPlugin();
// check if url changed or if we need a new media source
- if (mTitleMedia->getCurrentNavUrl() != url || media_plugin == NULL)
+ if (mTitleMedia->getCurrentNavUrl() != url || media_plugin == nullptr)
{
- mTitleMedia->navigateTo( url );
+ mTitleMedia->navigateTo(url);
LLViewerMediaImpl* impl = LLViewerMedia::getInstance()->getMediaImplFromTextureID(mTitleMedia->getTextureID());
if (impl)
diff --git a/indra/newview/llpanelface.h b/indra/newview/llpanelface.h
index f261139f81..c48bf3cbe5 100644
--- a/indra/newview/llpanelface.h
+++ b/indra/newview/llpanelface.h
@@ -134,7 +134,7 @@ public:
LLGLTFMaterial::TextureInfo getPBRDropChannel();
protected:
- void navigateToTitleMedia(const std::string url);
+ void navigateToTitleMedia(const std::string& url);
bool selectedMediaEditable();
void clearMediaSettings();
void updateMediaSettings();
@@ -227,7 +227,6 @@ protected:
void onCommitMaterialGloss();
void onCommitMaterialEnv();
void onCommitMaterialMaskCutoff();
- void onCommitMaterialID();
void onCommitMaterialsMedia();
void onCommitMaterialType();
@@ -288,7 +287,7 @@ public:
//
private:
- bool isAlpha() { return mIsAlpha; }
+ bool isAlpha() const { return mIsAlpha; }
// Convenience funcs to keep the visual flack to a minimum
//
diff --git a/indra/newview/llviewerobject.cpp b/indra/newview/llviewerobject.cpp
index 97eb0ab9c2..6531393c4f 100644
--- a/indra/newview/llviewerobject.cpp
+++ b/indra/newview/llviewerobject.cpp
@@ -5932,7 +5932,8 @@ LLBBox LLViewerObject::getBoundingBoxAgent() const
}
if (avatar_parent && avatar_parent->isAvatar() &&
- root_edit && root_edit->mDrawable.notNull() && root_edit->mDrawable->getXform()->getParent())
+ root_edit && root_edit->mDrawable.notNull() && !root_edit->mDrawable->isDead() &&
+ root_edit->mDrawable->getXform()->getParent())
{
LLXform* parent_xform = root_edit->mDrawable->getXform()->getParent();
position_agent = (getPositionEdit() * parent_xform->getWorldRotation()) + parent_xform->getWorldPosition();
diff --git a/indra/newview/llvoavatar.cpp b/indra/newview/llvoavatar.cpp
index 1a4e68e088..4006e24d99 100644
--- a/indra/newview/llvoavatar.cpp
+++ b/indra/newview/llvoavatar.cpp
@@ -3265,32 +3265,17 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()
}
else
{
- F32 morph_amt = calcMorphAmount();
- LLVisualParam *param;
-
if (!isSelf())
{
+ F32 morph_amt = calcMorphAmount();
// animate only top level params for non-self avatars
- for (param = getFirstVisualParam();
- param;
- param = getNextVisualParam())
- {
- if (param->isTweakable())
- {
- // [Legacy Bake]
- //param->animate(morph_amt);
- param->animate(morph_amt, false);
- }
- }
+ // [Legacy Bake]
+ //animateTweakableVisualParams(morph_amt);
+ animateTweakableVisualParams(morph_amt, false);
}
// apply all params
- for (param = getFirstVisualParam();
- param;
- param = getNextVisualParam())
- {
- param->apply(avatar_sex);
- }
+ applyAllVisualParams(avatar_sex);
mLastAppearanceBlendTime = appearance_anim_time;
}
@@ -3298,7 +3283,7 @@ void LLVOAvatar::idleUpdateAppearanceAnimation()
}
}
-F32 LLVOAvatar::calcMorphAmount()
+F32 LLVOAvatar::calcMorphAmount() const
{
F32 appearance_anim_time = mAppearanceMorphTimer.getElapsedTimeF32();
F32 blend_frac = calc_bouncy_animation(appearance_anim_time / APPEARANCE_MORPH_TIME);
diff --git a/indra/newview/llvoavatar.h b/indra/newview/llvoavatar.h
index ed0118b770..c333c52b7e 100644
--- a/indra/newview/llvoavatar.h
+++ b/indra/newview/llvoavatar.h
@@ -442,7 +442,7 @@ protected:
bool updateIsFullyLoaded();
bool processFullyLoadedChange(bool loading);
void updateRuthTimer(bool loading);
- F32 calcMorphAmount();
+ F32 calcMorphAmount() const;
private:
bool mFirstFullyVisible;