- 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
This commit is contained in:
Christoph Oelckers 2020-06-12 23:06:11 +02:00
parent 67b1963e7c
commit ee98db589f
3 changed files with 22 additions and 31 deletions

View file

@ -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);

View file

@ -1110,3 +1110,4 @@ void updatePauseStatus()
pausedWithKey = paused;
}
}

View file

@ -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");