mirror of
https://github.com/KartKrewDev/RingRacers.git
synced 2026-04-28 04:51: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_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:
|
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
|
// Camera
|
||||||
khud_boostcam, // Camera push forward on boost
|
khud_boostcam, // Camera push forward on boost
|
||||||
khud_destboostcam, // Ditto
|
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_timeoutsticker;
|
||||||
|
|
||||||
static patch_t *kp_startcountdown[16];
|
static patch_t *kp_startcountdown[16];
|
||||||
|
static patch_t *kp_racefault[6];
|
||||||
static patch_t *kp_racefinish[6];
|
static patch_t *kp_racefinish[6];
|
||||||
|
|
||||||
static patch_t *kp_positionnum[NUMPOSNUMS][NUMPOSFRAMES];
|
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[14] = W_CachePatchName("K_SMC1B", PU_HUDGFX);
|
||||||
kp_startcountdown[15] = W_CachePatchName("K_SMCGOB", 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
|
// Finish
|
||||||
kp_racefinish[0] = W_CachePatchName("K_FINA", PU_HUDGFX);
|
kp_racefinish[0] = W_CachePatchName("K_FINA", PU_HUDGFX);
|
||||||
kp_racefinish[1] = W_CachePatchName("K_FINB", 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
|
INT32 pnum = 0, splitflags = K_calcSplitFlags(0); // 3
|
||||||
|
|
||||||
if (leveltime >= starttime-(2*TICRATE)) // 2
|
if (stplyr->karthud[khud_fault] != 0)
|
||||||
pnum++;
|
{
|
||||||
if (leveltime >= starttime-TICRATE) // 1
|
if (r_splitscreen > 1) // 3/4p, stationary FIN
|
||||||
pnum++;
|
{
|
||||||
if (leveltime >= starttime) // GO!
|
pnum += 2;
|
||||||
pnum++;
|
}
|
||||||
if ((leveltime % (2*5)) / 5) // blink
|
else if (r_splitscreen == 1) // wide splitscreen
|
||||||
pnum += 4;
|
{
|
||||||
if (r_splitscreen) // splitscreen
|
pnum += 4;
|
||||||
pnum += 8;
|
}
|
||||||
|
|
||||||
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)
|
static void K_drawKartFinish(void)
|
||||||
|
|
|
||||||
|
|
@ -2191,6 +2191,8 @@ static void K_HandleLapIncrement(player_t *player)
|
||||||
player->powers[pw_nocontrol] = (starttime - leveltime) + 50;
|
player->powers[pw_nocontrol] = (starttime - leveltime) + 50;
|
||||||
player->pflags |= PF_SKIDDOWN; // cheeky pflag reuse
|
player->pflags |= PF_SKIDDOWN; // cheeky pflag reuse
|
||||||
S_StartSound(player->mo, sfx_s3k83);
|
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