|
@@ -2277,7 +2277,6 @@ void UpdateModelAnimationBones(Model model, ModelAnimation anim, int frame)
|
|
|
{
|
|
|
if (model.meshes[i].boneMatrices)
|
|
|
{
|
|
|
- assert(model.meshes[i].boneCount == anim.boneCount);
|
|
|
if (firstMeshWithBones == -1)
|
|
|
{
|
|
|
firstMeshWithBones = i;
|
|
@@ -2286,7 +2285,6 @@ void UpdateModelAnimationBones(Model model, ModelAnimation anim, int frame)
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-
|
|
|
// Update all bones and boneMatrices of first mesh with bones.
|
|
|
for (int boneId = 0; boneId < anim.boneCount; boneId++)
|
|
|
{
|
|
@@ -2351,7 +2349,8 @@ void UpdateModelAnimation(Model model, ModelAnimation anim, int frame)
|
|
|
bool updated = false; // Flag to check when anim vertex information is updated
|
|
|
const int vValues = mesh.vertexCount*3;
|
|
|
|
|
|
- if ((mesh.boneWeights==NULL) || (mesh.boneIds==NULL)) continue; // skip if missing bone data, causes segfault without on some models
|
|
|
+ // Skip if missing bone data, causes segfault without on some models
|
|
|
+ if ((mesh.boneWeights == NULL) || (mesh.boneIds == NULL)) continue;
|
|
|
|
|
|
for (int vCounter = 0; vCounter < vValues; vCounter += 3)
|
|
|
{
|
|
@@ -2364,7 +2363,8 @@ void UpdateModelAnimation(Model model, ModelAnimation anim, int frame)
|
|
|
mesh.animNormals[vCounter + 1] = 0;
|
|
|
mesh.animNormals[vCounter + 2] = 0;
|
|
|
}
|
|
|
- // Iterates over 4 bones per vertex
|
|
|
+
|
|
|
+ // Iterates over 4 bones per vertex
|
|
|
for (int j = 0; j < 4; j++, boneCounter++)
|
|
|
{
|
|
|
boneWeight = mesh.boneWeights[boneCounter];
|
|
@@ -2395,8 +2395,7 @@ void UpdateModelAnimation(Model model, ModelAnimation anim, int frame)
|
|
|
if (updated)
|
|
|
{
|
|
|
rlUpdateVertexBuffer(mesh.vboId[0], mesh.animVertices, mesh.vertexCount*3*sizeof(float), 0); // Update vertex position
|
|
|
- if (mesh.normals != NULL)
|
|
|
- rlUpdateVertexBuffer(mesh.vboId[2], mesh.animNormals, mesh.vertexCount*3*sizeof(float), 0); // Update vertex normals
|
|
|
+ if (mesh.normals != NULL) rlUpdateVertexBuffer(mesh.vboId[2], mesh.animNormals, mesh.vertexCount*3*sizeof(float), 0); // Update vertex normals
|
|
|
}
|
|
|
}
|
|
|
}
|