From 0642e2206e51cc6f9534fc6450fdf25635cd0ce3 Mon Sep 17 00:00:00 2001 From: James R Date: Tue, 6 Apr 2021 16:16:08 -0700 Subject: [PATCH] Rotate sprite correctly in reverse gravity --- src/hardware/hw_main.c | 3 ++- src/r_things.c | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) 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)