From: Jakob MG Date: Tue, 14 Jun 2011 13:39:29 +0000 (+0200) Subject: Animation support X-Git-Tag: xonotic-v0.5.0~199^2^2~21 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=7a5dacc1a09a612e8f8c2dfd80bd96c61dcb11f3;p=xonotic%2Fxonotic-data.pk3dir.git Animation support --- diff --git a/qcsrc/client/tturrets.qc b/qcsrc/client/tturrets.qc index ffbae2a56..88d5c13d0 100644 --- a/qcsrc/client/tturrets.qc +++ b/qcsrc/client/tturrets.qc @@ -350,12 +350,6 @@ void ent_turret() self.tur_head.move_avelocity_y = ReadShort(); } - if(sf & TNSF_AVEL) - { - //WriteShort(MSG_ENTITY, rint(self.tur_head.avelocity_x)); - //WriteShort(MSG_ENTITY, rint(self.tur_head.avelocity_y)); - } - if(sf & TNSF_MOVE) { self.origin_x = ReadShort(); @@ -373,7 +367,13 @@ void ent_turret() self.move_velocity = self.velocity; self.move_origin = self.origin; } - + + if(sf & TNSF_ANIM) + { + self.frame1time = ReadCoord(); + self.frame = ReadByte(); + } + if(sf & TNSF_STATUS) { diff --git a/qcsrc/server/tturrets/include/turrets_early.qh b/qcsrc/server/tturrets/include/turrets_early.qh index eeccd73d2..3fd62cff3 100644 --- a/qcsrc/server/tturrets/include/turrets_early.qh +++ b/qcsrc/server/tturrets/include/turrets_early.qh @@ -475,6 +475,7 @@ float TNSF_SETUP = 8; float TNSF_ANG = 16; float TNSF_AVEL = 32; float TNSF_MOVE = 64; +.float anim_start_time; float TNSF_ANIM = 128; float TNSF_FULL_UPDATE = 16777215; diff --git a/qcsrc/server/tturrets/system/system_main.qc b/qcsrc/server/tturrets/system/system_main.qc index 8d4867fdf..12bb12f38 100644 --- a/qcsrc/server/tturrets/system/system_main.qc +++ b/qcsrc/server/tturrets/system/system_main.qc @@ -44,7 +44,8 @@ float turret_send(entity to, float sf) if(sf & TNSF_ANIM) { - + WriteCoord(MSG_ENTITY, self.anim_start_time); + WriteByte(MSG_ENTITY, self.frame); } if(sf & TNSF_STATUS) diff --git a/qcsrc/server/tturrets/units/unit_walker.qc b/qcsrc/server/tturrets/units/unit_walker.qc index ea61cf987..740761e3e 100644 --- a/qcsrc/server/tturrets/units/unit_walker.qc +++ b/qcsrc/server/tturrets/units/unit_walker.qc @@ -107,11 +107,17 @@ void walker_animate() vz = self.velocity_z; if (self.tur_head.frame != 0) - self.tur_head.frame = self.tur_head.frame +1; + self.tur_head.frame = self.tur_head.frame + 1; if (self.tur_head.frame > 12) self.tur_head.frame = 0; + if(self.frame != self.animflag) + { + self.SendFlags |= TNSF_ANIM; + self.anim_start_time = time; + } + switch (self.animflag) {