Finished loading of MD2, MD3, MDL2, MDL3, MDL4, MDL5, MDL7, MDL. First WIP version of the SMD loader. Additionals checks added to the validation step.

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@60 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
This commit is contained in:
aramis_acg
2008-06-22 10:09:26 +00:00
parent 758e092449
commit b422d4e303
90 changed files with 7349 additions and 2105 deletions

View File

@@ -44,6 +44,7 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include "XFileHelper.h"
#include "BaseImporter.h"
#include "fast_atof.h"
#include "../include/DefaultLogger.h"
#include <boost/format.hpp>
@@ -150,11 +151,11 @@ void XFileParser::ParseFile()
if( objectName == "}")
{
// whatever?
// os::Printer::log("} found in dataObject", ELL_WARNING);
DefaultLogger::get()->warn("} found in dataObject");
} else
{
// unknown format
//os::Printer::log("Unknown data object in animation of .x file", objectName.c_str(), ELL_WARNING);
DefaultLogger::get()->warn("Unknown data object in animation of .x file");
ParseUnknownDataObject();
}
}
@@ -248,7 +249,7 @@ void XFileParser::ParseDataObjectFrame( Node* pParent)
ParseDataObjectMesh( mesh);
} else
{
// os::Printer::log("Unknown data object in frame in x file", objectName.c_str(), ELL_WARNING);
DefaultLogger::get()->warn("Unknown data object in frame in x file");
ParseUnknownDataObject();
}
}
@@ -338,7 +339,7 @@ void XFileParser::ParseDataObjectMesh( Mesh* pMesh)
ParseDataObjectSkinWeights( pMesh);
else
{
//os::Printer::log("Unknown data object in mesh in x file", objectName.c_str(), ELL_WARNING);
DefaultLogger::get()->warn("Unknown data object in mesh in x file");
ParseUnknownDataObject();
}
}
@@ -533,7 +534,7 @@ void XFileParser::ParseDataObjectMeshMaterialList( Mesh* pMesh)
// ignore
} else
{
// os::Printer::log("Unknown data object in material list in x file", objectName.c_str(), ELL_WARNING);
DefaultLogger::get()->warn("Unknown data object in material list in x file");
ParseUnknownDataObject();
}
}
@@ -571,7 +572,7 @@ void XFileParser::ParseDataObjectMaterial( Material* pMaterial)
pMaterial->mTextures.push_back( texname);
} else
{
// os::Printer::log("Unknown data object in material in .x file", objectName.c_str(), ELL_WARNING);
DefaultLogger::get()->warn("Unknown data object in material in x file");
ParseUnknownDataObject();
}
}
@@ -608,7 +609,7 @@ void XFileParser::ParseDataObjectAnimationSet()
ParseDataObjectAnimation( anim);
else
{
// os::Printer::log("Unknown data object in animation set in x file", objectName.c_str(), ELL_WARNING);
DefaultLogger::get()->warn("Unknown data object in animation set in x file");
ParseUnknownDataObject();
}
}
@@ -644,7 +645,7 @@ void XFileParser::ParseDataObjectAnimation( Animation* pAnim)
CheckForClosingBrace();
} else
{
//os::Printer::log("Unknown data object in animation in x file", objectName.c_str(), ELL_WARNING);
DefaultLogger::get()->warn("Unknown data object in animation in x file");
ParseUnknownDataObject();
}
}
@@ -748,6 +749,12 @@ void XFileParser::ParseDataObjectTextureFilename( std::string& pName)
readHeadOfDataObject();
GetNextTokenAsString( pName);
CheckForClosingBrace();
// FIX: some files (e.g. AnimationTest.x) have "" as texture file name
if (!pName.length())
{
DefaultLogger::get()->warn("Length of texture file name is zero. Skipping this texture.");
}
}
// ------------------------------------------------------------------------------------------------