From 6279335669b53131cac5c08e70b7438da8feb1c3 Mon Sep 17 00:00:00 2001 From: Samual Lenks Date: Wed, 26 Feb 2014 17:50:30 -0500 Subject: [PATCH] Only interpolate when not local beam --- qcsrc/client/particles.qc | 23 ++++++++++++++++------- 1 file changed, 16 insertions(+), 7 deletions(-) diff --git a/qcsrc/client/particles.qc b/qcsrc/client/particles.qc index 3a52f85e2..695ed5c3c 100644 --- a/qcsrc/client/particles.qc +++ b/qcsrc/client/particles.qc @@ -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( -- 2.39.2