# Conflicts:
#	autobuild.xml
#	indra/newview/CMakeLists.txt
#	indra/newview/llvoavatar.cpp
master
Ansariel 2024-08-10 14:38:13 +02:00
commit dde5e9a8c1
8 changed files with 55 additions and 56 deletions

View File

@ -761,6 +761,16 @@
</map>
<key>dullahan</key>
<map>
<key>copyright</key>
<string>Copyright (c) 2017, Linden Research, Inc.</string>
<key>description</key>
<string>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.</string>
<key>license</key>
<string>MPL</string>
<key>license_file</key>
<string>LICENSES/LICENSE.txt</string>
<key>name</key>
<string>dullahan</string>
<key>platforms</key>
<map>
<key>darwin64</key>
@ -768,11 +778,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>e4d568c166049ce61b39d69887b56d2382781a1a</string>
<string>7fde76e3f0e62d0e0593b6157f4d740ecef2429d</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/dullahan/releases/download/v118.0.5993.54/dullahan-1.14.0.202310131309_118.4.1_g3dd6078_chromium-118.0.5993.54-darwin64-6b02a60.tar.zst</string>
<string>https://github.com/secondlife/dullahan/releases/download/v1.14.0-r3/dullahan-1.14.0.202408091638_118.4.1_g3dd6078_chromium-118.0.5993.54-darwin64-10322607516.tar.zst</string>
</map>
<key>name</key>
<string>darwin64</string>
@ -782,11 +792,11 @@
<key>archive</key>
<map>
<key>hash</key>
<string>2845d791c0f00392ba1573bc645a0fc8a7fd37ae</string>
<string>209d031ae67bc66d8e8f8509c71d259014c65ceb</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://3p.firestormviewer.org/dullahan-1.14.0.202403161609_118.6.8_ge44bee1_chromium-118.0.5993.117-linux64-240760509.tar.zst</string>
<string>https://github.com/secondlife/dullahan/releases/download/v1.14.0-r3/dullahan-1.14.0.202408091637_118.4.1_g3dd6078_chromium-118.0.5993.54-linux64-10322607516.tar.zst</string>
</map>
<key>name</key>
<string>linux64</string>
@ -796,28 +806,18 @@
<key>archive</key>
<map>
<key>hash</key>
<string>a00eae7f5dc430ae48389ab723ced39739b0a144</string>
<string>4124c79d8b0e319877ffa4c12581d5c1318b4d93</string>
<key>hash_algorithm</key>
<string>sha1</string>
<key>url</key>
<string>https://github.com/secondlife/dullahan/releases/download/v118.0.5993.54/dullahan-1.14.0.202310131404_118.4.1_g3dd6078_chromium-118.0.5993.54-windows64-6b02a60.tar.zst</string>
<string>https://github.com/secondlife/dullahan/releases/download/v1.14.0-r3/dullahan-1.14.0.202408091639_118.4.1_g3dd6078_chromium-118.0.5993.54-windows64-10322607516.tar.zst</string>
</map>
<key>name</key>
<string>windows64</string>
</map>
</map>
<key>license</key>
<string>MPL</string>
<key>license_file</key>
<string>LICENSES/LICENSE.txt</string>
<key>copyright</key>
<string>Copyright (c) 2017, Linden Research, Inc.</string>
<key>version</key>
<string>1.14.0.202310131404_118.4.1_g3dd6078_chromium-118.0.5993.54</string>
<key>name</key>
<string>dullahan</string>
<key>description</key>
<string>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.</string>
<string>1.14.0.202408091639_118.4.1_g3dd6078_chromium-118.0.5993.54</string>
</map>
<key>emoji_shortcodes</key>
<map>

View File

@ -256,6 +256,28 @@ public:
S32 getVisualParamCount() const { return (S32)mVisualParamIndexMap.size(); }
LLVisualParam* getVisualParam(const char *name);
// <FS:Ansariel> [Legacy Bake]
//void animateTweakableVisualParams(F32 delta)
void animateTweakableVisualParams(F32 delta, bool upload_bake)
{
for (auto& it : mVisualParamIndexMap)
{
if (it.second->isTweakable())
{
// <FS:Ansariel> [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; }

View File

@ -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);
}

View File

@ -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)

View File

@ -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:
// </FS>
private:
bool isAlpha() { return mIsAlpha; }
bool isAlpha() const { return mIsAlpha; }
// Convenience funcs to keep the visual flack to a minimum
//

View File

@ -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();

View File

@ -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())
{
// <FS:Ansariel> [Legacy Bake]
//param->animate(morph_amt);
param->animate(morph_amt, false);
}
}
// <FS:Ansariel> [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);

View File

@ -442,7 +442,7 @@ protected:
bool updateIsFullyLoaded();
bool processFullyLoadedChange(bool loading);
void updateRuthTimer(bool loading);
F32 calcMorphAmount();
F32 calcMorphAmount() const;
private:
bool mFirstFullyVisible;