Merge branch 'show-emerald-again' into 'master'

Draw Chaos Emerald again for Sealed Star

Closes #1271

See merge request KartKrew/Kart!2281
This commit is contained in:
toaster 2024-04-15 15:08:32 +00:00
commit feb9fdfaa1
3 changed files with 105 additions and 100 deletions

View file

@ -4532,7 +4532,7 @@ static void G_DoCompleted(void)
{ {
// Increase your total rings // Increase your total rings
INT32 ringtotal = player->hudrings; INT32 ringtotal = player->hudrings;
if (ringtotal > 0) if (ringtotal > 0 && grandprixinfo.eventmode != GPEVENT_SPECIAL)
{ {
if (ringtotal > 20) if (ringtotal > 20)
ringtotal = 20; ringtotal = 20;

View file

@ -599,12 +599,12 @@ void podiumData_s::Draw(void)
.text(va("%c", ('A' + p))); .text(va("%c", ('A' + p)));
} }
} }
// Do not draw any stats for GAME OVERed player else
else if (gpRank_level_perplayer_t *const dta = &lvl->perPlayer[p]; dta->grade != GRADE_INVALID)
{ {
gpRank_level_perplayer_t *const dta = &lvl->perPlayer[p];
srb2::Draw drawer_rank = drawer_perplayer.xy(2, 0); srb2::Draw drawer_rank = drawer_perplayer.xy(2, 0);
if (lvl->event != GPEVENT_SPECIAL) if (lvl->event != GPEVENT_SPECIAL && dta->grade != GRADE_INVALID)
{ {
drawer_rank drawer_rank
.xy(0, -1) .xy(0, -1)
@ -612,6 +612,9 @@ void podiumData_s::Draw(void)
.patch(va("R_CUPRN%c", K_GetGradeChar(dta->grade))); .patch(va("R_CUPRN%c", K_GetGradeChar(dta->grade)));
} }
// Do not draw any stats for GAME OVERed player
if (dta->grade != GRADE_INVALID || lvl->event == GPEVENT_SPECIAL)
{
srb2::Draw drawer_gametype = drawer_rank.xy(18, 0); srb2::Draw drawer_gametype = drawer_rank.xy(18, 0);
switch (lvl->event) switch (lvl->event)
@ -731,6 +734,7 @@ void podiumData_s::Draw(void)
)); ));
} }
} }
}
drawer_perplayer = drawer_perplayer.x(56); drawer_perplayer = drawer_perplayer.x(56);
} }

View file

@ -331,7 +331,8 @@ void level_tally_t::Init(player_t *player)
} }
} }
if ((gametypes[gt]->rules & GTR_SPHERES) == 0) if ((gametypes[gt]->rules & GTR_SPHERES) == 0
&& (!grandprixinfo.gp || grandprixinfo.eventmode != GPEVENT_SPECIAL))
{ {
if (player->hudrings > 0) // Don't count negative rings if (player->hudrings > 0) // Don't count negative rings
{ {