]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/blobdiff - qcsrc/csqcmodellib/cl_model.qc
fix some bugs
[xonotic/xonotic-data.pk3dir.git] / qcsrc / csqcmodellib / cl_model.qc
index f5a105f12e09fc4c216b5152f703a6f4baff841b..1dbb2b68f75d59aed9acca2665191840379bd606 100644 (file)
@@ -133,7 +133,6 @@ void CSQCModel_InterpolateAnimation_2To4_Do()
                self.lerpfrac  = l24 * l24_13;
                self.lerpfrac4 = (1 - l24) * l24_13;
                self.lerpfrac3 = (1 - l13) * (1 - l24_13);
-               print(sprintf("Xframe=%d frame2=%d frame3=%d frame4=%d lerp=%f lerp3=%f lerp4=%f\n", self.frame, self.frame2, self.frame3, self.frame4, self.lerpfrac, self.lerpfrac3, self.lerpfrac4));
 
                if(l24_13 == 0) // if frames 2/4 are not displayed, clear their frametime
                {
@@ -183,7 +182,6 @@ void CSQCModel_Draw()
        if(!CSQCPlayer_IsLocalPlayer())
                InterpolateOrigin_Do();
 
-       // TODO csqcplayers: run prediction here too
        CSQCModel_InterpolateAnimation_Do();
 
        { CSQCMODEL_HOOK_PREDRAW }
@@ -194,7 +192,7 @@ void CSQCModel_Draw()
                root = root.tag_entity;
        if(self != root)
        {
-               self.renderflags &~= RF_EXTERNALMODEL | RF_VIEWMODEL;
+               self.renderflags &= ~(RF_EXTERNALMODEL | RF_VIEWMODEL);
                self.renderflags |= (root.renderflags & (RF_EXTERNALMODEL | RF_VIEWMODEL));
        }
 
@@ -213,6 +211,7 @@ void CSQCModel_Read(float isnew)
        local noref float isnolocalplayer = (isplayer && (self.entnum != player_localnum + 1));
 
        self.classname = "csqcmodel";
+       self.iflags |= IFLAG_ORIGIN; // interpolate origin too
        self.iflags |= IFLAG_ANGLES; // interpolate angles too
        self.iflags |= IFLAG_VELOCITY | IFLAG_AUTOVELOCITY; // let's calculate velocity automatically
 
@@ -245,7 +244,7 @@ void CSQCModel_Read(float isnew)
                self.iflags |= IFLAG_TELEPORTED;
                self.csqcmodel_teleported = 1;
        }
-       
+
        CSQCModel_InterpolateAnimation_Note(sf);
        InterpolateOrigin_Note();
        CSQCPlayer_PostUpdate();
@@ -268,7 +267,7 @@ void CSQCModel_Read(float isnew)
 #endif
                self.renderflags |= RF_EXTERNALMODEL;
        else
-               self.renderflags &~= RF_EXTERNALMODEL;
+               self.renderflags &= ~RF_EXTERNALMODEL;
 
        // draw it
        self.drawmask = MASK_NORMAL;