mirror of
https://github.com/ZDoom/gzdoom-gles.git
synced 2025-02-21 11:01:36 +00:00
- removed back and forth fixed<->float conversions in sprite code.
This commit is contained in:
parent
58eb64a7e0
commit
252a6e9038
2 changed files with 7 additions and 7 deletions
|
@ -378,7 +378,7 @@ inline void GLSprite::PutSprite(bool translucent)
|
||||||
//
|
//
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
void GLSprite::PerformSpriteClipAdjustment(AActor *thing, fixed_t thingx, fixed_t thingy, float spriteheight)
|
void GLSprite::PerformSpriteClipAdjustment(AActor *thing, const DVector2 &thingpos, float spriteheight)
|
||||||
{
|
{
|
||||||
bool smarterclip = false; // Set to true if one condition triggers the test below
|
bool smarterclip = false; // Set to true if one condition triggers the test below
|
||||||
if (((thing->player || thing->flags3&MF3_ISMONSTER ||
|
if (((thing->player || thing->flags3&MF3_ISMONSTER ||
|
||||||
|
@ -394,8 +394,8 @@ void GLSprite::PerformSpriteClipAdjustment(AActor *thing, fixed_t thingx, fixed_
|
||||||
for (unsigned int i = 0; i < x.ffloors.Size(); i++)
|
for (unsigned int i = 0; i < x.ffloors.Size(); i++)
|
||||||
{
|
{
|
||||||
F3DFloor * ff = x.ffloors[i];
|
F3DFloor * ff = x.ffloors[i];
|
||||||
float floorh = FIXED2FLOAT(ff->top.plane->ZatPointFixed(thingx, thingy));
|
float floorh = ff->top.plane->ZatPoint(thingpos);
|
||||||
float ceilingh = FIXED2FLOAT(ff->bottom.plane->ZatPointFixed(thingx, thingy));
|
float ceilingh = ff->bottom.plane->ZatPoint(thingpos);
|
||||||
if (floorh == thing->floorz)
|
if (floorh == thing->floorz)
|
||||||
{
|
{
|
||||||
btm = floorh;
|
btm = floorh;
|
||||||
|
@ -413,7 +413,7 @@ void GLSprite::PerformSpriteClipAdjustment(AActor *thing, fixed_t thingx, fixed_
|
||||||
else if (thing->Sector->heightsec && !(thing->Sector->heightsec->MoreFlags & SECF_IGNOREHEIGHTSEC))
|
else if (thing->Sector->heightsec && !(thing->Sector->heightsec->MoreFlags & SECF_IGNOREHEIGHTSEC))
|
||||||
{
|
{
|
||||||
if (thing->flags2&MF2_ONMOBJ && thing->floorz ==
|
if (thing->flags2&MF2_ONMOBJ && thing->floorz ==
|
||||||
FIXED2FLOAT(thing->Sector->heightsec->floorplane.ZatPointFixed(thingx, thingy)))
|
thing->Sector->heightsec->floorplane.ZatPoint(thingpos)))
|
||||||
{
|
{
|
||||||
btm = thing->floorz;
|
btm = thing->floorz;
|
||||||
top = thing->ceilingz;
|
top = thing->ceilingz;
|
||||||
|
@ -422,7 +422,7 @@ void GLSprite::PerformSpriteClipAdjustment(AActor *thing, fixed_t thingx, fixed_
|
||||||
if (btm == 1000000.0f)
|
if (btm == 1000000.0f)
|
||||||
btm = thing->Sector->floorplane.ZatPoint(thing) - thing->Floorclip;
|
btm = thing->Sector->floorplane.ZatPoint(thing) - thing->Floorclip;
|
||||||
if (top == -1000000.0f)
|
if (top == -1000000.0f)
|
||||||
top = FIXED2FLOAT(thing->Sector->ceilingplane.ZatPointFixed(thingx, thingy));
|
top = thing->Sector->ceilingplane.ZatPoint(thingpos);
|
||||||
|
|
||||||
// +/-1 to account for the one pixel empty frame around the sprite.
|
// +/-1 to account for the one pixel empty frame around the sprite.
|
||||||
float diffb = (z2+1) - btm;
|
float diffb = (z2+1) - btm;
|
||||||
|
@ -604,7 +604,7 @@ void GLSprite::Process(AActor* thing,sector_t * sector)
|
||||||
// Tests show that this doesn't look good for many decorations and corpses
|
// Tests show that this doesn't look good for many decorations and corpses
|
||||||
if (spriteheight > 0 && gl_spriteclip > 0 && (thing->renderflags & RF_SPRITETYPEMASK) == RF_FACESPRITE)
|
if (spriteheight > 0 && gl_spriteclip > 0 && (thing->renderflags & RF_SPRITETYPEMASK) == RF_FACESPRITE)
|
||||||
{
|
{
|
||||||
PerformSpriteClipAdjustment(thing, FLOAT2FIXED(thingpos.X), FLOAT2FIXED(thingpos.Y), spriteheight);
|
PerformSpriteClipAdjustment(thing, thingpos, spriteheight);
|
||||||
}
|
}
|
||||||
|
|
||||||
float viewvecX;
|
float viewvecX;
|
||||||
|
|
|
@ -342,7 +342,7 @@ public:
|
||||||
TArray<lightlist_t> *lightlist;
|
TArray<lightlist_t> *lightlist;
|
||||||
|
|
||||||
void SetLowerParam();
|
void SetLowerParam();
|
||||||
void PerformSpriteClipAdjustment(AActor *thing, fixed_t thingx, fixed_t thingy, float spriteheight);
|
void PerformSpriteClipAdjustment(AActor *thing, const DVector2 &thingpos, float spriteheight);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue