From: Rudolf Polzer Date: Sat, 12 Nov 2011 19:41:58 +0000 (+0100) Subject: for now, also send velocity X-Git-Tag: xonotic-v0.6.0~74^2~100^2~98 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=5c51a5018317be746dc08eb0ff72cfe935d82a18;p=xonotic%2Fxonotic-data.pk3dir.git for now, also send velocity --- diff --git a/qcsrc/common/csqcmodel.qc b/qcsrc/common/csqcmodel.qc index a178e6c1c..8c3040135 100644 --- a/qcsrc/common/csqcmodel.qc +++ b/qcsrc/common/csqcmodel.qc @@ -19,7 +19,10 @@ PROPERTY_SCALED(128, ReadByte, WriteByte, glowmod_y, 32, 0, 255) \ PROPERTY_SCALED(128, ReadByte, WriteByte, glowmod_z, 32, 0, 255) \ PROPERTY(256, ReadChar, WriteChar, view_ofs_z) \ - PROPERTY(512, ReadShort, WriteShort, colormap) + PROPERTY(512, ReadShort, WriteShort, colormap) \ + PROPERTY(1024, ReadCoord, WriteCoord, velocity_x) \ + PROPERTY(1024, ReadCoord, WriteCoord, velocity_y) \ + PROPERTY(1024, ReadCoord, WriteCoord, velocity_z) #ifdef SVQC @@ -81,7 +84,8 @@ void CSQCModel_LinkEntity() void CSQCModel_Draw() { - InterpolateOrigin_Do(); + if(self.entnum != player_localentnum) + InterpolateOrigin_Do(); } @@ -188,16 +192,24 @@ void CSQCModel_Read() // interpolation if(self.entnum == player_localentnum) { +#if 0 vector o, v; o = self.origin; v = self.velocity; - csqcmodel_me = self; PredictTo(servercommandframe + 1); + float d; + d = (o - self.origin) * normalize(self.velocity); + print("Prediction distance: ", ftos(time), " ", ftos(d), "\n"); player_pmflags = self.pmove_flags; player_org = o; player_vel = v; +#else + player_org = self.origin; + player_vel = self.velocity; +#endif player_sequence = servercommandframe; Unpredict(); + csqcmodel_me = self; } else InterpolateOrigin_Note();