mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-03-21 18:32:08 +00:00
Fix rotated flipped patches
This commit is contained in:
parent
b2f45986ad
commit
6145442a34
1 changed files with 5 additions and 7 deletions
|
@ -127,17 +127,15 @@ void RotatedPatch_DoRotation(rotsprite_t *rotsprite, patch_t *patch, INT32 angle
|
|||
#define ROTSPRITE_YCENTER (newheight / 2)
|
||||
|
||||
if (flip)
|
||||
idx += rotsprite->angles;
|
||||
|
||||
if (rotsprite->patches[idx])
|
||||
return;
|
||||
|
||||
if (bflip)
|
||||
{
|
||||
idx += rotsprite->angles;
|
||||
xpivot = width - xpivot;
|
||||
leftoffset = width - leftoffset;
|
||||
}
|
||||
|
||||
if (rotsprite->patches[idx])
|
||||
return;
|
||||
|
||||
// Find the dimensions of the rotated patch.
|
||||
{
|
||||
INT32 w1 = abs(FixedMul(width << FRACBITS, ca) - FixedMul(height << FRACBITS, sa));
|
||||
|
@ -226,7 +224,7 @@ void RotatedPatch_DoRotation(rotsprite_t *rotsprite, patch_t *patch, INT32 angle
|
|||
rotated = (patch_t *)Picture_Convert(PICFMT_FLAT16, rawdst, PICFMT_PATCH, 0, &size, newwidth, newheight, 0, 0, 0);
|
||||
|
||||
Z_ChangeTag(rotated, PU_PATCH_ROTATED);
|
||||
Z_SetUser(rotated, (void **)(&rotsprite->patches[angle]));
|
||||
Z_SetUser(rotated, (void **)(&rotsprite->patches[idx]));
|
||||
|
||||
rotated->leftoffset = (rotated->width / 2) + (leftoffset - xpivot);
|
||||
rotated->topoffset = (rotated->height / 2) + (patch->topoffset - ypivot);
|
||||
|
|
Loading…
Reference in a new issue