]> de.git.xonotic.org Git - xonotic/xonotic-data.pk3dir.git/commitdiff
Only interpolate when not local beam
authorSamual Lenks <samual@xonotic.org>
Wed, 26 Feb 2014 22:50:30 +0000 (17:50 -0500)
committerSamual Lenks <samual@xonotic.org>
Wed, 26 Feb 2014 22:50:30 +0000 (17:50 -0500)
qcsrc/client/particles.qc

index 3a52f85e26f01bce8e3813fa5786d6b22572145c..695ed5c3cb7d9f0755afbbcb8639665eb88d9e56 100644 (file)
@@ -469,7 +469,10 @@ void Draw_ArcBeam_callback(vector start, vector hit, vector end)
 
 void Draw_ArcBeam()
 {
-       InterpolateOrigin_Do();
+       if(!self.beam_usevieworigin)
+       {
+               InterpolateOrigin_Do();
+       }
 
        // origin = beam starting origin
        // v_angle = wanted/aim direction
@@ -739,11 +742,6 @@ void Ent_ReadArcBeam(float isnew)
        float sf = ReadByte();
        entity flash;
 
-       // self.iflags = IFLAG_ORIGIN | IFLAG_ANGLES | IFLAG_V_ANGLE; // why doesn't this work?
-       self.iflags = IFLAG_ORIGIN;
-
-       InterpolateOrigin_Undo();
-
        if(isnew)
        {
                // calculate shot origin offset from gun alignment
@@ -794,6 +792,14 @@ void Ent_ReadArcBeam(float isnew)
                }
        }
 
+       if(!self.beam_usevieworigin)
+       {
+               // self.iflags = IFLAG_ORIGIN | IFLAG_ANGLES | IFLAG_V_ANGLE; // why doesn't this work?
+               self.iflags = IFLAG_ORIGIN;
+
+               InterpolateOrigin_Undo();
+       }
+
        if(sf & 2) // starting location
        {
                self.origin_x = ReadCoord();
@@ -1047,7 +1053,10 @@ void Ent_ReadArcBeam(float isnew)
                }
        }
 
-       InterpolateOrigin_Note();
+       if(!self.beam_usevieworigin)
+       {
+               InterpolateOrigin_Note();
+       }
 
        #if 0
        printf(