// if this doesn't work i'm removing papersprites
(check both the left and right side overflow of the sprite column being drawn)
This commit is contained in:
parent
86d4eb9655
commit
dc0144540b
|
@ -920,7 +920,7 @@ static void R_DrawVisSprite(vissprite_t *vis)
|
||||||
if (vis->scalestep) // currently papersprites only
|
if (vis->scalestep) // currently papersprites only
|
||||||
{
|
{
|
||||||
#ifndef RANGECHECK
|
#ifndef RANGECHECK
|
||||||
if ((frac>>FRACBITS) >= SHORT(patch->width)) // slower but kills intermittent crashes...
|
if ((frac>>FRACBITS) < 0 || (frac>>FRACBITS) >= SHORT(patch->width)) // if this doesn't work i'm removing papersprites
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
sprtopscreen = (centeryfrac - FixedMul(dc_texturemid, spryscale));
|
sprtopscreen = (centeryfrac - FixedMul(dc_texturemid, spryscale));
|
||||||
|
@ -1271,6 +1271,9 @@ static void R_ProjectSprite(mobj_t *thing)
|
||||||
{
|
{
|
||||||
fixed_t yscale2, cosmul, sinmul, tz2;
|
fixed_t yscale2, cosmul, sinmul, tz2;
|
||||||
|
|
||||||
|
if (x2 <= x1)
|
||||||
|
return;
|
||||||
|
|
||||||
if (ang >= ANGLE_180)
|
if (ang >= ANGLE_180)
|
||||||
{
|
{
|
||||||
offset *= -1;
|
offset *= -1;
|
||||||
|
@ -1299,9 +1302,6 @@ static void R_ProjectSprite(mobj_t *thing)
|
||||||
if (max(tz, tz2) < FixedMul(MINZ, this_scale)) // non-papersprite clipping is handled earlier
|
if (max(tz, tz2) < FixedMul(MINZ, this_scale)) // non-papersprite clipping is handled earlier
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (x2 <= x1)
|
|
||||||
return;
|
|
||||||
|
|
||||||
scalestep = (yscale2 - yscale)/(x2 - x1);
|
scalestep = (yscale2 - yscale)/(x2 - x1);
|
||||||
|
|
||||||
// The following two are alternate sorting methods which might be more applicable in some circumstances. TODO - maybe enable via MF2?
|
// The following two are alternate sorting methods which might be more applicable in some circumstances. TODO - maybe enable via MF2?
|
||||||
|
|
Loading…
Reference in a new issue