From e7db0d7956db105c829a4116a10a6b4b63a041df Mon Sep 17 00:00:00 2001 From: James Urquhart Date: Sun, 21 Aug 2016 02:15:26 +0100 Subject: [PATCH] Fix mesh load issue & merge issue --- Engine/source/ts/tsMesh.cpp | 4 ++-- Engine/source/ts/tsRenderState.cpp | 1 - Engine/source/ts/tsShape.cpp | 2 +- Engine/source/ts/tsShapeEdit.cpp | 5 ++++- 4 files changed, 7 insertions(+), 5 deletions(-) diff --git a/Engine/source/ts/tsMesh.cpp b/Engine/source/ts/tsMesh.cpp index 5b454a572..058e4d826 100644 --- a/Engine/source/ts/tsMesh.cpp +++ b/Engine/source/ts/tsMesh.cpp @@ -3119,9 +3119,9 @@ void TSMesh::copySourceVertexDataFrom(const TSMesh* srcMesh) tverts.setSize(srcMesh->mNumVerts); norms.setSize(srcMesh->mNumVerts); - if (hasTVert2) - colors.setSize(mNumVerts); if (hasColor) + colors.setSize(mNumVerts); + if (hasTVert2) tverts2.setSize(mNumVerts); // Fill arrays diff --git a/Engine/source/ts/tsRenderState.cpp b/Engine/source/ts/tsRenderState.cpp index f8c9b6a71..f5f63ac73 100644 --- a/Engine/source/ts/tsRenderState.cpp +++ b/Engine/source/ts/tsRenderState.cpp @@ -51,7 +51,6 @@ TSRenderState::TSRenderState( const TSRenderState &state ) mUseOriginSort( state.mUseOriginSort ), mLightQuery( state.mLightQuery ), mAccuTex( state.mAccuTex ), - mUseOriginSort( state.mUseOriginSort ), mNodeTransforms( state.mNodeTransforms ), mNodeTransformCount( state.mNodeTransformCount ) { diff --git a/Engine/source/ts/tsShape.cpp b/Engine/source/ts/tsShape.cpp index 1ce31a0bb..969cfa388 100644 --- a/Engine/source/ts/tsShape.cpp +++ b/Engine/source/ts/tsShape.cpp @@ -732,7 +732,7 @@ void TSShape::initVertexBufferPointers() mesh->getMeshType() == TSMesh::SkinMeshType)) { // Set buffer - AssertFatal(mesh->mNumVerts >= mesh->vertsPerFrame, "invalid verts per frame"); + AssertFatal(mesh->mNumVerts == 0 || mesh->mNumVerts >= mesh->vertsPerFrame, "invalid verts per frame"); if (mesh->mVertSize > 0 && !mesh->mVertexData.isReady()) { U32 boneOffset = 0; diff --git a/Engine/source/ts/tsShapeEdit.cpp b/Engine/source/ts/tsShapeEdit.cpp index 13d6abd13..ad2f89920 100644 --- a/Engine/source/ts/tsShapeEdit.cpp +++ b/Engine/source/ts/tsShapeEdit.cpp @@ -916,7 +916,10 @@ TSMesh* TSShape::copyMesh( const TSMesh* srcMesh ) const } bool TSShape::addMesh(TSMesh* mesh, const String& meshName) -{ +{ + // Ensure mesh is in editable state + mesh->makeEditable(); + // Determine the object name and detail size from the mesh name S32 detailSize = 999; String objName(String::GetTrailingNumber(meshName, detailSize));