X-Git-Url: https://de.git.xonotic.org/?p=xonotic%2Fxonotic-data.pk3dir.git;a=blobdiff_plain;f=qcsrc%2Fclient%2Finterpolate.qc;fp=qcsrc%2Fclient%2Finterpolate.qc;h=f96d3d7f96887ad3246e989bb8de25e18868dca8;hp=5ee28b0fd22f8d9fa803f6db9d791166fbaf91c6;hb=79f55bef0bc029dc324680292ccbd21f3ab67fbc;hpb=a090db7b58f8721e8344516bd896db69050a48d0 diff --git a/qcsrc/client/interpolate.qc b/qcsrc/client/interpolate.qc index 5ee28b0fd..f96d3d7f9 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; }