]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/client/csqcmodel_hooks.qc
Merge remote-tracking branch 'origin/divVerent/csad' into divVerent/csad
[xonotic/xonotic-data.pk3dir.git] / qcsrc / client / csqcmodel_hooks.qc
index e181a29fd9a2330682cec8cddbbea8ad74d524a1..7a642e3bde8f3064b36cb3bb5a574187a2a40fd5 100644 (file)
@@ -588,7 +588,7 @@ void CSQCModel_Hook_PreDraw(float isplayer)
                else
                {
                        // we know that frame3 and frame4 fields, used by InterpolateAnimation, are left alone - but that is all we know!
-                       float doblend = FALSE;
+                       float doblend = autocvar__animblend;
                        float onground = 0;
                        if(self == csqcplayer)
                        {
@@ -609,6 +609,7 @@ void CSQCModel_Hook_PreDraw(float isplayer)
                        animdecide_init(self); // FIXME only do this on model change
                        animdecide_setimplicitstate(self, onground);
                        animdecide_setframes(self, doblend, anim_frame, anim_frame1time, anim_frame2, anim_frame2time);
+                       print(sprintf("frames: %d %d\n", self.anim_frame, self.anim_frame2));
                        float sf = 0;
                        if(self.anim_saveframe != self.anim_frame || self.anim_saveframe1time != self.anim_frame1time)
                                sf |= CSQCMODEL_PROPERTY_FRAME;
@@ -631,12 +632,14 @@ void CSQCModel_Hook_PreDraw(float isplayer)
                        CSQCModel_InterpolateAnimation_2To4_Do();
                        if(doblend)
                        {
-                               // build a skeletonobject
+                               skeleton_from_frames(self);
                        }
                        else
                        {
-                               // remove skeletonobject if any
-                               // all is done
+                               free_skeleton_from_frames(self);
+                               // just in case, clear these
+                               self.lerpfrac3 = 0;
+                               self.lerpfrac4 = 0;
                        }
                }
        }