Finish what r5484 started but got reverted in r5723. Cstat 1024 now works properly in Polymost without causing any side effects in Classic. It remains unimplemented in Polymer.

git-svn-id: https://svn.eduke32.com/eduke32@5857 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
hendricks266 2016-09-09 03:12:23 +00:00
parent b73f2f3e17
commit bca7e1a91e

View file

@ -8423,11 +8423,11 @@ killsprite:
while (i)
{
i--;
if (tspriteptr[i] != NULL && ((tspriteptr[i]->cstat & 1024) != 1024
#ifdef POLYMER
|| getrendermode() == REND_POLYMER
if (tspriteptr[i] != NULL
#ifdef USE_OPENGL
&& (!(tspriteptr[i]->cstat & 1024) || getrendermode() != REND_POLYMOST)
#endif
))
)
{
vec2f_t spr;
const uspritetype *tspr = tspriteptr[i];
@ -8499,10 +8499,7 @@ killsprite:
{
debugmask_add(i | 32768, tspr->owner);
drawsprite(i);
#ifdef POLYMER
if (tspr->cstat & 1024 && getrendermode() == REND_POLYMER)
continue;
#endif
tspriteptr[i] = NULL;
}
}
@ -8518,36 +8515,37 @@ killsprite:
while (i)
{
i--;
if (tspriteptr[i] != NULL && ((tspriteptr[i]->cstat & 1024) != 1024
#ifdef POLYMER
|| getrendermode() == REND_POLYMER
if (tspriteptr[i] != NULL
#ifdef USE_OPENGL
&& (!(tspriteptr[i]->cstat & 1024) || getrendermode() != REND_POLYMOST)
#endif
))
)
{
debugmask_add(i | 32768, tspriteptr[i]->owner);
drawsprite(i);
tspriteptr[i] = NULL;
}
}
#ifdef USE_OPENGL
if (getrendermode() >= REND_POLYMOST)
bglDepthMask(GL_FALSE);
#endif
while (spritesortcnt)
if (getrendermode() == REND_POLYMOST)
{
spritesortcnt--;
if (tspriteptr[spritesortcnt] != NULL && (tspriteptr[spritesortcnt]->cstat & 1024))
{
drawsprite(spritesortcnt);
tspriteptr[spritesortcnt] = NULL;
}
}
bglDepthMask(GL_FALSE);
while (spritesortcnt)
{
spritesortcnt--;
if (tspriteptr[spritesortcnt] != NULL)
{
Bassert(tspriteptr[spritesortcnt]->cstat & 1024);
drawsprite(spritesortcnt);
tspriteptr[spritesortcnt] = NULL;
}
}
#ifdef USE_OPENGL
if (getrendermode() >= REND_POLYMOST)
bglDepthMask(GL_TRUE);
}
#endif
#ifdef POLYMER