From 79f55bef0bc029dc324680292ccbd21f3ab67fbc Mon Sep 17 00:00:00 2001 From: Rudolf Polzer Date: Fri, 15 Oct 2010 18:56:42 +0200 Subject: [PATCH] fix handling of angles of the rocket projectile --- qcsrc/client/interpolate.qc | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/qcsrc/client/interpolate.qc b/qcsrc/client/interpolate.qc index 5ee28b0fd2..f96d3d7f96 100644 --- a/qcsrc/client/interpolate.qc +++ b/qcsrc/client/interpolate.qc @@ -6,15 +6,17 @@ .float itime1, itime2; void InterpolateOrigin_Reset() { - self.iflags &~= (IFLAG_PREVALID | IFLAG_VALID); + self.iflags &~= IFLAG_INTERNALMASK; self.itime1 = self.itime2 = 0; } void InterpolateOrigin_Note() { float dt; + float f0; dt = time - self.itime2; + f0 = self.iflags; if(self.iflags & IFLAG_PREVALID) self.iflags |= IFLAG_VALID; else @@ -30,8 +32,16 @@ void InterpolateOrigin_Note() if(self.iflags & IFLAG_ANGLES) { fixedmakevectors(self.angles); - self.iforward1 = self.iforward2; - self.iup1 = self.iup2; + if(f0 & IFLAG_VALID) + { + self.iforward1 = self.iforward2; + self.iup1 = self.iup2; + } + else + { + self.iforward1 = v_forward; + self.iup1 = v_up; + } self.iforward2 = v_forward; self.iup2 = v_up; } -- 2.39.2