diff options
author | Oz Linden <oz@lindenlab.com> | 2010-12-14 22:59:36 -0500 |
---|---|---|
committer | Oz Linden <oz@lindenlab.com> | 2010-12-14 22:59:36 -0500 |
commit | ad991346683c9e69d3e86b0e98275cb3fa47fb72 (patch) | |
tree | 371029c497c6453734771abc0eebb8755b841ad8 /indra/newview/llpolymorph.cpp | |
parent | 2027ce56a217b97848f5582a14f8ed81593a1f54 (diff) | |
parent | efa42a6aab6d3ada198072c0e2be2b7d9b4e1eb5 (diff) |
Automated merge with file:///Users/oz/Work/viewer-development
Diffstat (limited to 'indra/newview/llpolymorph.cpp')
-rw-r--r-- | indra/newview/llpolymorph.cpp | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/indra/newview/llpolymorph.cpp b/indra/newview/llpolymorph.cpp index 0ffe1c635f..ec41ef08f5 100644 --- a/indra/newview/llpolymorph.cpp +++ b/indra/newview/llpolymorph.cpp @@ -287,10 +287,22 @@ BOOL LLPolyMorphTarget::setInfo(LLPolyMorphTargetInfo* info) } } - mMorphData = mMesh->getMorphData(getInfo()->mMorphName); + std::string morph_param_name = getInfo()->mMorphName; + + mMorphData = mMesh->getMorphData(morph_param_name); + if (!mMorphData) + { + const std::string driven_tag = "_Driven"; + U32 pos = morph_param_name.find(driven_tag); + if (pos > 0) + { + morph_param_name = morph_param_name.substr(0,pos); + mMorphData = mMesh->getMorphData(morph_param_name); + } + } if (!mMorphData) { - llwarns << "No morph target named " << getInfo()->mMorphName << " found in mesh." << llendl; + llwarns << "No morph target named " << morph_param_name << " found in mesh." << llendl; return FALSE; // Continue, ignoring this tag } return TRUE; |