Merge branch 'replay-hud-fixes' into 'master'

Replay HUD fixes; also fix HERE COMES A NEW CHALLENGER in splitscreen

Closes #1172, #1169, #1177, and #1165

See merge request KartKrew/Kart!2125
This commit is contained in:
Gunla 2024-03-17 22:07:38 +00:00
commit 9e549d5607
6 changed files with 26 additions and 10 deletions

View file

@ -5966,15 +5966,17 @@ void K_drawKartHUD(void)
if (!camera[viewnum].chase && !freecam)
K_drawKartFirstPerson();
if (mapreset)
{
// HERE COMES A NEW CHALLENGER
if (R_GetViewNumber() == 0)
K_drawChallengerScreen();
return;
}
// Draw full screen stuff that turns off the rest of the HUD
if (R_GetViewNumber() == 0)
{
if (mapreset)
{
K_drawChallengerScreen();
return;
}
if (g_emeraldWin)
K_drawEmeraldWin(false);
}

View file

@ -474,7 +474,7 @@ void M_DrawMenuForeground(void)
}
// draw non-green resolution border
if (currentMenu != &PAUSE_PlaybackMenuDef && // this obscures replay menu and I want to put in minimal effort to fix that
if ((!menuactive || currentMenu != &PAUSE_PlaybackMenuDef) && // this obscures replay menu and I want to put in minimal effort to fix that
((vid.width % BASEVIDWIDTH != 0) || (vid.height % BASEVIDHEIGHT != 0)))
{
V_DrawFixedPatch(0, 0, FRACUNIT, 0, W_CachePatchName("WEIRDRES", PU_CACHE), NULL);

View file

@ -668,6 +668,15 @@ menu_t *M_SpecificMenuRestore(menu_t *torestore)
//
void M_StartControlPanel(void)
{
if (demo.playback && gamestate == GS_INTERMISSION)
{
// At this point the replay has ended.
// The only menu option that works is "Stop Playback".
// And intermission can be finished by pressing the
// A button, so having a menu at all is useless.
return;
}
INT32 i;
G_ResetAllDeviceGameKeyDown();

View file

@ -180,6 +180,7 @@ static void M_PlaybackTick(void)
else
{
PAUSE_PlaybackMenu[playback_viewcount].status = IT_ARROWS|IT_STRING;
PAUSE_PlaybackMenu[playback_director].status = IT_ARROWS|IT_STRING;
PAUSE_PlaybackMenu[playback_freecam].status = IT_CALL|IT_STRING;
for (i = 0; i <= r_splitscreen; i++)

View file

@ -1271,10 +1271,7 @@ static void ST_overlayDrawer(void)
{
LUA_HookHUD(luahuddrawlist_game, HUD_HOOK(game));
}
}
if (!hu_showscores) // hide the following if TAB is held
{
if (cv_showviewpointtext.value)
{
if (!demo.attract && !P_IsPartyPlayer(stplyr) && !camera[viewnum].freecam)

View file

@ -2272,6 +2272,13 @@ void Y_StartIntermission(void)
G_SetGamestate(GS_INTERMISSION);
if (demo.playback)
{
// Replay menu is inacessible here.
// Press A to continue!
M_ClearMenus(true);
}
if (musiccountdown == 0)
{
Y_PlayIntermissionMusic();