Input Display: draw over everything else on the HUD

This commit is contained in:
James R 2024-03-02 00:23:07 -08:00
parent bf41f3ec29
commit 6988fbcf3e

View file

@ -5164,13 +5164,22 @@ static void K_drawKartFirstPerson(void)
static void K_drawInput(void)
{
UINT8 viewnum = R_GetViewNumber();
boolean freecam = camera[viewnum].freecam; //disable some hud elements w/ freecam
if (!cv_drawinput.value && !modeattacking)
return;
if (stplyr->spectator || freecam || demo.attract)
return;
INT32 def[4][3] = {
{247, 156, V_SNAPTOBOTTOM | V_SNAPTORIGHT}, // 1p
{247, 56, V_SNAPTOBOTTOM | V_SNAPTORIGHT}, // 2p
{6, 52, V_SNAPTOBOTTOM | V_SNAPTOLEFT}, // 4p left
{282 - BASEVIDWIDTH/2, 52, V_SNAPTOBOTTOM | V_SNAPTORIGHT}, // 4p right
};
INT32 k = r_splitscreen <= 1 ? r_splitscreen : 2 + (R_GetViewNumber() & 1);
INT32 k = r_splitscreen <= 1 ? r_splitscreen : 2 + (viewnum & 1);
INT32 flags = def[k][2] | V_SPLITSCREEN;
char mode = ((stplyr->pflags & PF_ANALOGSTICK) ? '4' : '2') + (r_splitscreen > 1);
bool local = !demo.playback && P_IsMachineLocalPlayer(stplyr);
@ -6063,13 +6072,6 @@ void K_drawKartHUD(void)
K_drawRingCounter(gametypeinfoshown);
}
if ((modeattacking && !bossinfo.valid) || cv_drawinput.value)
{
// Draw the input UI
if (LUA_HudEnabled(hud_position))
K_drawInput();
}
// Draw the item window
if (LUA_HudEnabled(hud_item) && !freecam)
{
@ -6129,7 +6131,10 @@ void K_drawKartHUD(void)
K_drawEmeraldWin(true);
if (modeattacking || freecam) // everything after here is MP and debug only
{
K_drawInput();
return;
}
if ((gametyperules & GTR_KARMA) && !r_splitscreen && (stplyr->karthud[khud_yougotem] % 2)) // * YOU GOT EM *
V_DrawScaledPatch(BASEVIDWIDTH/2 - (SHORT(kp_yougotem->width)/2), 32, V_HUDTRANS, kp_yougotem);
@ -6148,6 +6153,10 @@ void K_drawKartHUD(void)
{
K_drawSpectatorHUD(true);
}
else
{
K_drawInput();
}
if (cv_kartdebugdistribution.value)
K_drawDistributionDebugger();