mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2024-11-15 17:22:12 +00:00
Prevent linkdraw sprites from connecting to shadows
This commit is contained in:
parent
48c1ce3ac3
commit
c46c92d605
2 changed files with 12 additions and 2 deletions
|
@ -1122,6 +1122,8 @@ static void R_ProjectDropShadow(mobj_t *thing, vissprite_t *vis, fixed_t tx, fix
|
|||
}
|
||||
}
|
||||
|
||||
if (abs(floorz-viewz)/tz > 4) return; // Prevent stretchy shadows and possible crashes
|
||||
|
||||
floordiff = abs(thing->z - floorz);
|
||||
|
||||
trans = floordiff / (100*FRACUNIT) + 3;
|
||||
|
@ -1173,7 +1175,7 @@ static void R_ProjectDropShadow(mobj_t *thing, vissprite_t *vis, fixed_t tx, fix
|
|||
shadow->sector = vis->sector;
|
||||
shadow->szt = (INT16)((centeryfrac - FixedMul(shadow->gzt - viewz, yscale))>>FRACBITS);
|
||||
shadow->sz = (INT16)((centeryfrac - FixedMul(shadow->gz - viewz, yscale))>>FRACBITS);
|
||||
shadow->cut = SC_ISSCALED; //check this
|
||||
shadow->cut = SC_ISSCALED|SC_SHADOW; //check this
|
||||
|
||||
|
||||
shadow->startfrac = 0;
|
||||
|
@ -2069,6 +2071,9 @@ static void R_SortVisSprites(vissprite_t* vsprsortedhead, UINT32 start, UINT32 e
|
|||
if (!(ds->cut & SC_LINKDRAW))
|
||||
continue;
|
||||
|
||||
if (ds->cut & SC_SHADOW)
|
||||
continue;
|
||||
|
||||
// reuse dsfirst...
|
||||
for (dsfirst = unsorted.prev; dsfirst != &unsorted; dsfirst = dsfirst->prev)
|
||||
{
|
||||
|
@ -2076,6 +2081,10 @@ static void R_SortVisSprites(vissprite_t* vsprsortedhead, UINT32 start, UINT32 e
|
|||
if (dsfirst->cut & SC_LINKDRAW)
|
||||
continue;
|
||||
|
||||
// don't connect to your shadow!
|
||||
if (dsfirst->cut & SC_SHADOW)
|
||||
continue;
|
||||
|
||||
// don't connect if it's not the tracer
|
||||
if (dsfirst->mobj != ds->mobj)
|
||||
continue;
|
||||
|
|
|
@ -153,7 +153,8 @@ typedef enum
|
|||
SC_LINKDRAW = 1<<3,
|
||||
SC_FULLBRIGHT = 1<<4,
|
||||
SC_VFLIP = 1<<5,
|
||||
SC_ISSCALED = 1>>6,
|
||||
SC_ISSCALED = 1<<6,
|
||||
SC_SHADOW = 1<<7,
|
||||
// masks
|
||||
SC_CUTMASK = SC_TOP|SC_BOTTOM,
|
||||
SC_FLAGMASK = ~SC_CUTMASK
|
||||
|
|
Loading…
Reference in a new issue