From 98b234020b45ee7adbd09e41b52d75ce1f01fd39 Mon Sep 17 00:00:00 2001 From: shin_mbpr_late2013 Date: Sat, 16 May 2015 23:27:55 +0900 Subject: [PATCH 1/2] Fixed AssBin loader. File reads were used in ai_assert. The function has side effects, so it should not be used in an assert. Fixed AddGTest.cmake. There was an issue regarding Xcode project file. The path of libgtest.a was incorrectly set. --- cmake-modules/AddGTest.cmake | 4 ++-- code/AssbinLoader.cpp | 37 +++++++++++++++++++++++------------- 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/cmake-modules/AddGTest.cmake b/cmake-modules/AddGTest.cmake index 5257148c9..c106cc303 100644 --- a/cmake-modules/AddGTest.cmake +++ b/cmake-modules/AddGTest.cmake @@ -11,8 +11,8 @@ if (MSVC) set(RELEASE_LIB_DIR ReleaseLibs) set(DEBUG_LIB_DIR DebugLibs) else() - set(RELEASE_LIB_DIR "") - set(DEBUG_LIB_DIR "") + set(RELEASE_LIB_DIR "Release") + set(DEBUG_LIB_DIR "Debug") endif() set(GTEST_CMAKE_ARGS diff --git a/code/AssbinLoader.cpp b/code/AssbinLoader.cpp index 6818929fb..8788adbd7 100644 --- a/code/AssbinLoader.cpp +++ b/code/AssbinLoader.cpp @@ -51,8 +51,8 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "AssbinLoader.h" #include "assbin_chunks.h" #include "MemoryIOWrapper.h" -#include "../include/assimp/mesh.h" -#include "../include/assimp/anim.h" +#include "../include/assimp/mesh.h" +#include "../include/assimp/anim.h" #include "../include/assimp/scene.h" #include @@ -199,7 +199,8 @@ template void ReadBounds( IOStream * stream, T* /*p*/, unsigned int void AssbinImporter::ReadBinaryNode( IOStream * stream, aiNode** node ) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AINODE); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AINODE); /*uint32_t size =*/ Read(stream); *node = new aiNode(); @@ -230,7 +231,8 @@ void AssbinImporter::ReadBinaryNode( IOStream * stream, aiNode** node ) // ----------------------------------------------------------------------------------- void AssbinImporter::ReadBinaryBone( IOStream * stream, aiBone* b ) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AIBONE ); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AIBONE); /*uint32_t size =*/ Read(stream); b->mName = Read(stream); @@ -253,7 +255,8 @@ void AssbinImporter::ReadBinaryBone( IOStream * stream, aiBone* b ) void AssbinImporter::ReadBinaryMesh( IOStream * stream, aiMesh* mesh ) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AIMESH); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AIMESH); /*uint32_t size =*/ Read(stream); mesh->mPrimitiveTypes = Read(stream); @@ -377,7 +380,8 @@ void AssbinImporter::ReadBinaryMesh( IOStream * stream, aiMesh* mesh ) void AssbinImporter::ReadBinaryMaterialProperty(IOStream * stream, aiMaterialProperty* prop) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AIMATERIALPROPERTY); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AIMATERIALPROPERTY); /*uint32_t size =*/ Read(stream); prop->mKey = Read(stream); @@ -393,7 +397,8 @@ void AssbinImporter::ReadBinaryMaterialProperty(IOStream * stream, aiMaterialPro // ----------------------------------------------------------------------------------- void AssbinImporter::ReadBinaryMaterial(IOStream * stream, aiMaterial* mat) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AIMATERIAL); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AIMATERIAL); /*uint32_t size =*/ Read(stream); mat->mNumAllocated = mat->mNumProperties = Read(stream); @@ -414,7 +419,8 @@ void AssbinImporter::ReadBinaryMaterial(IOStream * stream, aiMaterial* mat) // ----------------------------------------------------------------------------------- void AssbinImporter::ReadBinaryNodeAnim(IOStream * stream, aiNodeAnim* nd) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AINODEANIM); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AINODEANIM); /*uint32_t size =*/ Read(stream); nd->mNodeName = Read(stream); @@ -462,7 +468,8 @@ void AssbinImporter::ReadBinaryNodeAnim(IOStream * stream, aiNodeAnim* nd) // ----------------------------------------------------------------------------------- void AssbinImporter::ReadBinaryAnim( IOStream * stream, aiAnimation* anim ) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AIANIMATION); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AIANIMATION); /*uint32_t size =*/ Read(stream); anim->mName = Read (stream); @@ -482,7 +489,8 @@ void AssbinImporter::ReadBinaryAnim( IOStream * stream, aiAnimation* anim ) void AssbinImporter::ReadBinaryTexture(IOStream * stream, aiTexture* tex) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AITEXTURE); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AITEXTURE); /*uint32_t size =*/ Read(stream); tex->mWidth = Read(stream); @@ -505,7 +513,8 @@ void AssbinImporter::ReadBinaryTexture(IOStream * stream, aiTexture* tex) // ----------------------------------------------------------------------------------- void AssbinImporter::ReadBinaryLight( IOStream * stream, aiLight* l ) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AILIGHT); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AILIGHT); /*uint32_t size =*/ Read(stream); l->mName = Read(stream); @@ -531,7 +540,8 @@ void AssbinImporter::ReadBinaryLight( IOStream * stream, aiLight* l ) // ----------------------------------------------------------------------------------- void AssbinImporter::ReadBinaryCamera( IOStream * stream, aiCamera* cam ) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AICAMERA); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AICAMERA); /*uint32_t size =*/ Read(stream); cam->mName = Read(stream); @@ -546,7 +556,8 @@ void AssbinImporter::ReadBinaryCamera( IOStream * stream, aiCamera* cam ) void AssbinImporter::ReadBinaryScene( IOStream * stream, aiScene* scene ) { - ai_assert( Read(stream) == ASSBIN_CHUNK_AISCENE); + uint32_t chunkID = Read(stream); + ai_assert(chunkID == ASSBIN_CHUNK_AISCENE); /*uint32_t size =*/ Read(stream); scene->mFlags = Read(stream); From 6c01bcff538a72261a900c91fea0fd07bb0f2217 Mon Sep 17 00:00:00 2001 From: shin_mbpr_late2013 Date: Sun, 17 May 2015 00:36:19 +0900 Subject: [PATCH 2/2] Reverted AddGTest.cmake. Changes to the file caused CI build broken. --- cmake-modules/AddGTest.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmake-modules/AddGTest.cmake b/cmake-modules/AddGTest.cmake index c106cc303..5257148c9 100644 --- a/cmake-modules/AddGTest.cmake +++ b/cmake-modules/AddGTest.cmake @@ -11,8 +11,8 @@ if (MSVC) set(RELEASE_LIB_DIR ReleaseLibs) set(DEBUG_LIB_DIR DebugLibs) else() - set(RELEASE_LIB_DIR "Release") - set(DEBUG_LIB_DIR "Debug") + set(RELEASE_LIB_DIR "") + set(DEBUG_LIB_DIR "") endif() set(GTEST_CMAKE_ARGS