diff --git a/source/Irrlicht/CAnimatedMeshMD2.cpp b/source/Irrlicht/CAnimatedMeshMD2.cpp index b01a49e9..68bb065b 100644 --- a/source/Irrlicht/CAnimatedMeshMD2.cpp +++ b/source/Irrlicht/CAnimatedMeshMD2.cpp @@ -417,6 +417,7 @@ void CAnimatedMeshMD2::updateInterpolationBuffer(s32 frame, s32 startFrameLoop, //update bounding box InterpolationBuffer.setBoundingBox(BoxList[secondFrame].getInterpolated(BoxList[firstFrame], div)); + InterpolationBuffer.setDirty(); } diff --git a/source/Irrlicht/CSkinnedMesh.cpp b/source/Irrlicht/CSkinnedMesh.cpp index ba56daf6..2eb04b89 100644 --- a/source/Irrlicht/CSkinnedMesh.cpp +++ b/source/Irrlicht/CSkinnedMesh.cpp @@ -79,7 +79,6 @@ IMesh* CSkinnedMesh::getMesh(s32 frame, s32 detailLevel, s32 startFrameLoop, s32 //! blend: {0-old position, 1-New position} void CSkinnedMesh::animateMesh(f32 frame, f32 blend) { - if ( !HasAnimation || lastAnimatedFrame==frame) return; @@ -91,7 +90,6 @@ void CSkinnedMesh::animateMesh(f32 frame, f32 blend) for (u32 i=0; iAnimatedposition; @@ -132,7 +130,6 @@ void CSkinnedMesh::animateMesh(f32 frame, f32 blend) buildAll_LocalAnimatedMatrices(); //----------------- } - } @@ -431,17 +428,14 @@ void CSkinnedMesh::getFrameData(f32 frame, SJoint *Joint, //! Preforms a software skin on this mesh based of joint positions void CSkinnedMesh::skinMesh() { - if ( !HasAnimation) return; - //---------------- // Temp! buildAll_GlobalAnimatedMatrices(); //----------------- - if (!HardwareSkinning) { //Software skin.... @@ -466,10 +460,9 @@ void CSkinnedMesh::skinMesh() for (i=0; iWeights.size()) @@ -522,16 +515,6 @@ void CSkinnedMesh::SkinJoint(SJoint *Joint, SJoint *ParentJoint) } - - - - - - - - - - E_ANIMATED_MESH_TYPE CSkinnedMesh::getMeshType() const { return EAMT_SKINNED; @@ -940,7 +923,6 @@ void CSkinnedMesh::finalize() if (HasAnimation) { - //--- optimize and check keyframes --- for(i=0;iTransformation=AllJoints[i]->GlobalAnimatedMatrix; } } - - - }