mirror of
https://github.com/ZDoom/raze-gles.git
synced 2024-12-25 03:00:46 +00:00
slight tweak for software renderer sprite picking: don't pick them if they're behind a TROR portal from the current position.
git-svn-id: https://svn.eduke32.com/eduke32@1971 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
5c2be94bff
commit
4d8d392bbf
1 changed files with 28 additions and 4 deletions
|
@ -4239,10 +4239,6 @@ static void drawalls(int32_t bunch)
|
||||||
int32_t z, wallnum, sectnum, nextsectnum;
|
int32_t z, wallnum, sectnum, nextsectnum;
|
||||||
int32_t startsmostwallcnt, startsmostcnt, gotswall;
|
int32_t startsmostwallcnt, startsmostcnt, gotswall;
|
||||||
char andwstat1, andwstat2;
|
char andwstat1, andwstat2;
|
||||||
#ifdef YAX_ENABLE
|
|
||||||
int32_t baselevp, checkcf;
|
|
||||||
int16_t bn[2];
|
|
||||||
#endif
|
|
||||||
|
|
||||||
z = bunchfirst[bunch];
|
z = bunchfirst[bunch];
|
||||||
sectnum = thesector[z]; sec = §or[sectnum];
|
sectnum = thesector[z]; sec = §or[sectnum];
|
||||||
|
@ -4257,6 +4253,15 @@ static void drawalls(int32_t bunch)
|
||||||
#ifdef YAX_ENABLE
|
#ifdef YAX_ENABLE
|
||||||
if (g_nodraw)
|
if (g_nodraw)
|
||||||
{
|
{
|
||||||
|
int32_t baselevp, checkcf;
|
||||||
|
int16_t bn[2];
|
||||||
|
# if 0
|
||||||
|
int32_t obunchchk = (1 && yax_globalbunch>=0 &&
|
||||||
|
haveymost[yax_globalbunch>>3]&(1<<(yax_globalbunch&7)));
|
||||||
|
|
||||||
|
// if (obunchchk)
|
||||||
|
x2 = yax_globalbunch*xdimen;
|
||||||
|
# endif
|
||||||
baselevp = (yax_globallev == YAX_MAXDRAWS);
|
baselevp = (yax_globallev == YAX_MAXDRAWS);
|
||||||
|
|
||||||
yax_getbunches(sectnum, &bn[0], &bn[1]);
|
yax_getbunches(sectnum, &bn[0], &bn[1]);
|
||||||
|
@ -4296,6 +4301,13 @@ static void drawalls(int32_t bunch)
|
||||||
yumost[x] = min(yumost[x], max(umost[x-x1], dplc[x-x1]));
|
yumost[x] = min(yumost[x], max(umost[x-x1], dplc[x-x1]));
|
||||||
ydmost[x] = max(ydmost[x], dmost[x-x1]);
|
ydmost[x] = max(ydmost[x], dmost[x-x1]);
|
||||||
}
|
}
|
||||||
|
# if 0
|
||||||
|
if (obunchchk)
|
||||||
|
{
|
||||||
|
yumost[x] = max(yumost[x], yumost[x-x1+x2]);
|
||||||
|
ydmost[x] = min(ydmost[x], ydmost[x-x1+x2]);
|
||||||
|
}
|
||||||
|
# endif
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -5182,6 +5194,9 @@ static void drawsprite(int32_t snum)
|
||||||
}
|
}
|
||||||
|
|
||||||
//sprite
|
//sprite
|
||||||
|
#ifdef YAX_ENABLE
|
||||||
|
if (yax_globallev==YAX_MAXDRAWS || searchit==2)
|
||||||
|
#endif
|
||||||
if ((searchit >= 1) && (searchx >= lx) && (searchx <= rx))
|
if ((searchit >= 1) && (searchx >= lx) && (searchx <= rx))
|
||||||
if ((searchy >= uwall[searchx]) && (searchy < dwall[searchx]))
|
if ((searchy >= uwall[searchx]) && (searchy < dwall[searchx]))
|
||||||
{
|
{
|
||||||
|
@ -5462,6 +5477,9 @@ static void drawsprite(int32_t snum)
|
||||||
}
|
}
|
||||||
|
|
||||||
//sprite
|
//sprite
|
||||||
|
#ifdef YAX_ENABLE
|
||||||
|
if (yax_globallev==YAX_MAXDRAWS || searchit==2)
|
||||||
|
#endif
|
||||||
if ((searchit >= 1) && (searchx >= xb1[MAXWALLSB-1]) && (searchx <= xb2[MAXWALLSB-1]))
|
if ((searchit >= 1) && (searchx >= xb1[MAXWALLSB-1]) && (searchx <= xb2[MAXWALLSB-1]))
|
||||||
if ((searchy >= uwall[searchx]) && (searchy <= dwall[searchx]))
|
if ((searchy >= uwall[searchx]) && (searchy <= dwall[searchx]))
|
||||||
{
|
{
|
||||||
|
@ -5745,6 +5763,9 @@ static void drawsprite(int32_t snum)
|
||||||
}
|
}
|
||||||
|
|
||||||
//sprite
|
//sprite
|
||||||
|
#ifdef YAX_ENABLE
|
||||||
|
if (yax_globallev==YAX_MAXDRAWS || searchit==2)
|
||||||
|
#endif
|
||||||
if ((searchit >= 1) && (searchx >= lx) && (searchx <= rx))
|
if ((searchit >= 1) && (searchx >= lx) && (searchx <= rx))
|
||||||
if ((searchy >= uwall[searchx]) && (searchy <= dwall[searchx]))
|
if ((searchy >= uwall[searchx]) && (searchy <= dwall[searchx]))
|
||||||
{
|
{
|
||||||
|
@ -5877,6 +5898,9 @@ static void drawsprite(int32_t snum)
|
||||||
globvis = globalvisibility;
|
globvis = globalvisibility;
|
||||||
if (sec->visibility != 0) globvis = mulscale4(globvis,(int32_t)((uint8_t)(sec->visibility+16)));
|
if (sec->visibility != 0) globvis = mulscale4(globvis,(int32_t)((uint8_t)(sec->visibility+16)));
|
||||||
|
|
||||||
|
#ifdef YAX_ENABLE
|
||||||
|
if (yax_globallev==YAX_MAXDRAWS || searchit==2)
|
||||||
|
#endif
|
||||||
if ((searchit >= 1) && (yp > (4<<8)) && (searchy >= lwall[searchx]) && (searchy < swall[searchx]))
|
if ((searchit >= 1) && (yp > (4<<8)) && (searchy >= lwall[searchx]) && (searchy < swall[searchx]))
|
||||||
{
|
{
|
||||||
siz = divscale19(xdimenscale,yp);
|
siz = divscale19(xdimenscale,yp);
|
||||||
|
|
Loading…
Reference in a new issue