- 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))
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)
{
const char *sub = mSubtitle.GetChars();
@ -293,7 +292,6 @@ void DIntermissionScreenFader::Drawer ()
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->FillBorder (NULL);
}
}
@ -756,7 +754,6 @@ void DIntermissionScreenScroller::Drawer ()
DTA_Masked, false,
TAG_DONE);
screen->FillBorder (NULL);
mBackground = mSecondPic;
}
else
@ -921,6 +918,7 @@ void DIntermissionController::Drawer ()
{
if (mScreen != NULL)
{
screen->FillBorder(nullptr);
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
animwidth = background->GetDisplayWidthDouble();
animheight = background->GetDisplayHeightDouble();
screen->FillBorder(NULL);
screen->DrawTexture(background, 0, 0, DTA_Fullscreen, true, TAG_DONE);
}
else
@ -724,6 +723,7 @@ void WI_Drawer()
ScaleOverrider s;
IFVIRTUALPTRNAME(WI_Screen, "StatusScreen", Drawer)
{
screen->FillBorder(nullptr);
VMValue self = WI_Screen;
VMCall(func, &self, 1, nullptr, 0);
screen->ClearClipRect(); // make sure the scripts don't leave a valid clipping rect behind.