From: FruitieX Date: Fri, 27 May 2011 13:53:47 +0000 (+0300) Subject: fix fly animation to not restart to idle anim right away X-Git-Tag: xonotic-v0.6.0~40^2~76^2~13 X-Git-Url: https://git.rm.cloudns.org/?a=commitdiff_plain;h=ce248726e8f6a45c4bad2f8d04a13829469d26c2;p=xonotic%2Fxonotic-data.pk3dir.git fix fly animation to not restart to idle anim right away --- diff --git a/qcsrc/server/cl_player.qc b/qcsrc/server/cl_player.qc index 630222f7b..944c67ad7 100644 --- a/qcsrc/server/cl_player.qc +++ b/qcsrc/server/cl_player.qc @@ -259,30 +259,30 @@ void player_anim (void) if (!self.animstate_override) { - if((self.animstate_startframe == self.anim_jump_x && time - self.animstate_starttime >= self.anim_jump_y/self.anim_jump_z) || (self.animstate_startframe == self.anim_duckjump_x && time - self.animstate_starttime >= self.anim_duckjump_y/self.anim_duckjump_z)) + if (!(self.flags & FL_ONGROUND)) { - print("self.anim_fly_x = ", ftos(self.anim_fly_x), "self.anim_fly_y = ", ftos(self.anim_fly_y), "self.anim_fly_z = ", ftos(self.anim_fly_z), "\n"); - setanim(self, self.anim_fly, FALSE, TRUE, TRUE); - } + if((self.animstate_startframe == self.anim_jump_x && time - self.animstate_starttime >= 21/25) || (self.animstate_startframe == self.anim_duckjump_x && time - self.animstate_starttime >= 21/25)) + setanim(self, self.anim_fly, TRUE, FALSE, FALSE); - if (!(self.flags & FL_ONGROUND) && self.animstate_startframe != self.anim_fly_x) // don't trace if we are playing fly animation - { - if (self.crouch && self.animstate_startframe != 5) // don't perform another trace if already playing the crouch jump anim + if(self.animstate_startframe != self.anim_fly_x) // no tracing if we're in the fly anim { - traceline(self.origin + '0 0 1' * PL_CROUCH_MIN_z, self.origin + '0 0 1' * (PL_CROUCH_MIN_z - autocvar_sv_player_jumpanim_minfall), TRUE, self); - if(!trace_startsolid && trace_fraction == 1 || self.animstate_startframe == 7) // don't get stuck on idle animation in midair + if (self.crouch && self.animstate_startframe != 5) // don't perform another trace if already playing the crouch jump anim { - setanim(self, self.anim_duckjump, FALSE, TRUE, self.restart_jump); - self.restart_jump = FALSE; + traceline(self.origin + '0 0 1' * PL_CROUCH_MIN_z, self.origin + '0 0 1' * (PL_CROUCH_MIN_z - autocvar_sv_player_jumpanim_minfall), TRUE, self); + if(!trace_startsolid && trace_fraction == 1 || self.animstate_startframe == 7) // don't get stuck on idle animation in midair + { + setanim(self, self.anim_duckjump, FALSE, TRUE, self.restart_jump); + self.restart_jump = FALSE; + } } - } - else if (self.animstate_startframe != 8) // don't perform another trace if already playing the jump anim - { - traceline(self.origin + '0 0 1' * PL_MIN_z, self.origin + '0 0 1' * (PL_MIN_z - autocvar_sv_player_jumpanim_minfall), TRUE, self); - if(!trace_startsolid && trace_fraction == 1 || self.animstate_startframe == 7) // don't get stuck on idle animation in midair + else if (self.animstate_startframe != 8) // don't perform another trace if already playing the jump anim { - setanim(self, self.anim_jump, FALSE, TRUE, self.restart_jump); - self.restart_jump = FALSE; + traceline(self.origin + '0 0 1' * PL_MIN_z, self.origin + '0 0 1' * (PL_MIN_z - autocvar_sv_player_jumpanim_minfall), TRUE, self); + if(!trace_startsolid && trace_fraction == 1 || self.animstate_startframe == 7) // don't get stuck on idle animation in midair + { + setanim(self, self.anim_jump, FALSE, TRUE, self.restart_jump); + self.restart_jump = FALSE; + } } } } @@ -316,6 +316,7 @@ void player_anim (void) } else setanim(self, self.anim_idle, TRUE, FALSE, FALSE); + print("self.animstate_startframe = ", ftos(self.animstate_startframe), "\n"); } if (self.weaponentity)