eliminated the small white part of the initial window content after the IWAD picker.

This commit is contained in:
Christoph Oelckers 2024-01-04 22:21:27 +01:00
parent 9ced091b19
commit c62ecc44e2
4 changed files with 15 additions and 15 deletions

View file

@ -491,7 +491,7 @@ LRESULT CALLBACK WndProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
break; break;
case WM_ERASEBKGND: case WM_ERASEBKGND:
return true; return DefWindowProc(hWnd, message, wParam, lParam);
case WM_DEVICECHANGE: case WM_DEVICECHANGE:
if (wParam == DBT_DEVNODES_CHANGED || if (wParam == DBT_DEVNODES_CHANGED ||

View file

@ -36,7 +36,7 @@ void MainWindow::Create(const FString& caption, int x, int y, int width, int hei
WndClass.hInstance = hInstance; WndClass.hInstance = hInstance;
WndClass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1)); WndClass.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_ICON1));
WndClass.hCursor = LoadCursor(NULL, IDC_ARROW); WndClass.hCursor = LoadCursor(NULL, IDC_ARROW);
WndClass.hbrBackground = NULL; WndClass.hbrBackground = CreateSolidBrush(RGB(0,0,0));
WndClass.lpszMenuName = NULL; WndClass.lpszMenuName = NULL;
WndClass.lpszClassName = WinClassName; WndClass.lpszClassName = WinClassName;

View file

@ -367,7 +367,7 @@ FStartScreen* GetGameStartScreen(int max_progress)
Printf("Error creating start screen: %s\n", err.what()); Printf("Error creating start screen: %s\n", err.what());
// fall through to the generic startup screen // fall through to the generic startup screen
} }
//return CreateGenericStartScreen(max_progress); return CreateGenericStartScreen(max_progress);
} }
return nullptr; return nullptr;
} }

View file

@ -72,10 +72,10 @@ FGenericStartScreen::FGenericStartScreen(int max_progress)
: FStartScreen(max_progress) : FStartScreen(max_progress)
{ {
// at this point we do not have a working texture manager yet, so we have to do the lookup via the file system // at this point we do not have a working texture manager yet, so we have to do the lookup via the file system
int startup_lump = fileSystem.CheckNumForName("GZDOOM", FileSys::ns_graphics); int startup_lump = fileSystem.CheckNumForName("BOOTLOGO", FileSys::ns_graphics);
StartupBitmap.Create(640, 480); StartupBitmap.Create(640 * 2, 480 * 2);
ClearBlock(StartupBitmap, { 0, 0, 0, 255 }, 0, 0, 640, 480); ClearBlock(StartupBitmap, { 0, 0, 0, 255 }, 0, 0, 640 * 2, 480 * 2);
// This also needs to work if the lump turns out to be unusable. // This also needs to work if the lump turns out to be unusable.
if (startup_lump != -1) if (startup_lump != -1)
{ {
@ -83,14 +83,13 @@ FGenericStartScreen::FGenericStartScreen(int max_progress)
if (iBackground) if (iBackground)
{ {
Background = iBackground->GetCachedBitmap(nullptr, FImageSource::normal); Background = iBackground->GetCachedBitmap(nullptr, FImageSource::normal);
if (Background.GetWidth() < 640 || Background.GetHeight() < 480) if (Background.GetWidth() < 640 * 2 || Background.GetHeight() < 480 * 2)
StartupBitmap.Blit(320 - Background.GetWidth()/2, 220 - Background.GetHeight() /2, Background); StartupBitmap.Blit(320 * 2 - Background.GetWidth()/2, 220 * 2 - Background.GetHeight() / 2, Background);
else else
StartupBitmap.Blit(0, 0, Background, 640, 480); StartupBitmap.Blit(0, 0, Background, 640 * 2, 480 * 2);
} }
} }
CreateHeader();
} }
//========================================================================== //==========================================================================
@ -107,14 +106,15 @@ bool FGenericStartScreen::DoProgress(int advance)
if (CurPos < MaxPos) if (CurPos < MaxPos)
{ {
RgbQuad bcolor = { 128, 0, 0, 255 }; // todo: make configurable RgbQuad bcolor = { 2, 25, 87, 255 }; // todo: make configurable
int numnotches = 512; int numnotches = 200 * 2;
notch_pos = ((CurPos + 1) * 512) / MaxPos; notch_pos = ((CurPos + 1) * numnotches) / MaxPos;
if (notch_pos != NotchPos) if (notch_pos != NotchPos)
{ // Time to draw another notch. { // Time to draw another notch.
ClearBlock(StartupBitmap, bcolor, ST_PROGRESS_X, ST_PROGRESS_Y, notch_pos, 16); ClearBlock(StartupBitmap, bcolor, (320 - 100) * 2, 480 * 2 - 30, notch_pos, 4 * 2);
NotchPos = notch_pos; NotchPos = notch_pos;
StartupTexture->CleanHardwareData(true); if (StartupTexture)
StartupTexture->CleanHardwareData(true);
} }
} }
return FStartScreen::DoProgress(advance); return FStartScreen::DoProgress(advance);