diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 7235511a3..2c2f21406 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -5206,7 +5206,8 @@ static void HWR_ProjectSprite(mobj_t *thing) if (spriterotangle != 0 && !(splat && !(thing->renderflags & RF_NOSPLATROLLANGLE))) { - rollangle = R_GetRollAngle(spriterotangle); + rollangle = R_GetRollAngle(vflip + ? InvAngle(spriterotangle) : spriterotangle); rotsprite = Patch_GetRotatedSprite(sprframe, (thing->frame & FF_FRAMEMASK), rot, flip, false, sprinfo, rollangle); if (rotsprite != NULL) diff --git a/src/r_things.c b/src/r_things.c index 4713fd61b..bb848a679 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -1581,7 +1581,8 @@ static void R_ProjectSprite(mobj_t *thing) if (spriterotangle && !(splat && !(thing->renderflags & RF_NOSPLATROLLANGLE))) { - rollangle = R_GetRollAngle(spriterotangle); + rollangle = R_GetRollAngle(vflip + ? InvAngle(spriterotangle) : spriterotangle); rotsprite = Patch_GetRotatedSprite(sprframe, (thing->frame & FF_FRAMEMASK), rot, flip, false, sprinfo, rollangle); if (rotsprite != NULL)