Change the rules for some things selected in the previous commit.

- Only show lap count and gamespeed on rankings if GTR_CIRCUIT
- Adjust offsets for speedometer/accessability icons with GTR_BUMPERS|GTR_SPHERES
- Only show Karma on Bumpers hud with GTR_KARMA
- Permit battle fullscreen without GTR_KARMA
- Make the Break The Capsules roulette show up with GTR_CAPSULES, not absence of GTR_CIRCUIT
- Don't push Break The Capsules roulette to the item list twice
- Make the special mode switching of int_battle happen for all instances of int_battle, not just GT_BATTLE
This commit is contained in:
toaster 2022-12-26 22:06:26 +00:00
parent 185b36bd27
commit eb74ec3904
4 changed files with 14 additions and 16 deletions

View file

@ -2438,7 +2438,7 @@ static void HU_DrawRankings(void)
V_DrawCenteredString(256, 16, hilicol, va("%d", cv_pointlimit.value));
}
}
else
else if (gametyperules & GTR_CIRCUIT)
{
if (circuitmap)
{

View file

@ -2498,7 +2498,7 @@ static void K_drawKartAccessibilityIcons(INT32 fx)
if (r_splitscreen < 2) // adjust to speedometer height
{
if (gametype == GT_BATTLE)
if (gametyperules & (GTR_BUMPERS|GTR_SPHERES))
fy -= 4;
}
else
@ -2588,7 +2588,7 @@ static void K_drawKartSpeedometer(void)
numbers[1] = ((convSpeed / 10) % 10);
numbers[2] = (convSpeed % 10);
if (gametype == GT_BATTLE)
if (gametyperules & (GTR_BUMPERS|GTR_SPHERES))
battleoffset = -4;
V_DrawScaledPatch(LAPS_X, LAPS_Y-25 + battleoffset, V_HUDTRANS|V_SLIDEIN|splitflags, kp_speedometersticker);
@ -2793,10 +2793,10 @@ static void K_drawKartBumpersOrKarma(void)
else
V_DrawMappedPatch(LAPS_X, LAPS_Y, V_HUDTRANS|V_SLIDEIN|splitflags, kp_bumpersticker, colormap);
if (bossinfo.boss)
V_DrawKartString(LAPS_X+47, LAPS_Y+3, V_HUDTRANS|V_SLIDEIN|splitflags, va("%d/%d", stplyr->bumpers, maxbumper));
else // TODO BETTER HUD
if (gametyperules & GTR_KARMA) // TODO BETTER HUD
V_DrawKartString(LAPS_X+47, LAPS_Y+3, V_HUDTRANS|V_SLIDEIN|splitflags, va("%d/%d %d", stplyr->bumpers, maxbumper, stplyr->overtimekarma / TICRATE));
else
V_DrawKartString(LAPS_X+47, LAPS_Y+3, V_HUDTRANS|V_SLIDEIN|splitflags, va("%d/%d", stplyr->bumpers, maxbumper));
}
}
}
@ -5026,10 +5026,10 @@ void K_drawKartHUD(void)
return;
}
battlefullscreen = ((gametyperules & (GTR_BUMPERS|GTR_KARMA)) == (GTR_BUMPERS|GTR_KARMA)
battlefullscreen = ((gametyperules & (GTR_BUMPERS))
&& (stplyr->exiting
|| (stplyr->bumpers <= 0
&& stplyr->karmadelay > 0
&& ((gametyperules & GTR_KARMA) && (stplyr->karmadelay > 0))
&& !(stplyr->pflags & PF_ELIMINATED)
&& stplyr->playerstate == PST_LIVE)));

View file

@ -1128,13 +1128,9 @@ void K_FillItemRouletteData(const player_t *player, itemroulette_t *const roulet
kartitems_t *presetlist = K_KartItemReelTimeAttack;
// If the objective is not to go fast, it's to cause serious damage.
if (!(gametyperules & GTR_CIRCUIT))
if (gametyperules & GTR_CAPSULES)
{
presetlist = K_KartItemReelBreakTheCapsules;
for (i = 0; K_KartItemReelBreakTheCapsules[i] != KITEM_NONE; i++)
{
K_PushToRouletteItemList(roulette, K_KartItemReelBreakTheCapsules[i]);
}
}
for (i = 0; presetlist[i] != KITEM_NONE; i++)

View file

@ -754,10 +754,12 @@ void Y_DetermineIntermissionType(void)
intertype = gametypes[gametype]->intermission;
// TODO: special cases
if (gametype == GT_BATTLE)
if (intertype == int_battle)
{
if (grandprixinfo.gp == true && bossinfo.boss == false)
return;
if (grandprixinfo.gp == true && grandprixinfo.eventmode != GPEVENT_NONE)
{
intertype = int_none;
}
else
{
UINT8 i = 0, nump = 0;