Adds cstat 8192 for sprites that do not cast shadows and documents it in build.h.

git-svn-id: https://svn.eduke32.com/eduke32@1433 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
plagman 2009-06-14 13:35:19 +00:00
parent 0f01a72fae
commit fb5811855d
2 changed files with 7 additions and 3 deletions

View file

@ -148,7 +148,8 @@ typedef struct BPACK
// bit 7: 1 = Real centered centering, 0 = foot center "C"
// bit 8: 1 = Blocking sprite (use with hitscan / cliptype 1) "H"
// bit 9: 1 = Transluscence reversing, 0 = normal "T"
// bits 10-13: reserved
// bits 10-12: reserved
// bit 13: 1 = does not cast shadow
// bit 14: 1 = invisible but casts shadow
// bit 15: 1 = Invisible sprite, 0 = not invisible

View file

@ -927,6 +927,11 @@ void polymer_drawsprite(int32_t snum)
if (tspr->owner < 0 || tspr->picnum < 0) return;
if ((tspr->cstat & 8192) && (depth && !mirrors[depth-1].plane))
return;
if ((tspr->cstat & 16384) && (!depth || mirrors[depth-1].plane))
return;
fogcalc(tspr->shade,sector[tspr->sectnum].visibility,sector[tspr->sectnum].floorpal);
bglFogf(GL_FOG_DENSITY,fogresult);
bglFogfv(GL_FOG_COLOR,fogcol);
@ -2992,8 +2997,6 @@ static inline void polymer_scansprites(int16_t sectnum, spritetype* localtsprit
(spr->xrepeat > 0) && (spr->yrepeat > 0) &&
(*localspritesortcnt < MAXSPRITESONSCREEN))
{
if ((spr->cstat & 16384) && (!depth || mirrors[depth-1].plane))
continue;
copybufbyte(spr,&localtsprite[*localspritesortcnt],sizeof(spritetype));
localtsprite[(*localspritesortcnt)++].owner = i;
}