Invert OpenGL rollangle for papersprites to match software renderer behaviour

This commit is contained in:
Lach 2023-01-26 15:29:35 +11:00
parent 43eb7526c0
commit 42fa7f4723

View file

@ -5179,8 +5179,16 @@ static void HWR_ProjectSprite(mobj_t *thing)
#ifdef ROTSPRITE
if (thing->rollangle
&& !(splat && !(thing->renderflags & RF_NOSPLATROLLANGLE)))
{
if (papersprite)
{
// a positive rollangle should should pitch papersprites upwards relative to their facing angle
rollangle = R_GetRollAngle(InvAngle(thing->rollangle));
}
else
{
rollangle = R_GetRollAngle(thing->rollangle);
}
rotsprite = Patch_GetRotatedSprite(sprframe, (thing->frame & FF_FRAMEMASK), rot, flip, false, sprinfo, rollangle);
if (rotsprite != NULL)