mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-01-22 14:37:42 +00:00
Add FAULT graphic, remove momentum when faulting
This commit is contained in:
parent
5c1a33f95c
commit
660596970b
3 changed files with 47 additions and 11 deletions
|
|
@ -376,6 +376,9 @@ typedef enum
|
|||
khud_lapanimation, // Used to show the lap start wing logo animation
|
||||
khud_laphand, // Lap hand gfx to use; 0 = none, 1 = :ok_hand:, 2 = :thumbs_up:, 3 = :thumps_down:
|
||||
|
||||
// Start
|
||||
khud_fault, // Set when faulting during the starting countdown
|
||||
|
||||
// Camera
|
||||
khud_boostcam, // Camera push forward on boost
|
||||
khud_destboostcam, // Ditto
|
||||
|
|
|
|||
53
src/k_kart.c
53
src/k_kart.c
|
|
@ -7856,6 +7856,7 @@ static patch_t *kp_splitkarmabomb;
|
|||
static patch_t *kp_timeoutsticker;
|
||||
|
||||
static patch_t *kp_startcountdown[16];
|
||||
static patch_t *kp_racefault[6];
|
||||
static patch_t *kp_racefinish[6];
|
||||
|
||||
static patch_t *kp_positionnum[NUMPOSNUMS][NUMPOSFRAMES];
|
||||
|
|
@ -7990,6 +7991,16 @@ void K_LoadKartHUDGraphics(void)
|
|||
kp_startcountdown[14] = W_CachePatchName("K_SMC1B", PU_HUDGFX);
|
||||
kp_startcountdown[15] = W_CachePatchName("K_SMCGOB", PU_HUDGFX);
|
||||
|
||||
// Fault
|
||||
kp_racefault[0] = W_CachePatchName("K_FAULTA", PU_HUDGFX);
|
||||
kp_racefault[1] = W_CachePatchName("K_FAULTB", PU_HUDGFX);
|
||||
// Splitscreen
|
||||
kp_racefault[2] = W_CachePatchName("K_SMFLTA", PU_HUDGFX);
|
||||
kp_racefault[3] = W_CachePatchName("K_SMFLTB", PU_HUDGFX);
|
||||
// 2P splitscreen
|
||||
kp_racefault[4] = W_CachePatchName("K_2PFLTA", PU_HUDGFX);
|
||||
kp_racefault[5] = W_CachePatchName("K_2PFLTB", PU_HUDGFX);
|
||||
|
||||
// Finish
|
||||
kp_racefinish[0] = W_CachePatchName("K_FINA", PU_HUDGFX);
|
||||
kp_racefinish[1] = W_CachePatchName("K_FINB", PU_HUDGFX);
|
||||
|
|
@ -10551,18 +10562,38 @@ static void K_drawKartStartCountdown(void)
|
|||
{
|
||||
INT32 pnum = 0, splitflags = K_calcSplitFlags(0); // 3
|
||||
|
||||
if (leveltime >= starttime-(2*TICRATE)) // 2
|
||||
pnum++;
|
||||
if (leveltime >= starttime-TICRATE) // 1
|
||||
pnum++;
|
||||
if (leveltime >= starttime) // GO!
|
||||
pnum++;
|
||||
if ((leveltime % (2*5)) / 5) // blink
|
||||
pnum += 4;
|
||||
if (r_splitscreen) // splitscreen
|
||||
pnum += 8;
|
||||
if (stplyr->karthud[khud_fault] != 0)
|
||||
{
|
||||
if (r_splitscreen > 1) // 3/4p, stationary FIN
|
||||
{
|
||||
pnum += 2;
|
||||
}
|
||||
else if (r_splitscreen == 1) // wide splitscreen
|
||||
{
|
||||
pnum += 4;
|
||||
}
|
||||
|
||||
V_DrawScaledPatch(STCD_X - (SHORT(kp_startcountdown[pnum]->width)/2), STCD_Y - (SHORT(kp_startcountdown[pnum]->height)/2), splitflags, kp_startcountdown[pnum]);
|
||||
if ((leveltime % (2*5)) / 5) // blink
|
||||
pnum += 1;
|
||||
|
||||
V_DrawScaledPatch(STCD_X - (SHORT(kp_racefault[pnum]->width)/2), STCD_Y - (SHORT(kp_racefault[pnum]->height)/2), splitflags, kp_racefault[pnum]);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
if (leveltime >= starttime-(2*TICRATE)) // 2
|
||||
pnum++;
|
||||
if (leveltime >= starttime-TICRATE) // 1
|
||||
pnum++;
|
||||
if (leveltime >= starttime) // GO!
|
||||
pnum++;
|
||||
if ((leveltime % (2*5)) / 5) // blink
|
||||
pnum += 4;
|
||||
if (r_splitscreen) // splitscreen
|
||||
pnum += 8;
|
||||
|
||||
V_DrawScaledPatch(STCD_X - (SHORT(kp_startcountdown[pnum]->width)/2), STCD_Y - (SHORT(kp_startcountdown[pnum]->height)/2), splitflags, kp_startcountdown[pnum]);
|
||||
}
|
||||
}
|
||||
|
||||
static void K_drawKartFinish(void)
|
||||
|
|
|
|||
|
|
@ -2191,6 +2191,8 @@ static void K_HandleLapIncrement(player_t *player)
|
|||
player->powers[pw_nocontrol] = (starttime - leveltime) + 50;
|
||||
player->pflags |= PF_SKIDDOWN; // cheeky pflag reuse
|
||||
S_StartSound(player->mo, sfx_s3k83);
|
||||
player->karthud[khud_fault] = 1;
|
||||
player->mo->momx = player->mo->momy = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue