- clear the screen before drawing content, not afterward.

The intermission screens got it wrong and drew the black border over the image.
This commit is contained in:
Christoph Oelckers 2020-03-17 08:50:00 +01:00
parent 15d4fb8fcd
commit d32e0b91c2
2 changed files with 2 additions and 4 deletions

View file

@ -231,7 +231,6 @@ void DIntermissionScreen::Drawer ()
if (CheckOverlay(i)) if (CheckOverlay(i))
screen->DrawTexture (TexMan.GetTexture(mOverlays[i].mPic), mOverlays[i].x, mOverlays[i].y, DTA_320x200, true, TAG_DONE); screen->DrawTexture (TexMan.GetTexture(mOverlays[i].mPic), mOverlays[i].x, mOverlays[i].y, DTA_320x200, true, TAG_DONE);
} }
if (!mFlatfill) screen->FillBorder (NULL);
if (mSubtitle) if (mSubtitle)
{ {
const char *sub = mSubtitle.GetChars(); const char *sub = mSubtitle.GetChars();
@ -293,7 +292,6 @@ void DIntermissionScreenFader::Drawer ()
if (CheckOverlay(i)) if (CheckOverlay(i))
screen->DrawTexture (TexMan.GetTexture(mOverlays[i].mPic), mOverlays[i].x, mOverlays[i].y, DTA_320x200, true, DTA_ColorOverlay, color, TAG_DONE); screen->DrawTexture (TexMan.GetTexture(mOverlays[i].mPic), mOverlays[i].x, mOverlays[i].y, DTA_320x200, true, DTA_ColorOverlay, color, TAG_DONE);
} }
screen->FillBorder (NULL);
} }
} }
@ -756,7 +754,6 @@ void DIntermissionScreenScroller::Drawer ()
DTA_Masked, false, DTA_Masked, false,
TAG_DONE); TAG_DONE);
screen->FillBorder (NULL);
mBackground = mSecondPic; mBackground = mSecondPic;
} }
else else
@ -921,6 +918,7 @@ void DIntermissionController::Drawer ()
{ {
if (mScreen != NULL) if (mScreen != NULL)
{ {
screen->FillBorder(nullptr);
mScreen->Drawer(); mScreen->Drawer();
} }
} }

View file

@ -599,7 +599,6 @@ void DInterBackground::drawBackground(int state, bool drawsplat, bool snl_pointe
// placing the animations precisely where they belong on the base pic // placing the animations precisely where they belong on the base pic
animwidth = background->GetDisplayWidthDouble(); animwidth = background->GetDisplayWidthDouble();
animheight = background->GetDisplayHeightDouble(); animheight = background->GetDisplayHeightDouble();
screen->FillBorder(NULL);
screen->DrawTexture(background, 0, 0, DTA_Fullscreen, true, TAG_DONE); screen->DrawTexture(background, 0, 0, DTA_Fullscreen, true, TAG_DONE);
} }
else else
@ -724,6 +723,7 @@ void WI_Drawer()
ScaleOverrider s; ScaleOverrider s;
IFVIRTUALPTRNAME(WI_Screen, "StatusScreen", Drawer) IFVIRTUALPTRNAME(WI_Screen, "StatusScreen", Drawer)
{ {
screen->FillBorder(nullptr);
VMValue self = WI_Screen; VMValue self = WI_Screen;
VMCall(func, &self, 1, nullptr, 0); VMCall(func, &self, 1, nullptr, 0);
screen->ClearClipRect(); // make sure the scripts don't leave a valid clipping rect behind. screen->ClearClipRect(); // make sure the scripts don't leave a valid clipping rect behind.