diff options
author | Dave Parks <davep@lindenlab.com> | 2011-06-28 12:41:12 -0500 |
---|---|---|
committer | Dave Parks <davep@lindenlab.com> | 2011-06-28 12:41:12 -0500 |
commit | 12e08417bfdf5d50feea544a54bbb333ad01acce (patch) | |
tree | d15022dbe74d3f6f2dda7b84ab7ba92538b416c4 | |
parent | 4df70b55233ecf6bd6ed89a42281ce62d90c672f (diff) |
SH-1169 Fix for convex decompositions not working post mesh-asset-deprecation work. (also default SLM usage to on)
-rw-r--r-- | indra/llprimitive/llmodel.cpp | 4 | ||||
-rwxr-xr-x | indra/newview/app_settings/settings.xml | 2 | ||||
-rw-r--r-- | indra/newview/llfloatermodelpreview.cpp | 10 |
3 files changed, 9 insertions, 7 deletions
diff --git a/indra/llprimitive/llmodel.cpp b/indra/llprimitive/llmodel.cpp index 972f256076..da78b30b34 100644 --- a/indra/llprimitive/llmodel.cpp +++ b/indra/llprimitive/llmodel.cpp @@ -1798,7 +1798,7 @@ bool LLModel::loadModel(std::istream& is) is.seekg(cur_pos); } - if (lod == LLModel::LOD_PHYSICS) + if (lod == LLModel::LOD_HIGH || lod == LLModel::LOD_PHYSICS) { std::ios::pos_type cur_pos = is.tellg(); loadDecomposition(header, is); @@ -2015,7 +2015,7 @@ LLModel::Decomposition::Decomposition(LLSD& data) void LLModel::Decomposition::fromLLSD(LLSD& decomp) { - if (decomp.has("HullList")) + if (decomp.has("HullList") && decomp.has("Positions")) { // updated for const-correctness. gcc is picky about this type of thing - Nyx const LLSD::Binary& hulls = decomp["HullList"].asBinary(); diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml index cf07350d85..3c309f93bc 100755 --- a/indra/newview/app_settings/settings.xml +++ b/indra/newview/app_settings/settings.xml @@ -5587,7 +5587,7 @@ <key>Type</key> <string>Boolean</string> <key>Value</key> - <real>0</real> + <real>1</real> </map> <key>MeshUploadLogXML</key> <map> diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp index 0006e3423b..67841620ea 100644 --- a/indra/newview/llfloatermodelpreview.cpp +++ b/indra/newview/llfloatermodelpreview.cpp @@ -1968,10 +1968,6 @@ bool LLModelLoader::loadFromSLM(const std::string& filename) mPreview->critiqueRigForUploadApplicability( loaded_model->mSkinInfo.mJointNames ); } } - else - { - return false; - } } } @@ -1980,6 +1976,12 @@ bool LLModelLoader::loadFromSLM(const std::string& filename) return false; } + if (model[LLModel::LOD_PHYSICS].empty()) + { //no explicit physics block, copy HIGH_LOD into physics array to recover convex decomp + model[LLModel::LOD_PHYSICS] = model[LLModel::LOD_HIGH]; + } + + //load instance list model_instance_list instance_list; |