]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
fix bugs; now blending WORKS! (set _animblend 1)
authorRudolf Polzer <divverent@xonotic.org>
Tue, 4 Dec 2012 16:42:47 +0000 (17:42 +0100)
committerRudolf Polzer <divverent@xonotic.org>
Tue, 4 Dec 2012 16:42:47 +0000 (17:42 +0100)
qcsrc/client/csqcmodel_hooks.qc
qcsrc/client/player_skeleton.qc
qcsrc/common/animdecide.qc

index 7a642e3bde8f3064b36cb3bb5a574187a2a40fd5..933cc237131fea711caee04edbc9cddf2d493630 100644 (file)
@@ -609,7 +609,6 @@ 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;
index 42efe9bee4411a0425ed78b683ee21f5f225e1f9..48fb8a34b7769a6cbfe0a503e41fafe408c8d4e5 100644 (file)
@@ -67,16 +67,16 @@ void skeleton_from_frames(entity e)
                float bonetype = e.skeleton_bonetype[bone];
                for(++bone; (bone < n) && (e.skeleton_bonetype[bone] == bonetype); ++bone)
                        ;
-               if(bonetype == BONETYPE_LOWER && 1)
+               if(bonetype == BONETYPE_UPPER)
                {
-                       // only show frames 1+3
+                       // only show frames 1+3 (upper body)
                        e.lerpfrac = 0;
                        e.lerpfrac3 = savelerpfrac3 * 2;
                        e.lerpfrac4 = 0;
                }
                else
                {
-                       // only show frames 2+4
+                       // only show frames 2+4 (lower body)
                        e.lerpfrac = savelerpfrac * 2;
                        e.lerpfrac3 = 0;
                        e.lerpfrac4 = savelerpfrac4 * 2;
index bb2429bb38e6bfd2e6cdf177723d08c3ff76653f..17f8b57ac0a0a5fd2cef602a17193dacdef8e309 100644 (file)
@@ -66,8 +66,8 @@ void animdecide_init(entity e)
        e.anim_duckwalkbackleft  = animfixfps(e, '30 1 1', '4 1 1');
 
        // these anims ought to stay until stopped explicitly by weaponsystem
-       e.aim_shoot_z = 0.001;
-       e.aim_melee_z = 0.001;
+       e.anim_shoot_z = 0.001;
+       e.anim_melee_z = 0.001;
 }
 
 #define ANIMPRIO_IDLE 0