Fix papersprites being rotated incorrectly in Software when viewing them on the flipped side

This commit is contained in:
Sally Coolatta 2022-03-22 05:53:21 -04:00
parent 55854410ac
commit 8c62a0d640

View file

@ -1610,8 +1610,17 @@ static void R_ProjectSprite(mobj_t *thing)
#ifdef ROTSPRITE #ifdef ROTSPRITE
if (thing->rollangle if (thing->rollangle
&& !(splat && !(thing->renderflags & RF_NOSPLATROLLANGLE))) && !(splat && !(thing->renderflags & RF_NOSPLATROLLANGLE)))
{
if (papersprite && ang >= ANGLE_180)
{
// Makes Software act much more sane like OpenGL
rollangle = R_GetRollAngle(InvAngle(thing->rollangle));
}
else
{ {
rollangle = R_GetRollAngle(thing->rollangle); rollangle = R_GetRollAngle(thing->rollangle);
}
rotsprite = Patch_GetRotatedSprite(sprframe, (thing->frame & FF_FRAMEMASK), rot, flip, false, sprinfo, rollangle); rotsprite = Patch_GetRotatedSprite(sprframe, (thing->frame & FF_FRAMEMASK), rot, flip, false, sprinfo, rollangle);
if (rotsprite != NULL) if (rotsprite != NULL)