From ee0bab2941b8e59054e34cb98f5e87d2580add51 Mon Sep 17 00:00:00 2001 From: Monster Iestyn <iestynjealous@ntlworld.com> Date: Thu, 21 Sep 2023 15:50:30 +0100 Subject: [PATCH] Remove adjustfeet parameter from Patch_GetRotatedSprite, remove [2] from spriteframe_t's rotated array. Following from my previous commit, these things are no longer needed: they existed ONLY for adding FEETADJUST offsets to rotated sprites in Lua HUD code. --- src/hardware/hw_main.c | 2 +- src/lua_hudlib.c | 4 ++-- src/r_defs.h | 2 +- src/r_patch.h | 2 +- src/r_patchrotation.c | 11 +++-------- src/r_things.c | 2 +- 6 files changed, 9 insertions(+), 14 deletions(-) diff --git a/src/hardware/hw_main.c b/src/hardware/hw_main.c index 59af61753..4a000f83a 100644 --- a/src/hardware/hw_main.c +++ b/src/hardware/hw_main.c @@ -5259,7 +5259,7 @@ static void HWR_ProjectSprite(mobj_t *thing) rollangle = R_GetRollAngle(spriterotangle); } - rotsprite = Patch_GetRotatedSprite(sprframe, (thing->frame & FF_FRAMEMASK), rot, flip, false, sprinfo, rollangle); + rotsprite = Patch_GetRotatedSprite(sprframe, (thing->frame & FF_FRAMEMASK), rot, flip, sprinfo, rollangle); if (rotsprite != NULL) { diff --git a/src/lua_hudlib.c b/src/lua_hudlib.c index 899e5a2dc..cf03776e0 100644 --- a/src/lua_hudlib.c +++ b/src/lua_hudlib.c @@ -517,7 +517,7 @@ static int libd_getSpritePatch(lua_State *L) INT32 rot = R_GetRollAngle(rollangle); if (rot) { - patch_t *rotsprite = Patch_GetRotatedSprite(sprframe, frame, angle, sprframe->flip & (1<<angle), false, &spriteinfo[i], rot); + patch_t *rotsprite = Patch_GetRotatedSprite(sprframe, frame, angle, sprframe->flip & (1<<angle), &spriteinfo[i], rot); LUA_PushUserdata(L, rotsprite, META_PATCH); lua_pushboolean(L, false); lua_pushboolean(L, true); @@ -629,7 +629,7 @@ static int libd_getSprite2Patch(lua_State *L) INT32 rot = R_GetRollAngle(rollangle); if (rot) { - patch_t *rotsprite = Patch_GetRotatedSprite(sprframe, frame, angle, sprframe->flip & (1<<angle), false, &skins[i].sprinfo[j], rot); + patch_t *rotsprite = Patch_GetRotatedSprite(sprframe, frame, angle, sprframe->flip & (1<<angle), &skins[i].sprinfo[j], rot); LUA_PushUserdata(L, rotsprite, META_PATCH); lua_pushboolean(L, false); lua_pushboolean(L, true); diff --git a/src/r_defs.h b/src/r_defs.h index dfd2d6d70..b862ad7a9 100644 --- a/src/r_defs.h +++ b/src/r_defs.h @@ -922,7 +922,7 @@ typedef struct UINT16 flip; #ifdef ROTSPRITE - rotsprite_t *rotated[2][16]; // Rotated patches + rotsprite_t *rotated[16]; // Rotated patches #endif } spriteframe_t; diff --git a/src/r_patch.h b/src/r_patch.h index a0ab3e75a..cc41639b3 100644 --- a/src/r_patch.h +++ b/src/r_patch.h @@ -37,7 +37,7 @@ patch_t *Patch_GetRotated(patch_t *patch, INT32 angle, boolean flip); patch_t *Patch_GetRotatedSprite( spriteframe_t *sprite, size_t frame, size_t spriteangle, - boolean flip, boolean adjustfeet, + boolean flip, void *info, INT32 rotationangle); angle_t R_ModelRotationAngle(interpmobjstate_t *interp); angle_t R_SpriteRotationAngle(interpmobjstate_t *interp); diff --git a/src/r_patchrotation.c b/src/r_patchrotation.c index b0cbeaa42..0cf4a9841 100644 --- a/src/r_patchrotation.c +++ b/src/r_patchrotation.c @@ -66,23 +66,22 @@ patch_t *Patch_GetRotated(patch_t *patch, INT32 angle, boolean flip) patch_t *Patch_GetRotatedSprite( spriteframe_t *sprite, size_t frame, size_t spriteangle, - boolean flip, boolean adjustfeet, + boolean flip, void *info, INT32 rotationangle) { rotsprite_t *rotsprite; spriteinfo_t *sprinfo = (spriteinfo_t *)info; INT32 idx = rotationangle; - UINT8 type = (adjustfeet ? 1 : 0); if (rotationangle < 1 || rotationangle >= ROTANGLES) return NULL; - rotsprite = sprite->rotated[type][spriteangle]; + rotsprite = sprite->rotated[spriteangle]; if (rotsprite == NULL) { rotsprite = RotatedPatch_Create(ROTANGLES); - sprite->rotated[type][spriteangle] = rotsprite; + sprite->rotated[spriteangle] = rotsprite; } if (flip) @@ -111,10 +110,6 @@ patch_t *Patch_GetRotatedSprite( } RotatedPatch_DoRotation(rotsprite, patch, rotationangle, xpivot, ypivot, flip); - - //BP: we cannot use special tric in hardware mode because feet in ground caused by z-buffer - if (adjustfeet) - ((patch_t *)rotsprite->patches[idx])->topoffset += FEETADJUST>>FRACBITS; } return rotsprite->patches[idx]; diff --git a/src/r_things.c b/src/r_things.c index 89c4f35eb..85d76fecd 100644 --- a/src/r_things.c +++ b/src/r_things.c @@ -1794,7 +1794,7 @@ static void R_ProjectSprite(mobj_t *thing) rollangle = R_GetRollAngle(spriterotangle); } - rotsprite = Patch_GetRotatedSprite(sprframe, (thing->frame & FF_FRAMEMASK), rot, flip, false, sprinfo, rollangle); + rotsprite = Patch_GetRotatedSprite(sprframe, (thing->frame & FF_FRAMEMASK), rot, flip, sprinfo, rollangle); if (rotsprite != NULL) {