mirror of
https://github.com/ZDoom/raze-gles.git
synced 2025-01-23 07:30:40 +00:00
TROR/classic: fix a certain class of underdraw glitches.
Those were happening when wall drawing in an upper/lower layer "closed" too much of the "curtain" (umost/dmost) for subsequent drawing in that portal. Example: looking down the sewer manhole at the beginning of Retaliation will now render without HOM. git-svn-id: https://svn.eduke32.com/eduke32@2739 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
9f40f84cbe
commit
2fa7ccf9dd
1 changed files with 32 additions and 0 deletions
|
@ -4728,6 +4728,21 @@ static void drawalls(int32_t bunch)
|
|||
|
||||
if ((cz[2] >= cz[0]) && (cz[3] >= cz[1]))
|
||||
{
|
||||
#ifdef YAX_ENABLE
|
||||
int32_t doclip = (yax_globallev <= YAX_MAXDRAWS);
|
||||
|
||||
if (!doclip)
|
||||
{
|
||||
for (x=x1; x<=x2; x++)
|
||||
if (dwall[x] < dmost[x] || uplc[x] < dmost[x])
|
||||
{
|
||||
doclip = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (doclip)
|
||||
#endif
|
||||
for (x=x1; x<=x2; x++)
|
||||
if (dwall[x] > umost[x])
|
||||
if (umost[x] <= dmost[x])
|
||||
|
@ -4738,6 +4753,7 @@ static void drawalls(int32_t bunch)
|
|||
}
|
||||
else
|
||||
{
|
||||
// TROR: TODO: same doclip tweak as above?
|
||||
for (x=x1; x<=x2; x++)
|
||||
if (umost[x] <= dmost[x])
|
||||
{
|
||||
|
@ -4810,6 +4826,21 @@ static void drawalls(int32_t bunch)
|
|||
|
||||
if ((fz[2] <= fz[0]) && (fz[3] <= fz[1]))
|
||||
{
|
||||
#ifdef YAX_ENABLE
|
||||
int32_t doclip = (yax_globallev >= YAX_MAXDRAWS);
|
||||
|
||||
if (!doclip)
|
||||
{
|
||||
for (x=x1; x<=x2; x++)
|
||||
if (uwall[x] > umost[x] || dplc[x] > umost[x])
|
||||
{
|
||||
doclip = 1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (doclip)
|
||||
#endif
|
||||
for (x=x1; x<=x2; x++)
|
||||
if (uwall[x] < dmost[x])
|
||||
if (umost[x] <= dmost[x])
|
||||
|
@ -4820,6 +4851,7 @@ static void drawalls(int32_t bunch)
|
|||
}
|
||||
else
|
||||
{
|
||||
// TROR: TODO: same doclip tweak as above?
|
||||
for (x=x1; x<=x2; x++)
|
||||
if (umost[x] <= dmost[x])
|
||||
{
|
||||
|
|
Loading…
Reference in a new issue