From 3cc83b2e37e0e4695410ee10d622e69ce642b7cb Mon Sep 17 00:00:00 2001
From: Andrey Kleshchev <andreykproductengine@lindenlab.com>
Date: Fri, 24 Apr 2020 18:29:18 +0300
Subject: [PATCH] SL-307 Improvements to logging

---
 indra/newview/llfloatermodelpreview.cpp | 2 +-
 indra/newview/llmodelpreview.cpp        | 6 ++++--
 2 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/indra/newview/llfloatermodelpreview.cpp b/indra/newview/llfloatermodelpreview.cpp
index 1d3fb5bcfc4..98ffd30bc70 100644
--- a/indra/newview/llfloatermodelpreview.cpp
+++ b/indra/newview/llfloatermodelpreview.cpp
@@ -413,7 +413,7 @@ void LLFloaterModelPreview::loadModel(S32 lod, const std::string& file_name, boo
 void LLFloaterModelPreview::onClickCalculateBtn()
 {
 	clearLogTab();
-
+	addStringToLog("Calculating model data.", false);
 	mModelPreview->rebuildUploadData();
 
 	bool upload_skinweights = childGetValue("upload_skin").asBoolean();
diff --git a/indra/newview/llmodelpreview.cpp b/indra/newview/llmodelpreview.cpp
index 21c6895a6cb..6de88b318ab 100644
--- a/indra/newview/llmodelpreview.cpp
+++ b/indra/newview/llmodelpreview.cpp
@@ -562,6 +562,7 @@ void LLModelPreview::rebuildUploadData()
             LLModel* high_lod_model = instance.mLOD[LLModel::LOD_HIGH];
             if (!high_lod_model)
             {
+                LLFloaterModelPreview::addStringToLog("Model " + instance.mLabel + " has no High Lod (LOD3).", true);
                 setLoadState(LLModelLoader::ERROR_MATERIALS);
                 mFMP->childDisable("calculate_btn");
             }
@@ -574,6 +575,7 @@ void LLModelPreview::rebuildUploadData()
                     llassert(instance.mLOD[i]);
                     if (instance.mLOD[i] && !instance.mLOD[i]->matchMaterialOrder(high_lod_model, refFaceCnt, modelFaceCnt))
                     {
+                        LLFloaterModelPreview::addStringToLog("Model " + instance.mLabel + " has mismatching materials between lods." , true);
                         setLoadState(LLModelLoader::ERROR_MATERIALS);
                         mFMP->childDisable("calculate_btn");
                     }
@@ -593,7 +595,7 @@ void LLModelPreview::rebuildUploadData()
                         out << bind_rot;
                         LL_WARNS() << out.str() << LL_ENDL;
 
-                        LLFloaterModelPreview::addStringToLog(out, false);
+                        LLFloaterModelPreview::addStringToLog(out, getLoadState() != LLModelLoader::WARNING_BIND_SHAPE_ORIENTATION);
                         setLoadState(LLModelLoader::WARNING_BIND_SHAPE_ORIENTATION);
                     }
                 }
@@ -626,7 +628,7 @@ void LLModelPreview::rebuildUploadData()
                     std::ostringstream out;
                     out << "Model " << mModel[lod][model_ind]->mLabel << " was not used - mismatching lod models.";
                     LL_INFOS() << out.str() << LL_ENDL;
-                    LLFloaterModelPreview::addStringToLog(out, false);
+                    LLFloaterModelPreview::addStringToLog(out, true);
                 }
                 setLoadState(LLModelLoader::ERROR_MATERIALS);
                 mFMP->childDisable("calculate_btn");
-- 
GitLab