Port over double-press Grow cancel from internal

This commit is contained in:
TehRealSalt 2019-05-01 23:56:12 -04:00
parent 54af8f5fc0
commit 2d8461a59d

View file

@ -2141,7 +2141,7 @@ static void K_RemoveGrowShrink(player_t *player)
} }
player->kartstuff[k_growshrinktimer] = 0; player->kartstuff[k_growshrinktimer] = 0;
player->kartstuff[k_growcancel] = 0; player->kartstuff[k_growcancel] = -1;
P_RestoreMusic(player); P_RestoreMusic(player);
} }
@ -5310,6 +5310,8 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
} }
// Grow Canceling // Grow Canceling
else if (player->kartstuff[k_growshrinktimer] > 0) else if (player->kartstuff[k_growshrinktimer] > 0)
{
if (player->kartstuff[k_growcancel] >= 0)
{ {
if (cmd->buttons & BT_ATTACK) if (cmd->buttons & BT_ATTACK)
{ {
@ -5320,6 +5322,14 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
else else
player->kartstuff[k_growcancel] = 0; player->kartstuff[k_growcancel] = 0;
} }
else
{
if ((cmd->buttons & BT_ATTACK) || (player->pflags & PF_ATTACKDOWN))
player->kartstuff[k_growcancel] = -1;
else
player->kartstuff[k_growcancel] = 0;
}
}
else if (player->kartstuff[k_itemamount] <= 0) else if (player->kartstuff[k_itemamount] <= 0)
{ {
player->kartstuff[k_itemamount] = player->kartstuff[k_itemheld] = 0; player->kartstuff[k_itemamount] = player->kartstuff[k_itemheld] = 0;
@ -5683,7 +5693,7 @@ void K_MoveKartPlayer(player_t *player, boolean onground)
player->kartstuff[k_curshield] = 0; player->kartstuff[k_curshield] = 0;
if (player->kartstuff[k_growshrinktimer] <= 0) if (player->kartstuff[k_growshrinktimer] <= 0)
player->kartstuff[k_growcancel] = 0; player->kartstuff[k_growcancel] = -1;
if (player->kartstuff[k_itemtype] == KITEM_SPB if (player->kartstuff[k_itemtype] == KITEM_SPB
|| player->kartstuff[k_itemtype] == KITEM_SHRINK || player->kartstuff[k_itemtype] == KITEM_SHRINK
@ -6868,7 +6878,7 @@ static void K_drawKartItem(void)
} }
else if (stplyr->kartstuff[k_growshrinktimer] > 0) else if (stplyr->kartstuff[k_growshrinktimer] > 0)
{ {
if (stplyr->kartstuff[k_growcancel]) if (stplyr->kartstuff[k_growcancel] > 0)
{ {
itembar = stplyr->kartstuff[k_growcancel]; itembar = stplyr->kartstuff[k_growcancel];
maxl = 26; maxl = 26;