- fixed titlepic animation.

It needed more than using the animated accessor. The code here nearly went out of its way to circumvent the texture manager's built in logic.
This commit is contained in:
Christoph Oelckers 2018-07-15 22:51:25 +02:00
parent f62e2f9ba3
commit 79b3c41677
2 changed files with 9 additions and 30 deletions

View file

@ -225,8 +225,8 @@ int eventhead;
int eventtail; int eventtail;
gamestate_t wipegamestate = GS_DEMOSCREEN; // can be -1 to force a wipe gamestate_t wipegamestate = GS_DEMOSCREEN; // can be -1 to force a wipe
bool PageBlank; bool PageBlank;
FTexture *Page;
FTexture *Advisory; FTexture *Advisory;
FTextureID Page;
bool nospriterename; bool nospriterename;
FStartupInfo DoomStartupInfo; FStartupInfo DoomStartupInfo;
FString lastIWAD; FString lastIWAD;
@ -971,7 +971,8 @@ void D_DoomLoop ()
// Clamp the timer to TICRATE until the playloop has been entered. // Clamp the timer to TICRATE until the playloop has been entered.
r_NoInterpolate = true; r_NoInterpolate = true;
Page = Advisory = NULL; Page.SetInvalid();
Advisory = nullptr;
vid_cursor.Callback(); vid_cursor.Callback();
@ -1056,9 +1057,9 @@ void D_PageTicker (void)
void D_PageDrawer (void) void D_PageDrawer (void)
{ {
screen->Clear(0, 0, SCREENWIDTH, SCREENHEIGHT, 0, 0); screen->Clear(0, 0, SCREENWIDTH, SCREENHEIGHT, 0, 0);
if (Page != NULL) if (Page.Exists())
{ {
screen->DrawTexture (Page, 0, 0, screen->DrawTexture (TexMan(Page), 0, 0,
DTA_Fullscreen, true, DTA_Fullscreen, true,
DTA_Masked, false, DTA_Masked, false,
DTA_BilinearFilter, true, DTA_BilinearFilter, true,
@ -1200,18 +1201,7 @@ void D_DoStrifeAdvanceDemo ()
if (demosequence == 9 && !(gameinfo.flags & GI_SHAREWARE)) if (demosequence == 9 && !(gameinfo.flags & GI_SHAREWARE))
demosequence = 10; demosequence = 10;
if (pagename) if (pagename != nullptr) Page = TexMan.CheckForTexture(pagename, ETextureType::MiscPatch);
{
if (Page != NULL)
{
Page->Unload ();
Page = NULL;
}
if (pagename[0])
{
Page = TexMan[pagename];
}
}
} }
//========================================================================== //==========================================================================
@ -1309,13 +1299,10 @@ void D_DoAdvanceDemo (void)
break; break;
} }
if (pagename.IsNotEmpty()) if (pagename.IsNotEmpty())
{ {
if (Page != NULL) Page = TexMan.CheckForTexture(pagename, ETextureType::MiscPatch);
{
Page->Unload ();
}
Page = TexMan(pagename);
} }
} }

View file

@ -1014,9 +1014,6 @@ bool G_Responder (event_t *ev)
// G_Ticker // G_Ticker
// Make ticcmd_ts for the players. // Make ticcmd_ts for the players.
// //
extern FTexture *Page;
void G_Ticker () void G_Ticker ()
{ {
int i; int i;
@ -1118,12 +1115,7 @@ void G_Ticker ()
if (oldgamestate != gamestate) if (oldgamestate != gamestate)
{ {
if (oldgamestate == GS_DEMOSCREEN && Page != NULL) if (oldgamestate == GS_FINALE)
{
Page->Unload();
Page = NULL;
}
else if (oldgamestate == GS_FINALE)
{ {
F_EndFinale (); F_EndFinale ();
} }