X-Git-Url: https://de.git.xonotic.org/?a=blobdiff_plain;f=cl_input.c;h=51a5f8dd701630509a2c7f4f2e95edbc9b2a8b99;hb=18ae732fe58ff6cfa23d9425019493688dde6205;hp=af5289f58690c2ae48adebf1a4dba695966224b4;hpb=9b4c3eb871aad7d21f56ecad69bb55282ac58629;p=xonotic%2Fdarkplaces.git diff --git a/cl_input.c b/cl_input.c index af5289f5..51a5f8dd 100644 --- a/cl_input.c +++ b/cl_input.c @@ -1440,7 +1440,7 @@ static void CL_ClientMovement_Physics_Walk(cl_clientmovement_state_t *s) } } -void CL_ClientMovement_PlayerMove(cl_clientmovement_state_t *s) +static void CL_ClientMovement_PlayerMove(cl_clientmovement_state_t *s) { //Con_Printf(" %f", frametime); if (!s->cmd.jump) @@ -1545,6 +1545,27 @@ void CL_UpdateMoveVars(void) cl.movevars_aircontrol_power = 2; // CPMA default } +void CL_ClientMovement_PlayerMove_Frame(cl_clientmovement_state_t *s) +{ + // if a move is more than 50ms, do it as two moves (matching qwsv) + //Con_Printf("%i ", s.cmd.msec); + if(s->cmd.frametime > 0.0005) + { + if (s->cmd.frametime > 0.05) + { + s->cmd.frametime /= 2; + CL_ClientMovement_PlayerMove(s); + } + CL_ClientMovement_PlayerMove(s); + } + else + { + // we REALLY need this handling to happen, even if the move is not executed + if (!s->cmd.jump) + s->cmd.canjump = true; + } +} + void CL_ClientMovement_Replay(void) { int i; @@ -1590,23 +1611,8 @@ void CL_ClientMovement_Replay(void) if (i < CL_MAX_USERCMDS - 1) s.cmd.canjump = cl.movecmd[i+1].canjump; - // if a move is more than 50ms, do it as two moves (matching qwsv) - //Con_Printf("%i ", s.cmd.msec); - if(s.cmd.frametime > 0.0005) - { - if (s.cmd.frametime > 0.05) - { - s.cmd.frametime /= 2; - CL_ClientMovement_PlayerMove(&s); - } - CL_ClientMovement_PlayerMove(&s); - } - else - { - // we REALLY need this handling to happen, even if the move is not executed - if (!s.cmd.jump) - s.cmd.canjump = true; - } + CL_ClientMovement_PlayerMove_Frame(&s); + cl.movecmd[i].canjump = s.cmd.canjump; } //Con_Printf("\n");