mirror of
https://git.do.srb2.org/KartKrew/Kart-Public.git
synced 2025-01-31 05:20:51 +00:00
Battle card animations
Was hoping not to waste another variable on this, but oh well
This commit is contained in:
parent
9b7893995f
commit
addfde0f09
3 changed files with 34 additions and 12 deletions
|
@ -246,6 +246,7 @@ typedef enum
|
||||||
k_throwdir, // Held dir of controls; 1 = forward, 0 = none, -1 = backward (was "player->heldDir")
|
k_throwdir, // Held dir of controls; 1 = forward, 0 = none, -1 = backward (was "player->heldDir")
|
||||||
k_camspin, // Used to 180 the camera while a button is held
|
k_camspin, // Used to 180 the camera while a button is held
|
||||||
k_lapanimation, // Used to make a swoopy lap lakitu, maybe other effects in the future
|
k_lapanimation, // Used to make a swoopy lap lakitu, maybe other effects in the future
|
||||||
|
k_cardanimation, // Used to determine the position of some full-screen Battle Mode graphics
|
||||||
k_sounds, // Used this to stop and then force music restores as it hits zero
|
k_sounds, // Used this to stop and then force music restores as it hits zero
|
||||||
|
|
||||||
k_boosting, // Determines if you're currently shroom-boosting
|
k_boosting, // Determines if you're currently shroom-boosting
|
||||||
|
|
42
src/k_kart.c
42
src/k_kart.c
|
@ -1510,6 +1510,24 @@ void K_KartPlayerThink(player_t *player, ticcmd_t *cmd)
|
||||||
if (player->kartstuff[k_lapanimation])
|
if (player->kartstuff[k_lapanimation])
|
||||||
player->kartstuff[k_lapanimation]--;
|
player->kartstuff[k_lapanimation]--;
|
||||||
|
|
||||||
|
if (gametype != GT_RACE)
|
||||||
|
{
|
||||||
|
INT32 timer = player->kartstuff[k_comebacktimer];
|
||||||
|
|
||||||
|
if (player->exiting > 0)
|
||||||
|
timer = player->exiting;
|
||||||
|
|
||||||
|
if (timer > 7*TICRATE && timer < 9*TICRATE)
|
||||||
|
player->kartstuff[k_cardanimation] += ((164-player->kartstuff[k_cardanimation])/8)+1;
|
||||||
|
else if (timer < 5*TICRATE)
|
||||||
|
player->kartstuff[k_cardanimation] -= ((164-player->kartstuff[k_cardanimation])/8)+1;
|
||||||
|
|
||||||
|
if (player->kartstuff[k_cardanimation] > 164)
|
||||||
|
player->kartstuff[k_cardanimation] = 164;
|
||||||
|
if (player->kartstuff[k_cardanimation] < 0)
|
||||||
|
player->kartstuff[k_cardanimation] = 0;
|
||||||
|
}
|
||||||
|
|
||||||
if (player->kartstuff[k_sounds])
|
if (player->kartstuff[k_sounds])
|
||||||
player->kartstuff[k_sounds]--;
|
player->kartstuff[k_sounds]--;
|
||||||
|
|
||||||
|
@ -4731,7 +4749,9 @@ static void K_drawKartPlayerCheck(void)
|
||||||
|
|
||||||
static void K_drawBattleFullscreen(void)
|
static void K_drawBattleFullscreen(void)
|
||||||
{
|
{
|
||||||
if (!WipeInAction && !menuactive && !splitscreen)
|
INT32 y = -64+(stplyr->kartstuff[k_cardanimation]); // card animation goes from 0 to 164, 164 is the middle of the screen
|
||||||
|
|
||||||
|
if (!splitscreen)
|
||||||
V_DrawFadeScreen();
|
V_DrawFadeScreen();
|
||||||
|
|
||||||
if (stplyr->exiting)
|
if (stplyr->exiting)
|
||||||
|
@ -4739,40 +4759,40 @@ static void K_drawBattleFullscreen(void)
|
||||||
if (splitscreen)
|
if (splitscreen)
|
||||||
{
|
{
|
||||||
if (stplyr->kartstuff[k_balloon])
|
if (stplyr->kartstuff[k_balloon])
|
||||||
V_DrawScaledPatch(96, STRINGY(100), 0, kp_battlewin);
|
V_DrawScaledPatch(96, y, 0, kp_battlewin);
|
||||||
else
|
else
|
||||||
V_DrawScaledPatch(BASEVIDWIDTH-96, STRINGY(100), 0, kp_battlelose);
|
V_DrawScaledPatch(BASEVIDWIDTH-96, y, 0, kp_battlelose);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (stplyr->kartstuff[k_balloon])
|
if (stplyr->kartstuff[k_balloon])
|
||||||
V_DrawScaledPatch(BASEVIDWIDTH/2, STRINGY(100), 0, kp_battlewin);
|
V_DrawScaledPatch(BASEVIDWIDTH/2, y, 0, kp_battlewin);
|
||||||
else
|
else
|
||||||
V_DrawScaledPatch(BASEVIDWIDTH/2, STRINGY(100), 0, kp_battlelose);
|
V_DrawScaledPatch(BASEVIDWIDTH/2, y, 0, kp_battlelose);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if (stplyr->kartstuff[k_balloon] <= 0 && stplyr->kartstuff[k_comebacktimer] && cv_kartcomeback.value)
|
else if (stplyr->kartstuff[k_balloon] <= 0 && stplyr->kartstuff[k_comebacktimer] && cv_kartcomeback.value)
|
||||||
{
|
{
|
||||||
INT32 t = stplyr->kartstuff[k_comebacktimer]/TICRATE;
|
INT32 t = stplyr->kartstuff[k_comebacktimer]/TICRATE;
|
||||||
INT32 X = BASEVIDWIDTH/2;
|
INT32 x = BASEVIDWIDTH/2;
|
||||||
|
|
||||||
while (t)
|
while (t)
|
||||||
{
|
{
|
||||||
X -= 8;
|
x -= 8;
|
||||||
t /= 10;
|
t /= 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!stplyr->kartstuff[k_comebackshowninfo])
|
if (!stplyr->kartstuff[k_comebackshowninfo])
|
||||||
{
|
{
|
||||||
V_DrawScaledPatch(BASEVIDWIDTH/2, STRINGY(BASEVIDHEIGHT/2), 0, kp_battleinfo);
|
V_DrawScaledPatch(BASEVIDWIDTH/2, y, 0, kp_battleinfo);
|
||||||
V_DrawScaledPatch(BASEVIDWIDTH/2, STRINGY((BASEVIDHEIGHT/2) + 66), 0, kp_timeoutsticker);
|
V_DrawScaledPatch(BASEVIDWIDTH/2, STRINGY((BASEVIDHEIGHT/2) + 66), 0, kp_timeoutsticker);
|
||||||
V_DrawKartString(X, STRINGY((BASEVIDHEIGHT/2) + 66), 0, va("%d", stplyr->kartstuff[k_comebacktimer]/TICRATE));
|
V_DrawKartString(x, STRINGY((BASEVIDHEIGHT/2) + 66), 0, va("%d", stplyr->kartstuff[k_comebacktimer]/TICRATE));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
V_DrawScaledPatch(BASEVIDWIDTH/2, STRINGY(BASEVIDHEIGHT/2), 0, kp_battlewait);
|
V_DrawScaledPatch(BASEVIDWIDTH/2, y, 0, kp_battlewait);
|
||||||
V_DrawScaledPatch(BASEVIDWIDTH/2, STRINGY((BASEVIDHEIGHT/2) + 30), 0, kp_timeoutsticker);
|
V_DrawScaledPatch(BASEVIDWIDTH/2, STRINGY((BASEVIDHEIGHT/2) + 30), 0, kp_timeoutsticker);
|
||||||
V_DrawKartString(X, STRINGY((BASEVIDHEIGHT/2) + 30), 0, va("%d", stplyr->kartstuff[k_comebacktimer]/TICRATE));
|
V_DrawKartString(x, STRINGY((BASEVIDHEIGHT/2) + 30), 0, va("%d", stplyr->kartstuff[k_comebacktimer]/TICRATE));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1681,7 +1681,7 @@ void P_DoPlayerExit(player_t *player)
|
||||||
player->exiting = (14*TICRATE)/5 + 1;
|
player->exiting = (14*TICRATE)/5 + 1;
|
||||||
}
|
}
|
||||||
else if (gametype != GT_RACE)
|
else if (gametype != GT_RACE)
|
||||||
player->exiting = 10*TICRATE + 2; // Accidental death safeguard???
|
player->exiting = 10*TICRATE + 1; // Battle Mode exiting
|
||||||
else
|
else
|
||||||
player->exiting = (14*TICRATE)/5 + 2; // Accidental death safeguard???
|
player->exiting = (14*TICRATE)/5 + 2; // Accidental death safeguard???
|
||||||
|
|
||||||
|
@ -1696,6 +1696,7 @@ void P_DoPlayerExit(player_t *player)
|
||||||
*/
|
*/
|
||||||
player->powers[pw_underwater] = 0;
|
player->powers[pw_underwater] = 0;
|
||||||
player->powers[pw_spacetime] = 0;
|
player->powers[pw_spacetime] = 0;
|
||||||
|
player->kartstuff[k_cardanimation] = 0; // srb2kart: reset battle animation
|
||||||
P_RestoreMusic(player);
|
P_RestoreMusic(player);
|
||||||
|
|
||||||
/*if (playeringame[player-players] && netgame && !circuitmap)
|
/*if (playeringame[player-players] && netgame && !circuitmap)
|
||||||
|
|
Loading…
Reference in a new issue