From 7adca2ef1990e07a130b4d438ba386a784289cc8 Mon Sep 17 00:00:00 2001 From: toaster Date: Wed, 7 Sep 2022 13:05:40 +0100 Subject: [PATCH] Fix papersprites being rotated incorrectly in Software when viewing them on the flipped side Rewritten version of STJr/SRB2!1770 --- src/r_things.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/r_things.c b/src/r_things.c index cc5694dff..97e164a5b 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -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)