mirror of
https://github.com/ZDoom/gzdoom.git
synced 2024-11-23 04:22:34 +00:00
Allow customization of pause screen.
This commit is contained in:
parent
d5ad8b28ec
commit
95b8629fe0
2 changed files with 26 additions and 11 deletions
|
@ -1026,18 +1026,31 @@ void D_Display ()
|
|||
// draw pause pic
|
||||
if ((paused || pauseext) && menuactive == MENU_Off)
|
||||
{
|
||||
auto tex = TexMan.GetGameTextureByName(gameinfo.PauseSign, true);
|
||||
double x = (SCREENWIDTH - tex->GetDisplayWidth() * CleanXfac)/2 +
|
||||
tex->GetDisplayLeftOffset() * CleanXfac;
|
||||
DrawTexture(twod, tex, x, 4, DTA_CleanNoMove, true, TAG_DONE);
|
||||
if (paused && multiplayer)
|
||||
// [MK] optionally let the status bar handle this
|
||||
bool skip = false;
|
||||
IFVIRTUALPTR(StatusBar, DBaseStatusBar, DrawPaused)
|
||||
{
|
||||
FFont *font = generic_ui? NewSmallFont : SmallFont;
|
||||
FString pstring = GStrings("TXT_BY");
|
||||
pstring.Substitute("%s", players[paused - 1].userinfo.GetName());
|
||||
DrawText(twod, font, CR_RED,
|
||||
(twod->GetWidth() - font->StringWidth(pstring)*CleanXfac) / 2,
|
||||
(tex->GetDisplayHeight() * CleanYfac) + 4, pstring, DTA_CleanNoMove, true, TAG_DONE);
|
||||
VMValue params[] { (DObject*)StatusBar, paused-1 };
|
||||
int rv;
|
||||
VMReturn ret(&rv);
|
||||
VMCall(func, params, countof(params), &ret, 1);
|
||||
skip = !!rv;
|
||||
}
|
||||
if ( !skip )
|
||||
{
|
||||
auto tex = TexMan.GetGameTextureByName(gameinfo.PauseSign, true);
|
||||
double x = (SCREENWIDTH - tex->GetDisplayWidth() * CleanXfac)/2 +
|
||||
tex->GetDisplayLeftOffset() * CleanXfac;
|
||||
DrawTexture(twod, tex, x, 4, DTA_CleanNoMove, true, TAG_DONE);
|
||||
if (paused && multiplayer)
|
||||
{
|
||||
FFont *font = generic_ui? NewSmallFont : SmallFont;
|
||||
FString pstring = GStrings("TXT_BY");
|
||||
pstring.Substitute("%s", players[paused - 1].userinfo.GetName());
|
||||
DrawText(twod, font, CR_RED,
|
||||
(twod->GetWidth() - font->StringWidth(pstring)*CleanXfac) / 2,
|
||||
(tex->GetDisplayHeight() * CleanYfac) + 4, pstring, DTA_CleanNoMove, true, TAG_DONE);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -235,6 +235,8 @@ class BaseStatusBar : StatusBarCore native
|
|||
virtual bool ProcessMidPrint(Font fnt, String msg, bool bold) { return false; }
|
||||
// [MK] let the HUD handle drawing the chat prompt
|
||||
virtual bool DrawChat(String txt) { return false; }
|
||||
// [MK] let the HUD handle drawing the pause graphics
|
||||
virtual bool DrawPaused(int player) { return false; }
|
||||
|
||||
native TextureID GetMugshot(int accuracy, int stateflags=MugShot.STANDARD, String default_face = "STF");
|
||||
native int GetTopOfStatusBar();
|
||||
|
|
Loading…
Reference in a new issue