diff --git a/src/k_podium.cpp b/src/k_podium.cpp index d5164601a..205989703 100644 --- a/src/k_podium.cpp +++ b/src/k_podium.cpp @@ -720,7 +720,8 @@ void podiumData_s::Draw(void) .xy(32, 1) .align(srb2::Draw::Align::kCenter) .font(srb2::Draw::Font::kPing) - .text(va( + .text(lvl->time == UINT32_MAX ? + "--'--\"--" : va( "%i'%02i\"%02i", G_TicsToMinutes(lvl->time, true), G_TicsToSeconds(lvl->time), diff --git a/src/k_tally.cpp b/src/k_tally.cpp index f9af6d972..3102df5aa 100644 --- a/src/k_tally.cpp +++ b/src/k_tally.cpp @@ -552,10 +552,14 @@ void level_tally_t::Init(player_t *player) done = (player->spectator == true || player->bot == true); if (specialstageinfo.valid == true && (player->pflags & PF_NOCONTEST) == PF_NOCONTEST && - (G_GametypeUsesLives() && player->lives <= 0) == false) + // TODO: this leveltime check works, but checking + // leveltime is kind of fragile in case order of + // operations ever changes. There should be a better + // way to tell if the player spawned GAME OVERed. + (G_GametypeUsesLives() && player->lives <= 0 && leveltime == 0) == false) { // No tally when losing special stages - // Except when GAME OVER + // Except when entering from GAME OVER. state = TALLY_ST_IGNORE; delay = 0; } diff --git a/src/st_stuff.c b/src/st_stuff.c index ed1696f7e..28c691f13 100644 --- a/src/st_stuff.c +++ b/src/st_stuff.c @@ -1490,7 +1490,7 @@ void ST_DrawSaveReplayHint(INT32 flags) V_DrawRightAlignedThinString( BASEVIDWIDTH - 2, 2, flags|V_YELLOWMAP, - demo.willsave ? "Replay will be saved. \xAB Change title" : "\xAB or \xAE Save replay" + demo.willsave ? "Replay will be saved. \xAB Change title" : "\xAB or \xAD Save replay" ); }