From: Rudolf Polzer Date: Sun, 13 Jun 2010 17:59:39 +0000 (+0200) Subject: the trivial movetypes do not have to match the server's ticrate as they are ticrate... X-Git-Tag: xonotic-v0.1.0preview~546^2~2 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=9c0651eb102ec822c44646317caa80c6a55aad0f;p=xonotic%2Fxonotic-data.pk3dir.git the trivial movetypes do not have to match the server's ticrate as they are ticrate independent, saving some CPU cycles on csqc NOTE: this assumption is only true if MOVETYPE_FLY projectiles detonate on impact. If they continue moving, we might still be ticrate dependent. --- diff --git a/qcsrc/client/projectile.qc b/qcsrc/client/projectile.qc index b67cc76aa..e1f325a67 100644 --- a/qcsrc/client/projectile.qc +++ b/qcsrc/client/projectile.qc @@ -69,7 +69,15 @@ void Projectile_Draw() if(self.count & 0x80) { //self.move_flags &~= FL_ONGROUND; - Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy); + if(self.move_movetype == MOVETYPE_NONE || self.move_movetype == MOVETYPE_FLY) + Movetype_Physics_NoMatchServer(); + // the trivial movetypes do not have to match the + // server's ticrate as they are ticrate independent + // NOTE: this assumption is only true if MOVETYPE_FLY + // projectiles detonate on impact. If they continue + // moving, we might still be ticrate dependent. + else + Movetype_Physics_MatchServer(autocvar_cl_projectiles_sloppy); if(!(self.move_flags & FL_ONGROUND)) self.angles = vectoangles(self.velocity); }