diff --git a/src/common/console/c_console.cpp b/src/common/console/c_console.cpp index 7668f73bb..44c8ffacf 100644 --- a/src/common/console/c_console.cpp +++ b/src/common/console/c_console.cpp @@ -563,9 +563,6 @@ void C_DrawConsole () static int oldbottom = 0; int lines, left, offset; - if (!CurrentConsoleFont) - return; - int textScale = active_con_scale(twod); left = LEFTMARGIN; diff --git a/src/common/startscreen/startscreen.cpp b/src/common/startscreen/startscreen.cpp index 47050bf05..82fa28f02 100644 --- a/src/common/startscreen/startscreen.cpp +++ b/src/common/startscreen/startscreen.cpp @@ -49,9 +49,6 @@ #include "v_draw.h" #include "g_input.h" #include "texturemanager.h" -#include "c_console.h" - -CVAR(Bool, startscreen_console, false, CVAR_ARCHIVE | CVAR_GLOBALCONFIG); // Text mode color values enum{ @@ -673,30 +670,22 @@ void FStartScreen::Render(bool force) float displayheight; twod->Begin(screen->GetWidth(), screen->GetHeight()); - if (startscreen_console) + // At this point the shader for untextured rendering has not been loaded yet, so we got to clear the screen by rendering a texture with black color. + DrawTexture(twod, StartupTexture, 0, 0, DTA_VirtualWidthF, StartupTexture->GetDisplayWidth(), DTA_VirtualHeightF, StartupTexture->GetDisplayHeight(), DTA_KeepRatio, true, DTA_Color, PalEntry(255,0,0,0), TAG_END); + + if (HeaderTexture) { - C_FullConsole(); - C_DrawConsole(); + displaywidth = HeaderTexture->GetDisplayWidth(); + displayheight = HeaderTexture->GetDisplayHeight() + StartupTexture->GetDisplayHeight(); + DrawTexture(twod, HeaderTexture, 0, 0, DTA_VirtualWidthF, displaywidth, DTA_VirtualHeightF, displayheight, TAG_END); + DrawTexture(twod, StartupTexture, 0, 32, DTA_VirtualWidthF, displaywidth, DTA_VirtualHeightF, displayheight, TAG_END); + if (NetMaxPos >= 0) DrawTexture(twod, NetTexture, 0, displayheight - 16, DTA_VirtualWidthF, displaywidth, DTA_VirtualHeightF, displayheight, TAG_END); } else { - // At this point the shader for untextured rendering has not been loaded yet, so we got to clear the screen by rendering a texture with black color. - DrawTexture(twod, StartupTexture, 0, 0, DTA_VirtualWidthF, StartupTexture->GetDisplayWidth(), DTA_VirtualHeightF, StartupTexture->GetDisplayHeight(), DTA_KeepRatio, true, DTA_Color, PalEntry(255, 0, 0, 0), TAG_END); - - if (HeaderTexture) - { - displaywidth = HeaderTexture->GetDisplayWidth(); - displayheight = HeaderTexture->GetDisplayHeight() + StartupTexture->GetDisplayHeight(); - DrawTexture(twod, HeaderTexture, 0, 0, DTA_VirtualWidthF, displaywidth, DTA_VirtualHeightF, displayheight, TAG_END); - DrawTexture(twod, StartupTexture, 0, 32, DTA_VirtualWidthF, displaywidth, DTA_VirtualHeightF, displayheight, TAG_END); - if (NetMaxPos >= 0) DrawTexture(twod, NetTexture, 0, displayheight - 16, DTA_VirtualWidthF, displaywidth, DTA_VirtualHeightF, displayheight, TAG_END); - } - else - { - displaywidth = StartupTexture->GetDisplayWidth(); - displayheight = StartupTexture->GetDisplayHeight(); - DrawTexture(twod, StartupTexture, 0, 0, DTA_VirtualWidthF, displaywidth, DTA_VirtualHeightF, displayheight, TAG_END); - } + displaywidth = StartupTexture->GetDisplayWidth(); + displayheight = StartupTexture->GetDisplayHeight(); + DrawTexture(twod, StartupTexture, 0, 0, DTA_VirtualWidthF, displaywidth, DTA_VirtualHeightF, displayheight, TAG_END); } twod->End(); diff --git a/src/d_main.cpp b/src/d_main.cpp index a577b2866..df6770fe3 100644 --- a/src/d_main.cpp +++ b/src/d_main.cpp @@ -3307,11 +3307,7 @@ static int D_InitGame(const FIWADInfo* iwad_info, std::vector& allw } TexMan.Init(); - - // Init fonts and console earlier as the start screen might display it - V_InitFonts(); - C_InitConsole(SCREENWIDTH, SCREENHEIGHT, false); - + if (!batchrun) Printf ("V_Init: allocate screen.\n"); if (!restart) { @@ -3380,6 +3376,7 @@ static int D_InitGame(const FIWADInfo* iwad_info, std::vector& allw StartWindow->Progress(); if (StartScreen) StartScreen->Progress(1); + V_InitFonts(); InitDoomFonts(); V_LoadTranslations(); UpdateGenericUI(false);