summaryrefslogtreecommitdiff
path: root/indra
diff options
context:
space:
mode:
Diffstat (limited to 'indra')
-rwxr-xr-xindra/llcharacter/lljoint.h2
-rwxr-xr-xindra/llcharacter/llkeyframemotion.cpp4
-rwxr-xr-xindra/llcharacter/llmotioncontroller.cpp18
-rwxr-xr-xindra/llprimitive/llmodel.cpp2
-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
12 files changed, 15 insertions, 52 deletions
diff --git a/indra/llcharacter/lljoint.h b/indra/llcharacter/lljoint.h
index f11cbacaaa..3282e82cd6 100755
--- a/indra/llcharacter/lljoint.h
+++ b/indra/llcharacter/lljoint.h
@@ -44,7 +44,7 @@ const S32 LL_CHARACTER_MAX_JOINTS_PER_MESH = 15;
const U32 LL_CHARACTER_MAX_JOINTS = 152; // must be divisible by 4!
const U32 LL_MAX_JOINTS_PER_MESH_OBJECT = 110;
-// FIXME BENTO - these should be higher than the joint_num of any
+// These should be higher than the joint_num of any
// other joint, to avoid conflicts in updateMotionsByType()
const U32 LL_HAND_JOINT_NUM = (LL_CHARACTER_MAX_JOINTS-1);
const U32 LL_FACE_JOINT_NUM = (LL_CHARACTER_MAX_JOINTS-2);
diff --git a/indra/llcharacter/llkeyframemotion.cpp b/indra/llcharacter/llkeyframemotion.cpp
index c227c3f8e9..33d3a7146b 100755
--- a/indra/llcharacter/llkeyframemotion.cpp
+++ b/indra/llcharacter/llkeyframemotion.cpp
@@ -2007,7 +2007,6 @@ U32 LLKeyframeMotion::getFileSize()
}
//-----------------------------------------------------------------------------
-// FIXME BENTO TEMP
// dumpToFile()
//-----------------------------------------------------------------------------
void LLKeyframeMotion::dumpToFile(const std::string& name)
@@ -2252,9 +2251,6 @@ void LLKeyframeMotion::onLoadComplete(LLVFS *vfs,
if (motionp->deserialize(dp))
{
motionp->mAssetStatus = ASSET_LOADED;
- // FIXME BENTO TEMP
- //motionp->dumpToFile("");
-
}
else
{
diff --git a/indra/llcharacter/llmotioncontroller.cpp b/indra/llcharacter/llmotioncontroller.cpp
index eabd7390b1..ea51dcc864 100755
--- a/indra/llcharacter/llmotioncontroller.cpp
+++ b/indra/llcharacter/llmotioncontroller.cpp
@@ -377,14 +377,6 @@ LLMotion* LLMotionController::createMotion( const LLUUID &id )
case LLMotion::STATUS_SUCCESS:
// add motion to our list
mLoadedMotions.insert(motion);
- // BENTO TEMP
- {
- LLKeyframeMotion *km = dynamic_cast<LLKeyframeMotion*>(motion);
- if (km)
- {
- //km->dumpToFile("");
- }
- }
break;
default:
LL_ERRS() << "Invalid initialization status" << LL_ENDL;
@@ -584,8 +576,6 @@ void LLMotionController::updateMotionsByType(LLMotion::LLMotionBlendType anim_ty
}
else
{
- // NUM_JOINT_SIGNATURE_STRIDES should be multiple of 4
- // FIXME BENTO - think it's just the number of joints that needs to be a multiple of 4, not the number of strides.
for (S32 i = 0; i < NUM_JOINT_SIGNATURE_STRIDES; i++)
{
U32 *current_signature = (U32*)&(mJointSignature[0][i * 4]);
@@ -789,14 +779,6 @@ void LLMotionController::updateLoadingMotions()
mLoadingMotions.erase(curiter);
// add motion to our loaded motion list
mLoadedMotions.insert(motionp);
- // FIXME BENTO SO MUCH DUMP
- {
- LLKeyframeMotion *km = dynamic_cast<LLKeyframeMotion*>(motionp);
- if (km)
- {
- //km->dumpToFile("");
- }
- }
// this motion should be playing
if (!motionp->isStopped())
{
diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp
index 72b5ca77dd..adf392fa21 100755
--- a/indra/llprimitive/llmodel.cpp
+++ b/indra/llprimitive/llmodel.cpp
@@ -867,7 +867,7 @@ LLSD LLModel::writeModel(
S32 count = 0;
for (weight_list::iterator iter = weights.begin(); iter != weights.end(); ++iter)
{
- // BENTO JOINT COUNT LIMIT 255?
+ // Note joint index cannot exceed 255.
if (iter->mJointIdx < 255 && iter->mJointIdx >= 0)
{
U8 idx = (U8) iter->mJointIdx;
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];