mirror of
https://git.do.srb2.org/STJr/SRB2.git
synced 2025-02-02 06:23:03 +00:00
Papersprite angle interpolation
Makes the ending signpost smooth
This commit is contained in:
parent
7dd7cccd79
commit
f34a61156c
2 changed files with 5 additions and 6 deletions
|
@ -5069,7 +5069,6 @@ static void HWR_ProjectSprite(mobj_t *thing)
|
||||||
INT32 heightsec, phs;
|
INT32 heightsec, phs;
|
||||||
const boolean splat = R_ThingIsFloorSprite(thing);
|
const boolean splat = R_ThingIsFloorSprite(thing);
|
||||||
const boolean papersprite = (R_ThingIsPaperSprite(thing) && !splat);
|
const boolean papersprite = (R_ThingIsPaperSprite(thing) && !splat);
|
||||||
angle_t mobjangle = (thing->player ? thing->player->drawangle : thing->angle);
|
|
||||||
float z1, z2;
|
float z1, z2;
|
||||||
|
|
||||||
fixed_t spr_width, spr_height;
|
fixed_t spr_width, spr_height;
|
||||||
|
@ -5275,8 +5274,8 @@ static void HWR_ProjectSprite(mobj_t *thing)
|
||||||
|
|
||||||
if (papersprite)
|
if (papersprite)
|
||||||
{
|
{
|
||||||
rightsin = FIXED_TO_FLOAT(FINESINE((mobjangle)>>ANGLETOFINESHIFT));
|
rightsin = FIXED_TO_FLOAT(FINESINE(interp.angle >> ANGLETOFINESHIFT));
|
||||||
rightcos = FIXED_TO_FLOAT(FINECOSINE((mobjangle)>>ANGLETOFINESHIFT));
|
rightcos = FIXED_TO_FLOAT(FINECOSINE(interp.angle >> ANGLETOFINESHIFT));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
|
@ -1742,8 +1742,8 @@ static void R_ProjectSprite(mobj_t *thing)
|
||||||
offset2 *= -1;
|
offset2 *= -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
cosmul = FINECOSINE(thing->angle>>ANGLETOFINESHIFT);
|
cosmul = FINECOSINE(interp.angle >> ANGLETOFINESHIFT);
|
||||||
sinmul = FINESINE(thing->angle>>ANGLETOFINESHIFT);
|
sinmul = FINESINE(interp.angle >> ANGLETOFINESHIFT);
|
||||||
|
|
||||||
tr_x += FixedMul(offset, cosmul);
|
tr_x += FixedMul(offset, cosmul);
|
||||||
tr_y += FixedMul(offset, sinmul);
|
tr_y += FixedMul(offset, sinmul);
|
||||||
|
@ -1759,7 +1759,7 @@ static void R_ProjectSprite(mobj_t *thing)
|
||||||
paperoffset = -paperoffset;
|
paperoffset = -paperoffset;
|
||||||
paperdistance = -paperdistance;
|
paperdistance = -paperdistance;
|
||||||
}
|
}
|
||||||
centerangle = viewangle - thing->angle;
|
centerangle = viewangle - interp.angle;
|
||||||
|
|
||||||
tr_x += FixedMul(offset2, cosmul);
|
tr_x += FixedMul(offset2, cosmul);
|
||||||
tr_y += FixedMul(offset2, sinmul);
|
tr_y += FixedMul(offset2, sinmul);
|
||||||
|
|
Loading…
Reference in a new issue