Merge commit 'refs/pull/335/head' of https://github.com/coelckers/gzdoom

This commit is contained in:
Rachael Alexanderson 2017-05-29 04:53:39 -04:00
commit 2f7d512acf
4 changed files with 7 additions and 4 deletions

View file

@ -98,7 +98,7 @@ void GLSceneDrawer::DrawPSprite (player_t * player,DPSprite *psp, float sx, floa
// calculate edges of the shape // calculate edges of the shape
scalex = (320.0f / (240.0f * r_viewwindow.WidescreenRatio)) * vw / 320; scalex = (320.0f / (240.0f * r_viewwindow.WidescreenRatio)) * vw / 320;
tx = sx - (160 - r.left); tx = (psp->Flags & PSPF_MIRROR) ? ((160 - r.width) - (sx + r.left)) : (sx - (160 - r.left));
x1 = tx * scalex + vw/2; x1 = tx * scalex + vw/2;
if (x1 > vw) return; // off the right side if (x1 > vw) return; // off the right side
x1 += viewwindowx; x1 += viewwindowx;
@ -108,7 +108,6 @@ void GLSceneDrawer::DrawPSprite (player_t * player,DPSprite *psp, float sx, floa
if (x2 < 0) return; // off the left side if (x2 < 0) return; // off the left side
x2 += viewwindowx; x2 += viewwindowx;
// killough 12/98: fix psprite positioning problem // killough 12/98: fix psprite positioning problem
ftexturemid = 100.f - sy - r.top; ftexturemid = 100.f - sy - r.top;
@ -130,7 +129,8 @@ void GLSceneDrawer::DrawPSprite (player_t * player,DPSprite *psp, float sx, floa
y1 = viewwindowy + vh / 2 - (ftexturemid * scale); y1 = viewwindowy + vh / 2 - (ftexturemid * scale);
y2 = y1 + (r.height * scale) + 1; y2 = y1 + (r.height * scale) + 1;
if (!(mirror) != !(psp->Flags & PSPF_FLIP))
if (!(mirror) != !(psp->Flags & (PSPF_FLIP)))
{ {
fU2 = tex->GetSpriteUL(); fU2 = tex->GetSpriteUL();
fV1 = tex->GetSpriteVT(); fV1 = tex->GetSpriteVT();
@ -437,7 +437,7 @@ void GLSceneDrawer::DrawPlayerSprites(sector_t * viewsector, bool hudModelStep)
if (psp->Flags & PSPF_ADDBOB) if (psp->Flags & PSPF_ADDBOB)
{ {
sx += bobx; sx += (psp->Flags & PSPF_MIRROR) ? -bobx : bobx;
sy += boby; sy += boby;
} }

View file

@ -141,6 +141,7 @@ DEFINE_FIELD_BIT(DPSprite, Flags, bAddBob, PSPF_ADDBOB)
DEFINE_FIELD_BIT(DPSprite, Flags, bPowDouble, PSPF_POWDOUBLE) DEFINE_FIELD_BIT(DPSprite, Flags, bPowDouble, PSPF_POWDOUBLE)
DEFINE_FIELD_BIT(DPSprite, Flags, bCVarFast, PSPF_CVARFAST) DEFINE_FIELD_BIT(DPSprite, Flags, bCVarFast, PSPF_CVARFAST)
DEFINE_FIELD_BIT(DPSprite, Flags, bFlip, PSPF_FLIP) DEFINE_FIELD_BIT(DPSprite, Flags, bFlip, PSPF_FLIP)
DEFINE_FIELD_BIT(DPSprite, Flags, bMirror, PSPF_MIRROR)
//------------------------------------------------------------------------ //------------------------------------------------------------------------
// //

View file

@ -68,6 +68,7 @@ enum PSPFlags
PSPF_FLIP = 1 << 6, PSPF_FLIP = 1 << 6,
PSPF_FORCEALPHA = 1 << 7, PSPF_FORCEALPHA = 1 << 7,
PSPF_FORCESTYLE = 1 << 8, PSPF_FORCESTYLE = 1 << 8,
PSPF_MIRROR = 1 << 9,
}; };
class DPSprite : public DObject class DPSprite : public DObject

View file

@ -726,6 +726,7 @@ enum EPSpriteFlags
PSPF_FLIP = 1 << 6, PSPF_FLIP = 1 << 6,
PSPF_FORCEALPHA = 1 << 7, PSPF_FORCEALPHA = 1 << 7,
PSPF_FORCESTYLE = 1 << 8, PSPF_FORCESTYLE = 1 << 8,
PSPF_MIRROR = 1 << 9,
}; };
// Default psprite layers // Default psprite layers