mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-12-01 00:21:43 +00:00
- removed some fixed point functions that are no longer needed.
- fixed: Visplane checks should only compare the plane flags that are relevant for rendering and mask out the rest. - floatified FTransform and made the visplane checks a bit less verbose by moving the comparison as an operator into FTransform. Note that this operator needs forceinline on Visual Studio so that it won't get called as a function.
This commit is contained in:
parent
35a6994d0a
commit
04e614daec
6 changed files with 57 additions and 140 deletions
|
@ -487,8 +487,8 @@ FArchive &operator<< (FArchive &arc, side_t::part &p)
|
||||||
|
|
||||||
FArchive &operator<< (FArchive &arc, sector_t::splane &p)
|
FArchive &operator<< (FArchive &arc, sector_t::splane &p)
|
||||||
{
|
{
|
||||||
arc << p.xform.xoffs << p.xform.yoffs << p.xform.xscale << p.xform.yscale
|
arc << p.xform.xOffs << p.xform.yOffs << p.xform.xScale << p.xform.yScale
|
||||||
<< p.xform.angle << p.xform.base_yoffs << p.xform.base_angle
|
<< p.xform.Angle << p.xform.baseyOffs << p.xform.baseAngle
|
||||||
<< p.Flags << p.Light << p.Texture << p.TexZ << p.alpha;
|
<< p.Flags << p.Light << p.Texture << p.TexZ << p.alpha;
|
||||||
return arc;
|
return arc;
|
||||||
}
|
}
|
||||||
|
|
|
@ -680,28 +680,18 @@ void R_AddLine (seg_t *line)
|
||||||
|| curline->sidedef->GetTexture(side_t::mid).isValid()
|
|| curline->sidedef->GetTexture(side_t::mid).isValid()
|
||||||
|
|
||||||
// killough 3/7/98: Take flats offsets into account:
|
// killough 3/7/98: Take flats offsets into account:
|
||||||
|| backsector->GetXOffset(sector_t::floor) != frontsector->GetXOffset(sector_t::floor)
|
|| backsector->planes[sector_t::floor].xform != frontsector->planes[sector_t::floor].xform
|
||||||
|| backsector->GetYOffset(sector_t::floor) != frontsector->GetYOffset(sector_t::floor)
|
|| backsector->planes[sector_t::ceiling].xform != frontsector->planes[sector_t::ceiling].xform
|
||||||
|| backsector->GetXOffset(sector_t::ceiling) != frontsector->GetXOffset(sector_t::ceiling)
|
|
||||||
|| backsector->GetYOffset(sector_t::ceiling) != frontsector->GetYOffset(sector_t::ceiling)
|
|
||||||
|
|
||||||
|| backsector->GetPlaneLight(sector_t::floor) != frontsector->GetPlaneLight(sector_t::floor)
|
|| backsector->GetPlaneLight(sector_t::floor) != frontsector->GetPlaneLight(sector_t::floor)
|
||||||
|| backsector->GetPlaneLight(sector_t::ceiling) != frontsector->GetPlaneLight(sector_t::ceiling)
|
|| backsector->GetPlaneLight(sector_t::ceiling) != frontsector->GetPlaneLight(sector_t::ceiling)
|
||||||
|| backsector->GetFlags(sector_t::floor) != frontsector->GetFlags(sector_t::floor)
|
|| backsector->GetVisFlags(sector_t::floor) != frontsector->GetVisFlags(sector_t::floor)
|
||||||
|| backsector->GetFlags(sector_t::ceiling) != frontsector->GetFlags(sector_t::ceiling)
|
|| backsector->GetVisFlags(sector_t::ceiling) != frontsector->GetVisFlags(sector_t::ceiling)
|
||||||
|
|
||||||
// [RH] Also consider colormaps
|
// [RH] Also consider colormaps
|
||||||
|| backsector->ColorMap != frontsector->ColorMap
|
|| backsector->ColorMap != frontsector->ColorMap
|
||||||
|
|
||||||
// [RH] and scaling
|
|
||||||
|| backsector->GetXScale(sector_t::floor) != frontsector->GetXScale(sector_t::floor)
|
|
||||||
|| backsector->GetYScale(sector_t::floor) != frontsector->GetYScale(sector_t::floor)
|
|
||||||
|| backsector->GetXScale(sector_t::ceiling) != frontsector->GetXScale(sector_t::ceiling)
|
|
||||||
|| backsector->GetYScale(sector_t::ceiling) != frontsector->GetYScale(sector_t::ceiling)
|
|
||||||
|
|
||||||
// [RH] and rotation
|
|
||||||
|| backsector->GetAngle(sector_t::floor) != frontsector->GetAngle(sector_t::floor)
|
|
||||||
|| backsector->GetAngle(sector_t::ceiling) != frontsector->GetAngle(sector_t::ceiling)
|
|
||||||
|
|
||||||
// kg3D - and fake lights
|
// kg3D - and fake lights
|
||||||
|| (frontsector->e && frontsector->e->XFloor.lightlist.Size())
|
|| (frontsector->e && frontsector->e->XFloor.lightlist.Size())
|
||||||
|
@ -1118,11 +1108,7 @@ void R_Subsector (subsector_t *sub)
|
||||||
ceilinglightlevel + r_actualextralight, // killough 4/11/98
|
ceilinglightlevel + r_actualextralight, // killough 4/11/98
|
||||||
frontsector->GetAlpha(sector_t::ceiling),
|
frontsector->GetAlpha(sector_t::ceiling),
|
||||||
!!(frontsector->GetFlags(sector_t::ceiling) & PLANEF_ADDITIVE),
|
!!(frontsector->GetFlags(sector_t::ceiling) & PLANEF_ADDITIVE),
|
||||||
frontsector->GetXOffset(sector_t::ceiling), // killough 3/7/98
|
frontsector->planes[sector_t::ceiling].xform,
|
||||||
frontsector->GetYOffset(sector_t::ceiling), // killough 3/7/98
|
|
||||||
frontsector->GetXScale(sector_t::ceiling),
|
|
||||||
frontsector->GetYScale(sector_t::ceiling),
|
|
||||||
frontsector->GetAngle(sector_t::ceiling),
|
|
||||||
frontsector->sky,
|
frontsector->sky,
|
||||||
portal
|
portal
|
||||||
) : NULL;
|
) : NULL;
|
||||||
|
@ -1159,11 +1145,7 @@ void R_Subsector (subsector_t *sub)
|
||||||
floorlightlevel + r_actualextralight, // killough 3/16/98
|
floorlightlevel + r_actualextralight, // killough 3/16/98
|
||||||
frontsector->GetAlpha(sector_t::floor),
|
frontsector->GetAlpha(sector_t::floor),
|
||||||
!!(frontsector->GetFlags(sector_t::floor) & PLANEF_ADDITIVE),
|
!!(frontsector->GetFlags(sector_t::floor) & PLANEF_ADDITIVE),
|
||||||
frontsector->GetXOffset(sector_t::floor), // killough 3/7/98
|
frontsector->planes[sector_t::floor].xform,
|
||||||
frontsector->GetYOffset(sector_t::floor), // killough 3/7/98
|
|
||||||
frontsector->GetXScale(sector_t::floor),
|
|
||||||
frontsector->GetYScale(sector_t::floor),
|
|
||||||
frontsector->GetAngle(sector_t::floor),
|
|
||||||
frontsector->sky,
|
frontsector->sky,
|
||||||
portal
|
portal
|
||||||
) : NULL;
|
) : NULL;
|
||||||
|
@ -1221,11 +1203,7 @@ void R_Subsector (subsector_t *sub)
|
||||||
floorlightlevel + r_actualextralight, // killough 3/16/98
|
floorlightlevel + r_actualextralight, // killough 3/16/98
|
||||||
frontsector->GetAlpha(sector_t::floor),
|
frontsector->GetAlpha(sector_t::floor),
|
||||||
!!(fakeFloor->flags & FF_ADDITIVETRANS),
|
!!(fakeFloor->flags & FF_ADDITIVETRANS),
|
||||||
frontsector->GetXOffset(position), // killough 3/7/98
|
frontsector->planes[position].xform,
|
||||||
frontsector->GetYOffset(position), // killough 3/7/98
|
|
||||||
frontsector->GetXScale(position),
|
|
||||||
frontsector->GetYScale(position),
|
|
||||||
frontsector->GetAngle(position),
|
|
||||||
frontsector->sky,
|
frontsector->sky,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
@ -1286,11 +1264,7 @@ void R_Subsector (subsector_t *sub)
|
||||||
ceilinglightlevel + r_actualextralight, // killough 4/11/98
|
ceilinglightlevel + r_actualextralight, // killough 4/11/98
|
||||||
frontsector->GetAlpha(sector_t::ceiling),
|
frontsector->GetAlpha(sector_t::ceiling),
|
||||||
!!(fakeFloor->flags & FF_ADDITIVETRANS),
|
!!(fakeFloor->flags & FF_ADDITIVETRANS),
|
||||||
frontsector->GetXOffset(position), // killough 3/7/98
|
frontsector->planes[position].xform,
|
||||||
frontsector->GetYOffset(position), // killough 3/7/98
|
|
||||||
frontsector->GetXScale(position),
|
|
||||||
frontsector->GetYScale(position),
|
|
||||||
frontsector->GetAngle(position),
|
|
||||||
frontsector->sky,
|
frontsector->sky,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
|
|
117
src/r_defs.h
117
src/r_defs.h
|
@ -314,11 +314,6 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
// Returns < 0 : behind; == 0 : on; > 0 : in front
|
// Returns < 0 : behind; == 0 : on; > 0 : in front
|
||||||
int PointOnSide (fixed_t x, fixed_t y, fixed_t z) const
|
|
||||||
{
|
|
||||||
return PointOnSide(DVector3(FIXED2DBL(x), FIXED2DBL(y), FIXED2DBL(z)));
|
|
||||||
}
|
|
||||||
|
|
||||||
int PointOnSide(const DVector3 &pos) const
|
int PointOnSide(const DVector3 &pos) const
|
||||||
{
|
{
|
||||||
double v = (normal | pos) + D;
|
double v = (normal | pos) + D;
|
||||||
|
@ -334,23 +329,6 @@ public:
|
||||||
// Returns the value of z at (x,y)
|
// Returns the value of z at (x,y)
|
||||||
fixed_t ZatPoint(fixed_t x, fixed_t y) const = delete; // it is not allowed to call this.
|
fixed_t ZatPoint(fixed_t x, fixed_t y) const = delete; // it is not allowed to call this.
|
||||||
|
|
||||||
fixed_t ZatPointFixed(fixed_t x, fixed_t y) const
|
|
||||||
{
|
|
||||||
return FLOAT2FIXED(ZatPoint(FIXED2DBL(x), FIXED2DBL(y)));
|
|
||||||
}
|
|
||||||
|
|
||||||
// This is for the software renderer
|
|
||||||
fixed_t ZatPointFixed(const DVector2 &pos) const
|
|
||||||
{
|
|
||||||
return FLOAT2FIXED(ZatPoint(pos));
|
|
||||||
}
|
|
||||||
|
|
||||||
fixed_t ZatPointFixed(const vertex_t *v) const
|
|
||||||
{
|
|
||||||
return FLOAT2FIXED(ZatPoint(v));
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
// Returns the value of z at (x,y) as a double
|
// Returns the value of z at (x,y) as a double
|
||||||
double ZatPoint (double x, double y) const
|
double ZatPoint (double x, double y) const
|
||||||
{
|
{
|
||||||
|
@ -572,16 +550,24 @@ struct extsector_t
|
||||||
struct FTransform
|
struct FTransform
|
||||||
{
|
{
|
||||||
// killough 3/7/98: floor and ceiling texture offsets
|
// killough 3/7/98: floor and ceiling texture offsets
|
||||||
fixed_t xoffs, yoffs;
|
double xOffs, yOffs, baseyOffs;
|
||||||
|
|
||||||
// [RH] floor and ceiling texture scales
|
// [RH] floor and ceiling texture scales
|
||||||
fixed_t xscale, yscale;
|
double xScale, yScale;
|
||||||
|
|
||||||
// [RH] floor and ceiling texture rotation
|
// [RH] floor and ceiling texture rotation
|
||||||
angle_t angle;
|
DAngle Angle, baseAngle;
|
||||||
|
|
||||||
|
finline bool operator == (const FTransform &other) const
|
||||||
|
{
|
||||||
|
return xOffs == other.xOffs && yOffs + baseyOffs == other.yOffs + other.baseyOffs &&
|
||||||
|
xScale == other.xScale && yScale == other.yScale && Angle + baseAngle == other.Angle + other.baseAngle;
|
||||||
|
}
|
||||||
|
finline bool operator != (const FTransform &other) const
|
||||||
|
{
|
||||||
|
return !(*this == other);
|
||||||
|
}
|
||||||
|
|
||||||
// base values
|
|
||||||
fixed_t base_angle, base_yoffs;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
struct secspecial_t
|
struct secspecial_t
|
||||||
|
@ -681,121 +667,82 @@ public:
|
||||||
|
|
||||||
void SetXOffset(int pos, double o)
|
void SetXOffset(int pos, double o)
|
||||||
{
|
{
|
||||||
planes[pos].xform.xoffs = FLOAT2FIXED(o);
|
planes[pos].xform.xOffs = o;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddXOffset(int pos, double o)
|
void AddXOffset(int pos, double o)
|
||||||
{
|
{
|
||||||
planes[pos].xform.xoffs += FLOAT2FIXED(o);
|
planes[pos].xform.xOffs += o;
|
||||||
}
|
|
||||||
|
|
||||||
fixed_t GetXOffset(int pos) const
|
|
||||||
{
|
|
||||||
return planes[pos].xform.xoffs;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
double GetXOffsetF(int pos) const
|
double GetXOffsetF(int pos) const
|
||||||
{
|
{
|
||||||
return FIXED2DBL(planes[pos].xform.xoffs);
|
return planes[pos].xform.xOffs;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetYOffset(int pos, double o)
|
void SetYOffset(int pos, double o)
|
||||||
{
|
{
|
||||||
planes[pos].xform.yoffs = FLOAT2FIXED(o);
|
planes[pos].xform.yOffs = o;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AddYOffset(int pos, double o)
|
void AddYOffset(int pos, double o)
|
||||||
{
|
{
|
||||||
planes[pos].xform.yoffs += FLOAT2FIXED(o);
|
planes[pos].xform.yOffs += o;
|
||||||
}
|
|
||||||
|
|
||||||
fixed_t GetYOffset(int pos, bool addbase = true) const
|
|
||||||
{
|
|
||||||
if (!addbase)
|
|
||||||
{
|
|
||||||
return planes[pos].xform.yoffs;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return planes[pos].xform.yoffs + planes[pos].xform.base_yoffs;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
double GetYOffsetF(int pos, bool addbase = true) const
|
double GetYOffsetF(int pos, bool addbase = true) const
|
||||||
{
|
{
|
||||||
if (!addbase)
|
if (!addbase)
|
||||||
{
|
{
|
||||||
return FIXED2DBL(planes[pos].xform.yoffs);
|
return planes[pos].xform.yOffs;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return FIXED2DBL(planes[pos].xform.yoffs + planes[pos].xform.base_yoffs);
|
return planes[pos].xform.yOffs + planes[pos].xform.baseyOffs;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetXScale(int pos, double o)
|
void SetXScale(int pos, double o)
|
||||||
{
|
{
|
||||||
planes[pos].xform.xscale = FLOAT2FIXED(o);
|
planes[pos].xform.xScale = o;
|
||||||
}
|
|
||||||
|
|
||||||
fixed_t GetXScale(int pos) const
|
|
||||||
{
|
|
||||||
return planes[pos].xform.xscale;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
double GetXScaleF(int pos) const
|
double GetXScaleF(int pos) const
|
||||||
{
|
{
|
||||||
return FIXED2DBL(planes[pos].xform.xscale);
|
return planes[pos].xform.xScale;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetYScale(int pos, double o)
|
void SetYScale(int pos, double o)
|
||||||
{
|
{
|
||||||
planes[pos].xform.yscale = FLOAT2FIXED(o);
|
planes[pos].xform.yScale = o;
|
||||||
}
|
|
||||||
|
|
||||||
fixed_t GetYScale(int pos) const
|
|
||||||
{
|
|
||||||
return planes[pos].xform.yscale;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
double GetYScaleF(int pos) const
|
double GetYScaleF(int pos) const
|
||||||
{
|
{
|
||||||
return FIXED2DBL(planes[pos].xform.yscale);
|
return planes[pos].xform.yScale;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetAngle(int pos, DAngle o)
|
void SetAngle(int pos, DAngle o)
|
||||||
{
|
{
|
||||||
planes[pos].xform.angle = o.BAMs();
|
planes[pos].xform.Angle = o;
|
||||||
}
|
|
||||||
|
|
||||||
angle_t GetAngle(int pos, bool addbase = true) const
|
|
||||||
{
|
|
||||||
if (!addbase)
|
|
||||||
{
|
|
||||||
return planes[pos].xform.angle;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
return planes[pos].xform.angle + planes[pos].xform.base_angle;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
DAngle GetAngleF(int pos, bool addbase = true) const
|
DAngle GetAngleF(int pos, bool addbase = true) const
|
||||||
{
|
{
|
||||||
if (!addbase)
|
if (!addbase)
|
||||||
{
|
{
|
||||||
return ANGLE2DBL(planes[pos].xform.angle);
|
return planes[pos].xform.Angle;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return ANGLE2DBL(planes[pos].xform.angle + planes[pos].xform.base_angle);
|
return planes[pos].xform.Angle + planes[pos].xform.baseAngle;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetBase(int pos, double y, DAngle o)
|
void SetBase(int pos, double y, DAngle o)
|
||||||
{
|
{
|
||||||
planes[pos].xform.base_yoffs = FLOAT2FIXED(y);
|
planes[pos].xform.baseyOffs = y;
|
||||||
planes[pos].xform.base_angle = o.BAMs();
|
planes[pos].xform.baseAngle = o;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SetAlpha(int pos, double o)
|
void SetAlpha(int pos, double o)
|
||||||
|
@ -818,6 +765,12 @@ public:
|
||||||
return planes[pos].Flags;
|
return planes[pos].Flags;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// like the previous one but masks out all flags which are not relevant for rendering.
|
||||||
|
int GetVisFlags(int pos) const
|
||||||
|
{
|
||||||
|
return planes[pos].Flags & ~(PLANEF_BLOCKED | PLANEF_NOPASS | PLANEF_BLOCKSOUND | PLANEF_LINKED);
|
||||||
|
}
|
||||||
|
|
||||||
void ChangeFlags(int pos, int And, int Or)
|
void ChangeFlags(int pos, int And, int Or)
|
||||||
{
|
{
|
||||||
planes[pos].Flags &= ~And;
|
planes[pos].Flags &= ~And;
|
||||||
|
|
|
@ -582,14 +582,18 @@ static visplane_t *new_visplane (unsigned hash)
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
|
|
||||||
visplane_t *R_FindPlane (const secplane_t &height, FTextureID picnum, int lightlevel, fixed_t alpha, bool additive,
|
visplane_t *R_FindPlane (const secplane_t &height, FTextureID picnum, int lightlevel, fixed_t alpha, bool additive,
|
||||||
fixed_t xoffs, fixed_t yoffs,
|
const FTransform &xform,
|
||||||
fixed_t xscale, fixed_t yscale, angle_t angle,
|
|
||||||
int sky, FSectorPortal *portal)
|
int sky, FSectorPortal *portal)
|
||||||
{
|
{
|
||||||
secplane_t plane;
|
secplane_t plane;
|
||||||
visplane_t *check;
|
visplane_t *check;
|
||||||
unsigned hash; // killough
|
unsigned hash; // killough
|
||||||
bool isskybox;
|
bool isskybox;
|
||||||
|
fixed_t xoffs = FLOAT2FIXED(xform.xOffs);
|
||||||
|
fixed_t yoffs = FLOAT2FIXED(xform.yOffs + xform.baseyOffs);
|
||||||
|
fixed_t xscale = FLOAT2FIXED(xform.xScale);
|
||||||
|
fixed_t yscale = FLOAT2FIXED(xform.yScale);
|
||||||
|
angle_t angle = (xform.Angle + xform.baseAngle).BAMs();
|
||||||
|
|
||||||
if (picnum == skyflatnum) // killough 10/98
|
if (picnum == skyflatnum) // killough 10/98
|
||||||
{ // most skies map together
|
{ // most skies map together
|
||||||
|
@ -651,6 +655,7 @@ visplane_t *R_FindPlane (const secplane_t &height, FTextureID picnum, int lightl
|
||||||
(plane == check->height &&
|
(plane == check->height &&
|
||||||
picnum == check->picnum &&
|
picnum == check->picnum &&
|
||||||
lightlevel == check->lightlevel &&
|
lightlevel == check->lightlevel &&
|
||||||
|
|
||||||
xoffs == check->xoffs && // killough 2/28/98: Add offset checks
|
xoffs == check->xoffs && // killough 2/28/98: Add offset checks
|
||||||
yoffs == check->yoffs &&
|
yoffs == check->yoffs &&
|
||||||
basecolormap == check->colormap && // [RH] Add more checks
|
basecolormap == check->colormap && // [RH] Add more checks
|
||||||
|
|
|
@ -100,11 +100,7 @@ visplane_t *R_FindPlane
|
||||||
int lightlevel,
|
int lightlevel,
|
||||||
fixed_t alpha,
|
fixed_t alpha,
|
||||||
bool additive,
|
bool additive,
|
||||||
fixed_t xoffs, // killough 2/28/98: add x-y offsets
|
const FTransform &xform,
|
||||||
fixed_t yoffs,
|
|
||||||
fixed_t xscale,
|
|
||||||
fixed_t yscale,
|
|
||||||
angle_t angle,
|
|
||||||
int sky,
|
int sky,
|
||||||
FSectorPortal *portal);
|
FSectorPortal *portal);
|
||||||
|
|
||||||
|
|
|
@ -2110,26 +2110,21 @@ void R_NewWall (bool needlights)
|
||||||
|| backsector->floorplane != frontsector->floorplane
|
|| backsector->floorplane != frontsector->floorplane
|
||||||
|| backsector->lightlevel != frontsector->lightlevel
|
|| backsector->lightlevel != frontsector->lightlevel
|
||||||
|| backsector->GetTexture(sector_t::floor) != frontsector->GetTexture(sector_t::floor)
|
|| backsector->GetTexture(sector_t::floor) != frontsector->GetTexture(sector_t::floor)
|
||||||
|
|| backsector->GetPlaneLight(sector_t::floor) != frontsector->GetPlaneLight(sector_t::floor)
|
||||||
|
|
||||||
// killough 3/7/98: Add checks for (x,y) offsets
|
// killough 3/7/98: Add checks for (x,y) offsets
|
||||||
|| backsector->GetXOffset(sector_t::floor) != frontsector->GetXOffset(sector_t::floor)
|
|| backsector->planes[sector_t::floor].xform != frontsector->planes[sector_t::floor].xform
|
||||||
|| backsector->GetYOffset(sector_t::floor) != frontsector->GetYOffset(sector_t::floor)
|
|
||||||
|| backsector->GetAlpha(sector_t::floor) != frontsector->GetAlpha(sector_t::floor)
|
|| backsector->GetAlpha(sector_t::floor) != frontsector->GetAlpha(sector_t::floor)
|
||||||
|
|
||||||
// killough 4/15/98: prevent 2s normals
|
// killough 4/15/98: prevent 2s normals
|
||||||
// from bleeding through deep water
|
// from bleeding through deep water
|
||||||
|| frontsector->heightsec
|
|| frontsector->heightsec
|
||||||
|
|
||||||
|| backsector->GetPlaneLight(sector_t::floor) != frontsector->GetPlaneLight(sector_t::floor)
|
|| backsector->GetVisFlags(sector_t::floor) != frontsector->GetVisFlags(sector_t::floor)
|
||||||
|| backsector->GetFlags(sector_t::floor) != frontsector->GetFlags(sector_t::floor)
|
|
||||||
|
|
||||||
// [RH] Add checks for colormaps
|
// [RH] Add checks for colormaps
|
||||||
|| backsector->ColorMap != frontsector->ColorMap
|
|| backsector->ColorMap != frontsector->ColorMap
|
||||||
|
|
||||||
|| backsector->GetXScale(sector_t::floor) != frontsector->GetXScale(sector_t::floor)
|
|
||||||
|| backsector->GetYScale(sector_t::floor) != frontsector->GetYScale(sector_t::floor)
|
|
||||||
|
|
||||||
|| backsector->GetAngle(sector_t::floor) != frontsector->GetAngle(sector_t::floor)
|
|
||||||
|
|
||||||
// kg3D - add fake lights
|
// kg3D - add fake lights
|
||||||
|| (frontsector->e && frontsector->e->XFloor.lightlist.Size())
|
|| (frontsector->e && frontsector->e->XFloor.lightlist.Size())
|
||||||
|
@ -2148,8 +2143,7 @@ void R_NewWall (bool needlights)
|
||||||
|| backsector->GetTexture(sector_t::ceiling) != frontsector->GetTexture(sector_t::ceiling)
|
|| backsector->GetTexture(sector_t::ceiling) != frontsector->GetTexture(sector_t::ceiling)
|
||||||
|
|
||||||
// killough 3/7/98: Add checks for (x,y) offsets
|
// killough 3/7/98: Add checks for (x,y) offsets
|
||||||
|| backsector->GetXOffset(sector_t::ceiling) != frontsector->GetXOffset(sector_t::ceiling)
|
|| backsector->planes[sector_t::ceiling].xform != frontsector->planes[sector_t::ceiling].xform
|
||||||
|| backsector->GetYOffset(sector_t::ceiling) != frontsector->GetYOffset(sector_t::ceiling)
|
|
||||||
|| backsector->GetAlpha(sector_t::ceiling) != frontsector->GetAlpha(sector_t::ceiling)
|
|| backsector->GetAlpha(sector_t::ceiling) != frontsector->GetAlpha(sector_t::ceiling)
|
||||||
|
|
||||||
// killough 4/15/98: prevent 2s normals
|
// killough 4/15/98: prevent 2s normals
|
||||||
|
@ -2162,11 +2156,6 @@ void R_NewWall (bool needlights)
|
||||||
// [RH] Add check for colormaps
|
// [RH] Add check for colormaps
|
||||||
|| backsector->ColorMap != frontsector->ColorMap
|
|| backsector->ColorMap != frontsector->ColorMap
|
||||||
|
|
||||||
|| backsector->GetXScale(sector_t::ceiling) != frontsector->GetXScale(sector_t::ceiling)
|
|
||||||
|| backsector->GetYScale(sector_t::ceiling) != frontsector->GetYScale(sector_t::ceiling)
|
|
||||||
|
|
||||||
|| backsector->GetAngle(sector_t::ceiling) != frontsector->GetAngle(sector_t::ceiling)
|
|
||||||
|
|
||||||
// kg3D - add fake lights
|
// kg3D - add fake lights
|
||||||
|| (frontsector->e && frontsector->e->XFloor.lightlist.Size())
|
|| (frontsector->e && frontsector->e->XFloor.lightlist.Size())
|
||||||
|| (backsector->e && backsector->e->XFloor.lightlist.Size())
|
|| (backsector->e && backsector->e->XFloor.lightlist.Size())
|
||||||
|
|
Loading…
Reference in a new issue