diff options
Diffstat (limited to 'src/strife/r_things.c')
-rw-r--r-- | src/strife/r_things.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/strife/r_things.c b/src/strife/r_things.c index 82039dd8..90267052 100644 --- a/src/strife/r_things.c +++ b/src/strife/r_things.c @@ -699,7 +699,6 @@ void R_DrawPSprite (pspdef_t* psp) // store information in a vissprite vis = &avis; vis->mobjflags = 0; - vis->texturemid = (BASEYCENTER<<FRACBITS)+FRACUNIT/2-(psp->sy-spritetopoffset[lump]); vis->x1 = x1 < 0 ? 0 : x1; vis->x2 = x2 >= viewwidth ? viewwidth-1 : x2; vis->scale = pspritescale<<detailshift; @@ -714,6 +713,10 @@ void R_DrawPSprite (pspdef_t* psp) vis->xiscale = pspriteiscale; vis->startfrac = 0; } + + // villsa [STRIFE] calculate y offset with view pitch + vis->texturemid = ((BASEYCENTER<<FRACBITS)+FRACUNIT/2)-(psp->sy-spritetopoffset[lump]) + + FixedMul(vis->xiscale, (centery-viewheight/2)<<FRACBITS); if (vis->x1 > x1) vis->startfrac += vis->xiscale*(vis->x1-x1); |