diff --git a/src/hu_stuff.c b/src/hu_stuff.c index e9d2a7fbd..d9d2cb6d2 100644 --- a/src/hu_stuff.c +++ b/src/hu_stuff.c @@ -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) { diff --git a/src/k_hud.c b/src/k_hud.c index d55c4d822..4c2b3fe16 100644 --- a/src/k_hud.c +++ b/src/k_hud.c @@ -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))); diff --git a/src/k_roulette.c b/src/k_roulette.c index 7c283ca1f..20d7d19b6 100644 --- a/src/k_roulette.c +++ b/src/k_roulette.c @@ -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++) diff --git a/src/y_inter.c b/src/y_inter.c index 413e29e8d..24c24dd3f 100644 --- a/src/y_inter.c +++ b/src/y_inter.c @@ -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;