mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-11 07:11:54 +00:00
- fixed: The wipe textures need to be rendered with DTA_Masked set to false because they contain bogus alpha values where a stencil got rendered.
This commit is contained in:
parent
bec588eaf4
commit
bec1825e8c
1 changed files with 6 additions and 6 deletions
|
@ -238,8 +238,8 @@ Wiper::~Wiper()
|
||||||
bool Wiper_Crossfade::Run(int ticks)
|
bool Wiper_Crossfade::Run(int ticks)
|
||||||
{
|
{
|
||||||
Clock += ticks;
|
Clock += ticks;
|
||||||
screen->DrawTexture(startScreen, 0, 0, DTA_FlipY, screen->RenderTextureIsFlipped(), TAG_DONE);
|
screen->DrawTexture(startScreen, 0, 0, DTA_FlipY, screen->RenderTextureIsFlipped(), DTA_Masked, false, TAG_DONE);
|
||||||
screen->DrawTexture(endScreen, 0, 0, DTA_FlipY, screen->RenderTextureIsFlipped(), DTA_Alpha, clamp(Clock / 32.f, 0.f, 1.f), TAG_DONE);
|
screen->DrawTexture(endScreen, 0, 0, DTA_FlipY, screen->RenderTextureIsFlipped(), DTA_Masked, false, DTA_Alpha, clamp(Clock / 32.f, 0.f, 1.f), TAG_DONE);
|
||||||
return Clock >= 32;
|
return Clock >= 32;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -274,7 +274,7 @@ Wiper_Melt::Wiper_Melt()
|
||||||
bool Wiper_Melt::Run(int ticks)
|
bool Wiper_Melt::Run(int ticks)
|
||||||
{
|
{
|
||||||
bool done;
|
bool done;
|
||||||
screen->DrawTexture(endScreen, 0, 0, DTA_FlipY, screen->RenderTextureIsFlipped(), TAG_DONE);
|
screen->DrawTexture(endScreen, 0, 0, DTA_FlipY, screen->RenderTextureIsFlipped(), DTA_Masked, false, TAG_DONE);
|
||||||
|
|
||||||
// Copy the old screen in vertical strips on top of the new one.
|
// Copy the old screen in vertical strips on top of the new one.
|
||||||
while (ticks--)
|
while (ticks--)
|
||||||
|
@ -319,7 +319,7 @@ bool Wiper_Melt::Run(int ticks)
|
||||||
rect.bottom = h - dpt.y;
|
rect.bottom = h - dpt.y;
|
||||||
if (rect.bottom > rect.top)
|
if (rect.bottom > rect.top)
|
||||||
{
|
{
|
||||||
screen->DrawTexture(startScreen, 0, dpt.y, DTA_FlipY, screen->RenderTextureIsFlipped(), DTA_ClipLeft, rect.left, DTA_ClipRight, rect.right, TAG_DONE);
|
screen->DrawTexture(startScreen, 0, dpt.y, DTA_FlipY, screen->RenderTextureIsFlipped(), DTA_ClipLeft, rect.left, DTA_ClipRight, rect.right, DTA_Masked, false, TAG_DONE);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -388,8 +388,8 @@ bool Wiper_Burn::Run(int ticks)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
screen->DrawTexture(startScreen, 0, 0, DTA_FlipY, screen->RenderTextureIsFlipped(), TAG_DONE);
|
screen->DrawTexture(startScreen, 0, 0, DTA_FlipY, screen->RenderTextureIsFlipped(), DTA_Masked, false, TAG_DONE);
|
||||||
screen->DrawTexture(endScreen, 0, 0, DTA_FlipY, screen->RenderTextureIsFlipped(), DTA_Burn, true, DTA_LegacyRenderStyle, STYLE_Translucent, TAG_DONE);
|
screen->DrawTexture(endScreen, 0, 0, DTA_FlipY, screen->RenderTextureIsFlipped(), DTA_Burn, true, DTA_Masked, false, TAG_DONE);
|
||||||
|
|
||||||
// The fire may not always stabilize, so the wipe is forced to end
|
// The fire may not always stabilize, so the wipe is forced to end
|
||||||
// after an arbitrary maximum time.
|
// after an arbitrary maximum time.
|
||||||
|
|
Loading…
Reference in a new issue