SL-307 ImporterDebug is now logged into in-viewer log
parent
8a63012054
commit
3ab32456a0
|
|
@ -1612,6 +1612,7 @@ LLModelPreview::LLModelPreview(S32 width, S32 height, LLFloater* fmp)
|
|||
, mModelNoErrors( true )
|
||||
, mLastJointUpdate( false )
|
||||
, mHasDegenerate( false )
|
||||
, mImporterDebug(LLCachedControl<bool>(gSavedSettings, "ImporterDebug", false))
|
||||
{
|
||||
mNeedsUpdate = TRUE;
|
||||
mCameraDistance = 0.f;
|
||||
|
|
@ -1821,7 +1822,6 @@ void LLModelPreview::rebuildUploadData()
|
|||
|
||||
F32 max_scale = 0.f;
|
||||
|
||||
BOOL importerDebug = gSavedSettings.getBOOL("ImporterDebug");
|
||||
BOOL legacyMatching = gSavedSettings.getBOOL("ImporterLegacyMatching");
|
||||
|
||||
for (LLModelLoader::scene::iterator iter = mBaseScene.begin(); iter != mBaseScene.end(); ++iter)
|
||||
|
|
@ -1901,9 +1901,14 @@ void LLModelPreview::rebuildUploadData()
|
|||
|
||||
if (!lod_model && i != LLModel::LOD_PHYSICS)
|
||||
{
|
||||
if (importerDebug)
|
||||
{
|
||||
LL_INFOS() << "Search of" << name_to_match << " in LOD" << i << " list failed. Searching for alternative among LOD lists." << LL_ENDL;
|
||||
if (mImporterDebug)
|
||||
{
|
||||
std::ostringstream out;
|
||||
out << "Search of" << name_to_match;
|
||||
out << " in LOD" << i;
|
||||
out << " list failed. Searching for alternative among LOD lists.";
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
}
|
||||
|
||||
int searchLOD = (i > LLModel::LOD_HIGH) ? LLModel::LOD_HIGH : i;
|
||||
|
|
@ -1943,9 +1948,14 @@ void LLModelPreview::rebuildUploadData()
|
|||
// find reference instance for this model
|
||||
if (mBaseModel[idx] == base_model)
|
||||
{
|
||||
if (importerDebug)
|
||||
if (mImporterDebug)
|
||||
{
|
||||
LL_INFOS() << "Attempting to use model index " << idx << " for LOD " << i << " of " << instance.mLabel << LL_ENDL;
|
||||
std::ostringstream out;
|
||||
out << "Attempting to use model index " << idx;
|
||||
out << " for LOD" << i;
|
||||
out << " of " << instance.mLabel;
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -1958,29 +1968,38 @@ void LLModelPreview::rebuildUploadData()
|
|||
// Assign that index from the model list for our LOD as the LOD model for this instance
|
||||
//
|
||||
lod_model = mModel[i][idx];
|
||||
if (importerDebug)
|
||||
{
|
||||
LL_INFOS() << "Indexed match of model index " << idx << " at LOD " << i << " to model named " << lod_model->mLabel << LL_ENDL;
|
||||
if (mImporterDebug)
|
||||
{
|
||||
std::ostringstream out;
|
||||
out << "Indexed match of model index " << idx << " at LOD " << i << " to model named " << lod_model->mLabel;
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
}
|
||||
}
|
||||
else if (importerDebug)
|
||||
else if (mImporterDebug)
|
||||
{
|
||||
LL_INFOS() << "List of models does not include index " << idx << LL_ENDL;
|
||||
std::ostringstream out;
|
||||
out << "List of models does not include index " << idx;
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
}
|
||||
}
|
||||
|
||||
if (lod_model)
|
||||
{
|
||||
if (importerDebug)
|
||||
{
|
||||
if (mImporterDebug)
|
||||
{
|
||||
std::ostringstream out;
|
||||
if (i == LLModel::LOD_PHYSICS)
|
||||
{
|
||||
LL_INFOS() << "Assigning collision for " << instance.mLabel << " to match " << lod_model->mLabel << LL_ENDL;
|
||||
{
|
||||
out << "Assigning collision for " << instance.mLabel << " to match " << lod_model->mLabel;
|
||||
}
|
||||
else
|
||||
{
|
||||
LL_INFOS() << "Assigning LOD" << i << " for " << instance.mLabel << " to found match " << lod_model->mLabel << LL_ENDL;
|
||||
}
|
||||
{
|
||||
out << "Assigning LOD" << i << " for " << instance.mLabel << " to found match " << lod_model->mLabel;
|
||||
}
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
}
|
||||
instance.mLOD[i] = lod_model;
|
||||
}
|
||||
|
|
@ -1992,9 +2011,12 @@ void LLModelPreview::rebuildUploadData()
|
|||
// Note: we might need to assign it regardless of conditions like named search does, to prevent crashes.
|
||||
instance.mLOD[i] = instance.mLOD[i + 1];
|
||||
}
|
||||
if (importerDebug)
|
||||
if (mImporterDebug)
|
||||
{
|
||||
LL_INFOS() << "List of models does not include " << instance.mLabel << LL_ENDL;
|
||||
std::ostringstream out;
|
||||
out << "List of models does not include " << instance.mLabel;
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2061,9 +2083,12 @@ void LLModelPreview::rebuildUploadData()
|
|||
}
|
||||
if (!found_model && mModel[lod][model_ind] && !mModel[lod][model_ind]->mSubmodelID)
|
||||
{
|
||||
if (importerDebug)
|
||||
{
|
||||
LL_INFOS() << "Model " << mModel[lod][model_ind]->mLabel << " was not used - mismatching lod models." << LL_ENDL;
|
||||
if (mImporterDebug)
|
||||
{
|
||||
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);
|
||||
}
|
||||
setLoadState( LLModelLoader::ERROR_MATERIALS );
|
||||
mFMP->childDisable( "calculate_btn" );
|
||||
|
|
@ -2526,7 +2551,6 @@ void LLModelPreview::loadModelCallback(S32 loaded_lod)
|
|||
}
|
||||
else
|
||||
{
|
||||
BOOL importerDebug = gSavedSettings.getBOOL("ImporterDebug");
|
||||
BOOL legacyMatching = gSavedSettings.getBOOL("ImporterLegacyMatching");
|
||||
if (!legacyMatching)
|
||||
{
|
||||
|
|
@ -2539,9 +2563,12 @@ void LLModelPreview::loadModelCallback(S32 loaded_lod)
|
|||
if (mBaseModel[idx]->mSubmodelID)
|
||||
{ // don't do index-based renaming when the base model has submodels
|
||||
has_submodels = TRUE;
|
||||
if (importerDebug)
|
||||
if (mImporterDebug)
|
||||
{
|
||||
LL_INFOS() << "High LOD has submodels" << LL_ENDL;
|
||||
std::ostringstream out;
|
||||
out << "High LOD has submodels";
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -2565,9 +2592,12 @@ void LLModelPreview::loadModelCallback(S32 loaded_lod)
|
|||
}
|
||||
}
|
||||
|
||||
if (importerDebug)
|
||||
if (mImporterDebug)
|
||||
{
|
||||
LL_INFOS() << "Loaded LOD " << loaded_lod << ": correct names" << (name_based ? "" : "NOT ") << "found; submodels " << (has_submodels ? "" : "NOT ") << "found" << LL_ENDL;
|
||||
std::ostringstream out;
|
||||
out << "Loaded LOD " << loaded_lod << ": correct names" << (name_based ? "" : "NOT ") << "found; submodels " << (has_submodels ? "" : "NOT ") << "found";
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
}
|
||||
|
||||
if (!name_based && !has_submodels)
|
||||
|
|
@ -2589,7 +2619,7 @@ void LLModelPreview::loadModelCallback(S32 loaded_lod)
|
|||
case LLModel::LOD_HIGH: break;
|
||||
}
|
||||
|
||||
if (importerDebug)
|
||||
if (mImporterDebug)
|
||||
{
|
||||
std::ostringstream out;
|
||||
out << "Loded model name " << mModel[loaded_lod][idx]->mLabel;
|
||||
|
|
@ -3195,20 +3225,34 @@ void LLModelPreview::updateStatusMessages()
|
|||
|
||||
std::string instance_name = instance.mLabel;
|
||||
|
||||
BOOL importerDebug = gSavedSettings.getBOOL("ImporterDebug");
|
||||
if (importerDebug)
|
||||
if (mImporterDebug)
|
||||
{
|
||||
// Useful for debugging generalized complaints below about total submeshes which don't have enough
|
||||
// context to address exactly what needs to be fixed to move towards compliance with the rules.
|
||||
//
|
||||
LL_INFOS() << "Instance " << lod_model->mLabel << " LOD " << i << " Verts: " << cur_verts << LL_ENDL;
|
||||
LL_INFOS() << "Instance " << lod_model->mLabel << " LOD " << i << " Tris: " << cur_tris << LL_ENDL;
|
||||
LL_INFOS() << "Instance " << lod_model->mLabel << " LOD " << i << " Faces: " << cur_submeshes << LL_ENDL;
|
||||
std::ostringstream out;
|
||||
out << "Instance " << lod_model->mLabel << " LOD " << i << " Verts: " << cur_verts;
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
|
||||
out.str("");
|
||||
out << "Instance " << lod_model->mLabel << " LOD " << i << " Tris: " << cur_tris;
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
|
||||
out.str("");
|
||||
out << "Instance " << lod_model->mLabel << " LOD " << i << " Faces: " << cur_submeshes;
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
|
||||
out.str("");
|
||||
LLModel::material_list::iterator mat_iter = lod_model->mMaterialList.begin();
|
||||
while (mat_iter != lod_model->mMaterialList.end())
|
||||
{
|
||||
LL_INFOS() << "Instance " << lod_model->mLabel << " LOD " << i << " Material " << *(mat_iter) << LL_ENDL;
|
||||
out << "Instance " << lod_model->mLabel << " LOD " << i << " Material " << *(mat_iter);
|
||||
LL_INFOS() << out.str() << LL_ENDL;
|
||||
LLFloaterModelPreview::addStringToLog(out, false);
|
||||
out.str("");
|
||||
mat_iter++;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -457,6 +457,7 @@ private:
|
|||
JointTransformMap mJointTransformMap;
|
||||
|
||||
LLPointer<LLVOAvatar> mPreviewAvatar;
|
||||
LLCachedControl<bool> mImporterDebug;
|
||||
};
|
||||
|
||||
#endif // LL_LLFLOATERMODELPREVIEW_H
|
||||
|
|
|
|||
Loading…
Reference in New Issue