FIX: Scons workspace was missing a reference to contrib/ConvertUTF.

FIX: assimp_cmd doesn't anymore execute ConvertToLeftHanded if only -fuv or -fwo is specified.
FIX: Amd64-Build with vc8 - invalid integer promotion
FIX: Remove '_asm int 3' debug stuff from IrrXML. 

git-svn-id: https://assimp.svn.sourceforge.net/svnroot/assimp/trunk@512 67173fc5-114c-0410-ac8e-9d2fd5bffc1f
pull/1/head
aramis_acg 2009-12-14 17:17:41 +00:00
parent 071010b4ee
commit a9ece90b81
4 changed files with 13 additions and 8 deletions

View File

@ -105,13 +105,13 @@ unsigned int PretransformVertices::GetMeshVFormat(aiMesh* pcMesh)
// from scratch. The pointer is unused as animations are lost // from scratch. The pointer is unused as animations are lost
// during PretransformVertices. // during PretransformVertices.
if (pcMesh->mBones) if (pcMesh->mBones)
return (unsigned int)(unsigned long)pcMesh->mBones; return (unsigned int)(uint64_t)pcMesh->mBones;
const unsigned int iRet = GetMeshVFormatUnique(pcMesh); const unsigned int iRet = GetMeshVFormatUnique(pcMesh);
// store the value for later use // store the value for later use
pcMesh->mBones = (aiBone**)(unsigned long)iRet; pcMesh->mBones = (aiBone**)(uint64_t)iRet;
return iRet; return iRet;
} }

View File

@ -79,10 +79,10 @@ typedef unsigned short wchar_t;
#endif // microsoft compiler #endif // microsoft compiler
//! define a break macro for debugging only in Win32 mode. //! define a break macro for debugging only in Win32 mode.
// WORKAROUND (ASSIMP): __asm int 3 not av. for x64 // WORKAROUND (ASSIMP): remove __asm
#if defined(WIN32) && defined(_MSC_VER) && defined(_DEBUG) #if defined(WIN32) && defined(_MSC_VER) && defined(_DEBUG)
#if defined(_M_IX86) #if defined(_M_IX86)
#define _IRR_DEBUG_BREAK_IF( _CONDITION_ ) if (_CONDITION_) {_asm int 3} #define _IRR_DEBUG_BREAK_IF( _CONDITION_ ) /*if (_CONDITION_) {_asm int 3}*/
#else #else
#define _IRR_DEBUG_BREAK_IF( _CONDITION_ ) #define _IRR_DEBUG_BREAK_IF( _CONDITION_ )
#endif #endif
@ -96,8 +96,10 @@ When you call unmanaged code that returns a bool type value of false from manage
the return value may appear as true. See the return value may appear as true. See
http://support.microsoft.com/default.aspx?kbid=823071 for details. http://support.microsoft.com/default.aspx?kbid=823071 for details.
Compiler version defines: VC6.0 : 1200, VC7.0 : 1300, VC7.1 : 1310, VC8.0 : 1400*/ Compiler version defines: VC6.0 : 1200, VC7.0 : 1300, VC7.1 : 1310, VC8.0 : 1400*/
// WORKAROUND (ASSIMP): remove __asm
#if defined(WIN32) && defined(_MSC_VER) && (_MSC_VER > 1299) && (_MSC_VER < 1400) #if defined(WIN32) && defined(_MSC_VER) && (_MSC_VER > 1299) && (_MSC_VER < 1400)
#define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX __asm mov eax,100 #define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX /*__asm mov eax,100*/
#else #else
#define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX #define _IRR_IMPLEMENT_MANAGED_MARSHALLING_BUGFIX
#endif // _IRR_MANAGED_MARSHALLING_BUGFIX #endif // _IRR_MANAGED_MARSHALLING_BUGFIX

View File

@ -246,10 +246,10 @@ int ProcessStandardArguments(ImportData& fill, const char** params,
fill.ppFlags |= aiProcess_ConvertToLeftHanded; fill.ppFlags |= aiProcess_ConvertToLeftHanded;
} }
else if (! ::strcmp(params[i], "-fuv") || ! ::strcmp(params[i], "--flip-uv")) { else if (! ::strcmp(params[i], "-fuv") || ! ::strcmp(params[i], "--flip-uv")) {
fill.ppFlags |= aiProcess_ConvertToLeftHanded; fill.ppFlags |= aiProcess_FlipUVs;
} }
else if (! ::strcmp(params[i], "-fwo") || ! ::strcmp(params[i], "--flip-winding-order")) { else if (! ::strcmp(params[i], "-fwo") || ! ::strcmp(params[i], "--flip-winding-order")) {
fill.ppFlags |= aiProcess_ConvertToLeftHanded; fill.ppFlags |= aiProcess_FlipWindingOrder;
} }
else if (! ::strcmp(params[i], "-tuv") || ! ::strcmp(params[i], "--transform-uv-coords")) { else if (! ::strcmp(params[i], "-tuv") || ! ::strcmp(params[i], "--transform-uv-coords")) {
fill.ppFlags |= aiProcess_TransformUVCoords; fill.ppFlags |= aiProcess_TransformUVCoords;

View File

@ -17,7 +17,7 @@ g_IncPath = Split("""
/usr/local/include/ /usr/local/include/
""") """)
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
g_assimp_lib_Source = Glob(r"../../code/*.cpp") + Glob(r"../../contrib/irrXML/*.cpp") + Glob(r"../../contrib/zlib/*.c") + Glob(r"../../code/extra/*.cpp") g_assimp_lib_Source = Glob(r"../../code/*.cpp") + Glob(r"../../contrib/irrXML/*.cpp") + Glob(r"../../contrib/zlib/*.c") + Glob(r"../../code/extra/*.cpp") + Glob(r"../../contrib/ConvertUTF/*.c")
#------------------------------------------------------------------------------ #------------------------------------------------------------------------------
# don't reset CC/CXX-variable, other users might have set it to something special # don't reset CC/CXX-variable, other users might have set it to something special
@ -30,6 +30,9 @@ if ARGUMENTS.get('debug', 0):
else: else:
ccflags = ccflags + ' -Os -fno-strict-aliasing -msse -Wall -pedantic' ccflags = ccflags + ' -Os -fno-strict-aliasing -msse -Wall -pedantic'
#if ARGUMENTS.get('noboost', 0):
# ccflags = ccflags + ' -DASSIMP_BUILD_BOOST_WORKAROUND '
env = Environment(CCFLAGS = ccflags, CPPPATH = g_IncPath, LIBPATH=g_LibPath) env = Environment(CCFLAGS = ccflags, CPPPATH = g_IncPath, LIBPATH=g_LibPath)
conf = Configure( env ) conf = Configure( env )