summaryrefslogtreecommitdiff
path: root/indra/newview
diff options
context:
space:
mode:
Diffstat (limited to 'indra/newview')
-rwxr-xr-xindra/newview/app_settings/settings.xml11
-rwxr-xr-xindra/newview/lldrawpoolavatar.cpp2
-rwxr-xr-xindra/newview/llpreviewanim.cpp7
-rw-r--r--indra/newview/llskinningutil.cpp15
-rw-r--r--indra/newview/llskinningutil.h1
-rwxr-xr-xindra/newview/llstartup.cpp1
-rwxr-xr-xindra/newview/llviewercontrol.cpp3
-rwxr-xr-xindra/newview/llvovolume.cpp1
8 files changed, 13 insertions, 28 deletions
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 8bf91c0f1e..9a4def3be2 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -6123,17 +6123,6 @@
<key>Value</key>
<real>1.6</real>
</map>
- <key>MaxJointsPerMeshObject</key>
- <map>
- <key>Comment</key>
- <string>Maximum joints per rigged mesh object</string>
- <key>Persist</key>
- <integer>1</integer>
- <key>Type</key>
- <string>U32</string>
- <key>Value</key>
- <real>999</real>
- </map>
<key>MaxPersistentNotifications</key>
<map>
<key>Comment</key>
diff --git a/indra/newview/lldrawpoolavatar.cpp b/indra/newview/lldrawpoolavatar.cpp
index 89233b8e32..33c6d0b00a 100755
--- a/indra/newview/lldrawpoolavatar.cpp
+++ b/indra/newview/lldrawpoolavatar.cpp
@@ -1550,7 +1550,7 @@ void LLDrawPoolAvatar::updateRiggedFaceVertexBuffer(
{
return;
}
- // BENTO ugly const cast
+ // FIXME ugly const cast
LLSkinningUtil::remapSkinInfoJoints(avatar, const_cast<LLMeshSkinInfo*>(skin));
LLPointer<LLVertexBuffer> buffer = face->getVertexBuffer();
diff --git a/indra/newview/llpreviewanim.cpp b/indra/newview/llpreviewanim.cpp
index f83532ea83..fb40af1302 100755
--- a/indra/newview/llpreviewanim.cpp
+++ b/indra/newview/llpreviewanim.cpp
@@ -110,13 +110,6 @@ void LLPreviewAnim::play(const LLSD& param)
}
else
{
- // BENTO TEMP
- LLKeyframeMotion *motionp = dynamic_cast<LLKeyframeMotion*>(gAgentAvatarp->findMotion(itemID));
- if (motionp && motionp->isLoaded())
- {
- //motionp->dumpToFile(item->getName());
- }
-
gAgentAvatarp->startMotion(item->getAssetUUID());
}
diff --git a/indra/newview/llskinningutil.cpp b/indra/newview/llskinningutil.cpp
index 279035d769..202c932da5 100644
--- a/indra/newview/llskinningutil.cpp
+++ b/indra/newview/llskinningutil.cpp
@@ -33,7 +33,6 @@
#include "llmeshrepository.h"
bool LLSkinningUtil::sIncludeEnhancedSkeleton = true;
-U32 LLSkinningUtil::sMaxJointsPerMeshObject = LL_MAX_JOINTS_PER_MESH_OBJECT;
namespace {
@@ -111,17 +110,19 @@ U32 get_proxy_joint_index(U32 joint_index, LLVOAvatar *avatar, std::vector<std::
void LLSkinningUtil::initClass()
{
sIncludeEnhancedSkeleton = gSavedSettings.getBOOL("IncludeEnhancedSkeleton");
- // BENTO - remove MaxJointsPerMeshObject before release.
- sMaxJointsPerMeshObject = gSavedSettings.getU32("MaxJointsPerMeshObject");
}
// static
U32 LLSkinningUtil::getMaxJointCount()
{
- U32 result = llmin(LL_MAX_JOINTS_PER_MESH_OBJECT, sMaxJointsPerMeshObject);
+ U32 result = LL_MAX_JOINTS_PER_MESH_OBJECT;
if (!sIncludeEnhancedSkeleton)
{
- result = llmin(result,(U32)52); // BENTO replace with LLAvatarAppearance::getBaseJointCount()) or equivalent
+ // BENTO replace with LLAvatarAppearance::getBaseJointCount()) or equivalent
+ // BENTO - currently the remap logic does not guarantee joint count <= 52;
+ // if one of the base ancestors is not rigged in a given mesh, an extended
+ // joint can still be included.
+ result = llmin(result,(U32)52);
}
return result;
}
@@ -144,6 +145,10 @@ U32 LLSkinningUtil::getMeshJointCount(const LLMeshSkinInfo *skin)
// in the avatar, or not currently flagged to support based on the
// debug setting for IncludeEnhancedSkeleton.
//
+
+// BENTO maybe this really only makes sense for new leaf joints? New spine
+// joints may need different logic.
+
// static
void LLSkinningUtil::remapSkinInfoJoints(LLVOAvatar *avatar, LLMeshSkinInfo* skin)
{
diff --git a/indra/newview/llskinningutil.h b/indra/newview/llskinningutil.h
index 813d401535..9a28100dc3 100644
--- a/indra/newview/llskinningutil.h
+++ b/indra/newview/llskinningutil.h
@@ -45,7 +45,6 @@ public:
// This is initialized from gSavedSettings at startup and then left alone.
static bool sIncludeEnhancedSkeleton;
- static U32 sMaxJointsPerMeshObject;
};
#endif
diff --git a/indra/newview/llstartup.cpp b/indra/newview/llstartup.cpp
index 6610330a56..f1ffb398ec 100755
--- a/indra/newview/llstartup.cpp
+++ b/indra/newview/llstartup.cpp
@@ -1258,6 +1258,7 @@ bool idle_startup()
LLPostProcess::initClass();
display_startup();
+ // BENTO - remove these settings before release.
LLAvatarAppearance::initClass(gSavedSettings.getString("AvatarFileName"),gSavedSettings.getString("SkeletonFileName"));
display_startup();
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp
index 7af76259a8..4261ac1511 100755
--- a/indra/newview/llviewercontrol.cpp
+++ b/indra/newview/llviewercontrol.cpp
@@ -768,8 +768,7 @@ void settings_setup_listeners()
gSavedSettings.getControl("SpellCheck")->getSignal()->connect(boost::bind(&handleSpellCheckChanged));
gSavedSettings.getControl("SpellCheckDictionary")->getSignal()->connect(boost::bind(&handleSpellCheckChanged));
gSavedSettings.getControl("LoginLocation")->getSignal()->connect(boost::bind(&handleLoginLocationChanged));
- // BENTO - remove MaxJointsPerMeshObject before release
- gSavedSettings.getControl("MaxJointsPerMeshObject")->getCommitSignal()->connect(boost::bind(&handleDeferredDebugSettingChanged, _2));
+ // BENTO - need UI.
gSavedSettings.getControl("IncludeEnhancedSkeleton")->getCommitSignal()->connect(boost::bind(&handleDeferredDebugSettingChanged, _2));
}
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index 9b2e9db59a..af87bb904d 100755
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -4176,7 +4176,6 @@ void LLRiggedVolume::update(const LLMeshSkinInfo* skin, LLVOAvatar* avatar, cons
}
//build matrix palette
- // BENTO JOINT COUNT LIMIT
static const size_t kMaxJoints = LL_MAX_JOINTS_PER_MESH_OBJECT;
LLMatrix4a mat[kMaxJoints];