]> git.xonotic.org Git - xonotic/darkplaces.git/blobdiff - mod_skeletal_animatevertices_sse.c
use both .items2 and serverflags in items stat, to finally fix the runes
[xonotic/darkplaces.git] / mod_skeletal_animatevertices_sse.c
index d6f71f1a90b40ac04b9d23bd18d9cbeb77380c50..f575d24522db67e7b2d3f604e639905f8d6706c4 100644 (file)
@@ -20,9 +20,6 @@ void Mod_Skeletal_AnimateVertices_SSE(const dp_model_t * RESTRICT model, const f
        const blendweights_t * RESTRICT weights;
        int num_vertices_minus_one;
 
-       if (!model->surfmesh.num_vertices)
-               return;
-
        num_vertices_minus_one = model->surfmesh.num_vertices - 1;
 
        //unsigned long long ts = rdtsc();
@@ -47,7 +44,8 @@ void Mod_Skeletal_AnimateVertices_SSE(const dp_model_t * RESTRICT model, const f
                        // create a relative deformation matrix to describe displacement
                        // from the base mesh, which is used by the actual weighting
                        Matrix4x4_FromArray12FloatD3D(&mm, model->data_baseboneposeinverse + i * 12); // baseboneposeinverse is 4x3 row-major
-                       Matrix4x4_Concat(&boneposerelative[i], &bonepose[i], &mm);
+                       Matrix4x4_Concat(&mm2, &bonepose[i], &mm);
+                       Matrix4x4_Transpose(&boneposerelative[i], &mm2); // TODO: Eliminate this transpose
                }
        }
        else