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

Rewritten version of STJr/SRB2!1770
This commit is contained in:
toaster 2022-09-07 13:05:40 +01:00
parent 129d1230d1
commit 7adca2ef19

View file

@ -1690,8 +1690,14 @@ static void R_ProjectSprite(mobj_t *thing)
if (spriterotangle
&& !(splat && !(thing->renderflags & RF_NOSPLATROLLANGLE)))
{
rollangle = R_GetRollAngle(vflip
? InvAngle(spriterotangle) : spriterotangle);
if ((papersprite && ang >= ANGLE_180) != vflip)
{
rollangle = R_GetRollAngle(InvAngle(spriterotangle));
}
else
{
rollangle = R_GetRollAngle(spriterotangle);
}
rotsprite = Patch_GetRotatedSprite(sprframe, (thing->frame & FF_FRAMEMASK), rot, flip, false, sprinfo, rollangle);
if (rotsprite != NULL)