From: Mircea Kitsune Date: Fri, 25 May 2012 20:45:50 +0000 (+0300) Subject: Add sys_frametime dependency for avelocity and properly name a float. Also reduce... X-Git-Tag: xonotic-v0.8.0~295^2~2 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=1d6c06f3081c776572283f17cafc7f2ea3f9f50a;p=xonotic%2Fxonotic-data.pk3dir.git Add sys_frametime dependency for avelocity and properly name a float. Also reduce a duplicated line of code. Still doesn't fix angles not going quite all the way --- diff --git a/qcsrc/server/g_subs.qc b/qcsrc/server/g_subs.qc index d15d24dba..f06f1ec74 100644 --- a/qcsrc/server/g_subs.qc +++ b/qcsrc/server/g_subs.qc @@ -180,7 +180,7 @@ void SUB_CalcMove_controller_think (void) vector delta; vector delta2; vector veloc; - vector adelta; + vector angloc; vector nextpos; delta = self.destvec; delta2 = self.destvec2; @@ -204,17 +204,17 @@ void SUB_CalcMove_controller_think (void) self.owner.angles_x -= 360 * floor((self.owner.angles_x - destangle_x) / 360 + 0.5); self.owner.angles_y -= 360 * floor((self.owner.angles_y - destangle_y) / 360 + 0.5); self.owner.angles_z -= 360 * floor((self.owner.angles_z - destangle_z) / 360 + 0.5); - adelta = destangle - self.owner.angles; + angloc = destangle - self.owner.angles; + angloc = angloc * (1 / sys_frametime); // so it arrives for the next frame } - if(nexttick < self.animstate_endtime) { + if(nexttick < self.animstate_endtime) veloc = nextpos - self.owner.origin; - veloc = veloc * (1 / sys_frametime); // so it arrives for the next frame - } else { + else veloc = self.finaldest - self.owner.origin; - veloc = veloc * (1 / sys_frametime); // so it arrives for the next frame - } + veloc = veloc * (1 / sys_frametime); // so it arrives for the next frame + self.owner.velocity = veloc; - self.owner.avelocity = adelta; + self.owner.avelocity = angloc; self.nextthink = nexttick; } else { // derivative: delta + 2 * delta2 (e.g. for angle positioning)