mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-25 13:51:43 +00:00
Fix screen texture issues with the OpenGL renderer
This commit is contained in:
parent
39f412bfd6
commit
e8bd639d9b
1 changed files with 35 additions and 40 deletions
75
src/f_wipe.c
75
src/f_wipe.c
|
@ -581,41 +581,31 @@ void F_StopAllWipes(void)
|
||||||
#ifndef NOWIPE
|
#ifndef NOWIPE
|
||||||
/** Renders the current wipe into wipe_scr.
|
/** Renders the current wipe into wipe_scr.
|
||||||
*/
|
*/
|
||||||
static void F_RenderWipe(fademask_t *fmask)
|
static void F_RenderWipe(UINT8 style, UINT8 flags, fademask_t *fmask)
|
||||||
{
|
{
|
||||||
switch (wipe_style)
|
if (style == WIPESTYLE_COLORMAP)
|
||||||
{
|
{
|
||||||
case WIPESTYLE_COLORMAP:
|
UINT8 *colormap = fadecolormap;
|
||||||
#ifdef HWRENDER
|
if (flags & WSF_TOWHITE)
|
||||||
if (rendermode == render_opengl)
|
colormap += (FADECOLORMAPROWS * 256);
|
||||||
{
|
F_DoColormapWipe(fmask, colormap);
|
||||||
// send in the wipe type and wipe frame because we need to cache the graphic
|
}
|
||||||
HWR_DoTintedWipe(wipe_type, wipe_frame-1);
|
else
|
||||||
}
|
{
|
||||||
else
|
F_DoWipe(fmask);
|
||||||
#endif
|
|
||||||
{
|
|
||||||
UINT8 *colormap = fadecolormap;
|
|
||||||
if (wipe_flags & WSF_TOWHITE)
|
|
||||||
colormap += (FADECOLORMAPROWS * 256);
|
|
||||||
F_DoColormapWipe(fmask, colormap);
|
|
||||||
}
|
|
||||||
break;
|
|
||||||
case WIPESTYLE_NORMAL:
|
|
||||||
#ifdef HWRENDER
|
|
||||||
if (rendermode == render_opengl)
|
|
||||||
{
|
|
||||||
// send in the wipe type and wipe frame because we need to cache the graphic
|
|
||||||
HWR_DoWipe(wipe_type, wipe_frame-1);
|
|
||||||
}
|
|
||||||
else
|
|
||||||
#endif
|
|
||||||
F_DoWipe(fmask);
|
|
||||||
break;
|
|
||||||
default:
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef HWRENDER
|
||||||
|
static void F_RenderWipeHW(UINT8 style, UINT8 type, UINT8 frame)
|
||||||
|
{
|
||||||
|
// send in the wipe type and wipe frame because we need to cache the graphic
|
||||||
|
if (style == WIPESTYLE_COLORMAP)
|
||||||
|
HWR_DoTintedWipe(type, frame);
|
||||||
|
else
|
||||||
|
HWR_DoWipe(type, frame);
|
||||||
|
}
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/** Displays the current wipe.
|
/** Displays the current wipe.
|
||||||
|
@ -630,21 +620,26 @@ void F_DisplayWipe(void)
|
||||||
if (!fmask)
|
if (!fmask)
|
||||||
{
|
{
|
||||||
// Save screen for post-wipe
|
// Save screen for post-wipe
|
||||||
if (!(wipe_flags & WSF_CROSSFADE))
|
fmask = F_GetFadeMask(wipe_type, wipe_frame-1);
|
||||||
|
if (fmask)
|
||||||
{
|
{
|
||||||
fmask = F_GetFadeMask(wipe_type, wipe_frame-1);
|
#ifdef HWRENDER
|
||||||
if (!fmask)
|
if (rendermode == render_opengl)
|
||||||
return;
|
F_RenderWipeHW(wipe_style, wipe_type, wipe_frame-1);
|
||||||
else
|
else
|
||||||
{
|
#endif
|
||||||
F_RenderWipe(fmask);
|
F_RenderWipe(wipe_style, wipe_flags, fmask);
|
||||||
F_WipeStartScreen();
|
F_WipeStartScreen();
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
F_RenderWipe(fmask);
|
#ifdef HWRENDER
|
||||||
|
if (rendermode == render_opengl)
|
||||||
|
F_RenderWipeHW(wipe_style, wipe_type, wipe_frame);
|
||||||
|
else
|
||||||
|
#endif
|
||||||
|
F_RenderWipe(wipe_style, wipe_flags, fmask);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue