From ee98db589fd7d4cb637a9a3fe54c14664f396001 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Fri, 12 Jun 2020 23:06:11 +0200 Subject: [PATCH] - fixed the Exhumed startup to do proper fading of the publisher logos, which PCExhumed only implemented for the software renderer. Made it faster than PCExhumed, though --- source/common/platform/win32/i_main.cpp | 1 + source/core/gamecontrol.cpp | 1 + source/exhumed/src/exhumed.cpp | 51 ++++++++++--------------- 3 files changed, 22 insertions(+), 31 deletions(-) diff --git a/source/common/platform/win32/i_main.cpp b/source/common/platform/win32/i_main.cpp index 0eaceba72..e92867ba2 100644 --- a/source/common/platform/win32/i_main.cpp +++ b/source/common/platform/win32/i_main.cpp @@ -572,6 +572,7 @@ void I_SetWndProc() SetWindowLongPtr (Window, GWLP_USERDATA, 1); SetWindowLongPtr (Window, GWLP_WNDPROC, (WLONG_PTR)WndProc); ShowWindow (ConWindow, SW_HIDE); + ShowWindow(ProgressBar, SW_HIDE); ConWindowHidden = true; ShowWindow (GameTitleWindow, SW_HIDE); I_InitInput (Window); diff --git a/source/core/gamecontrol.cpp b/source/core/gamecontrol.cpp index 92b6c47ae..c3274ef6e 100644 --- a/source/core/gamecontrol.cpp +++ b/source/core/gamecontrol.cpp @@ -1110,3 +1110,4 @@ void updatePauseStatus() pausedWithKey = paused; } } + diff --git a/source/exhumed/src/exhumed.cpp b/source/exhumed/src/exhumed.cpp index 1b4f0b80e..5b423a173 100644 --- a/source/exhumed/src/exhumed.cpp +++ b/source/exhumed/src/exhumed.cpp @@ -2508,40 +2508,29 @@ void DoGameOverScene() void DoTitle() { short skullDurations[] = { 6, 25, 43, 50, 68, 78, 101, 111, 134, 158, 173, 230, 6000 }; - videoSetViewableArea(0, 0, xdim - 1, ydim - 1); - if (videoGetRenderMode() == REND_CLASSIC) - BlackOut(); - - overwritesprite(0, 0, EXHUMED ? kTileBMGLogo : kTilePIELogo, 0, 2, kPalNormal); - videoNextPage(); - - if (videoGetRenderMode() == REND_CLASSIC) - FadeIn(); - - inputState.ClearAllInput(); - - WaitAnyKey(2); - - if (videoGetRenderMode() == REND_CLASSIC) - FadeOut(0); - - SetOverscan(BASEPAL); - + auto showscreen = [](int tile) + { + auto start = I_msTime(); + int shade = numshades; + uint64_t span; + inputState.ClearAllInput(); + do + { + overwritesprite(0, 0, tile, shade, 2, kPalNormal); + videoNextPage(); + auto now = I_msTime(); + span = now - start; + if (span < 1000) shade = Scale(1000 - span, numshades, 1000); + else if (span < 2000) shade = 0; + else shade = Scale(span - 2000, numshades, 1000); + if (inputState.CheckAllInput()) break; + } while (span < 3000); + }; + showscreen(EXHUMED ? kTileBMGLogo : kTilePIELogo); int nScreenTile = seq_GetSeqPicnum(kSeqScreens, 0, 0); - - overwritesprite(0, 0, nScreenTile, 0, 2, kPalNormal); - videoNextPage(); - - if (videoGetRenderMode() == REND_CLASSIC) - FadeIn(); - PlayLogoSound(); - - WaitAnyKey(2); - - if (videoGetRenderMode() == REND_CLASSIC) - FadeOut(0); + showscreen(nScreenTile); inputState.ClearAllInput(); PlayMovie("book.mov");