Fixed a thing where super float started on the float frame normally and then immediately went to the float run frame a tic later.

This commit is contained in:
toasterbabe 2017-03-11 18:15:44 +00:00
parent 5b77ca5fed
commit b9ddc0226e
1 changed files with 7 additions and 2 deletions

View File

@ -7110,8 +7110,13 @@ static void P_MovePlayer(player_t *player)
&& (player->speed > 5*player->mo->scale) // FixedMul(5<<FRACBITS, player->mo->scale), but scale is FRACUNIT-based
&& (P_MobjFlip(player->mo)*player->mo->momz <= 0))
{
if (player->panim != PA_RUN && player->mo->state-states != S_PLAY_FLOAT)
P_SetPlayerMobjState(player->mo, S_PLAY_FLOAT);
if (player->panim != PA_RUN && player->panim != PA_WALK)
{
if (player->speed >= FixedMul(player->runspeed, player->mo->scale))
P_SetPlayerMobjState(player->mo, S_PLAY_FLOAT_RUN);
else
P_SetPlayerMobjState(player->mo, S_PLAY_FLOAT);
}
player->mo->momz = 0;
player->pflags &= ~PF_SPINNING;