X-Git-Url: http://de.git.xonotic.org/?a=blobdiff_plain;f=qcsrc%2Fclient%2Finterpolate.qc;h=f96d3d7f96887ad3246e989bb8de25e18868dca8;hb=fe8c7510919a64ff76afde8eb94bbb29bf293c3b;hp=5ee28b0fd22f8d9fa803f6db9d791166fbaf91c6;hpb=fb839150d0cd4c4937d183b723b6cc1ed250c66a;p=xonotic%2Fxonotic-data.pk3dir.git 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; }