Don't flash item box/roulette in reducevfx

This commit is contained in:
AJ Martinez 2024-05-16 20:13:34 -07:00
parent a10d18afdc
commit a457b8f277

View file

@ -1395,6 +1395,9 @@ static void K_drawKartItem(void)
vector2_t rouletteCrop = {7, 7};
INT32 i;
boolean flashOnOne = false;
boolean flashOnTwo = false;
if (stplyr->itemRoulette.itemListLen > 0)
{
// Init with item roulette stuff.
@ -1446,10 +1449,8 @@ static void K_drawKartItem(void)
if (stplyr->stealingtimer < 0)
{
if (leveltime & 2)
localpatch[1] = kp_hyudoro[offset];
else
localpatch[1] = kp_nodraw;
flashOnTwo = true;
}
else if ((stplyr->stealingtimer > 0) && (leveltime & 2))
{
@ -1457,10 +1458,8 @@ static void K_drawKartItem(void)
}
else if (stplyr->eggmanexplode > 1)
{
if (leveltime & 1)
localpatch[1] = kp_eggman[offset];
else
localpatch[1] = kp_nodraw;
flashOnOne = true;
}
else if (stplyr->ballhogcharge > 0)
{
@ -1470,27 +1469,21 @@ static void K_drawKartItem(void)
itembar = stplyr->ballhogcharge % BALLHOGINCREMENT;
maxl = BALLHOGINCREMENT;
if (leveltime & 1)
localpatch[1] = kp_ballhog[offset];
else
localpatch[1] = kp_nodraw;
flashOnOne = true;
}
else if (stplyr->rocketsneakertimer > 1)
{
itembar = stplyr->rocketsneakertimer;
maxl = (itemtime*3) - barlength;
if (leveltime & 1)
localpatch[1] = kp_rocketsneaker[offset];
else
localpatch[1] = kp_nodraw;
flashOnOne = true;
}
else if (stplyr->sadtimer > 0)
{
if (leveltime & 2)
localpatch[1] = kp_sadface[offset];
else
localpatch[1] = kp_nodraw;
flashOnTwo = true;
}
else if (stplyr->itemRoulette.reserved > 0)
{
@ -1527,11 +1520,19 @@ static void K_drawKartItem(void)
break;
}
if ((stplyr->itemflags & IF_ITEMOUT) && !(leveltime & 1))
if ((stplyr->itemflags & IF_ITEMOUT))
flashOnOne = true;
}
if (!cv_reducevfx.value)
{
if (flashOnOne && !(leveltime & 1))
localpatch[1] = kp_nodraw;
else if (flashOnTwo && !(leveltime & 2))
localpatch[1] = kp_nodraw;
}
if (stplyr->karthud[khud_itemblink] && (leveltime & 1))
if (stplyr->karthud[khud_itemblink] && (leveltime & 1) && !(cv_reducevfx.value))
{
colormode[1] = TC_BLINK;
@ -1639,6 +1640,13 @@ static void K_drawKartItem(void)
// A little goofy, but helps with ballhog charge conveyance—you're "loading" them.
UINT8 fakeitemamount = stplyr->itemamount - (stplyr->ballhogcharge / BALLHOGINCREMENT);
boolean transflag = V_HUDTRANS;
if (cv_reducevfx.value && (flashOnOne || flashOnTwo))
{
transflag = V_HUDTRANSHALF;
}
if (fakeitemamount >= numberdisplaymin && stplyr->itemRoulette.active == false)
{
// Then, the numbers:
@ -1650,7 +1658,7 @@ static void K_drawKartItem(void)
V_DrawFixedPatch(
fx<<FRACBITS, (fy<<FRACBITS) + rouletteOffset,
FRACUNIT, V_HUDTRANS|V_SLIDEIN|fflags,
FRACUNIT, transflag|V_SLIDEIN|fflags,
localpatch[1], (localcolor[1] ? R_GetTranslationColormap(colormode[1], localcolor[1], GTC_CACHE) : NULL)
);
@ -1671,7 +1679,7 @@ static void K_drawKartItem(void)
{
V_DrawFixedPatch(
fx<<FRACBITS, (fy<<FRACBITS) + rouletteOffset,
FRACUNIT, V_HUDTRANS|V_SLIDEIN|fflags,
FRACUNIT, transflag|V_SLIDEIN|fflags,
localpatch[1], (localcolor[1] ? R_GetTranslationColormap(colormode[1], localcolor[1], GTC_CACHE) : NULL)
);
}
@ -1808,7 +1816,7 @@ static void K_drawKartSlotMachine(void)
}
}
if (stplyr->karthud[khud_itemblink] && (leveltime & 1))
if (stplyr->karthud[khud_itemblink] && (leveltime & 1) && !cv_reducevfx.value)
{
colormode[1] = TC_BLINK;
localcolor[1] = SKINCOLOR_WHITE;