- made the adjustments.

This commit is contained in:
Christoph Oelckers 2016-04-24 13:35:43 +02:00
parent 2914cdc939
commit f77c4642cb
10 changed files with 65 additions and 65 deletions

View File

@ -348,7 +348,7 @@ static void PrepareTransparentDoors(sector_t * sector)
int side = sector->lines[i]->sidedef[0]->sector == sec;
if (sector->GetPlaneTexZ(sector_t::floor)!=sec->GetPlaneTexZ(sector_t::floor)+FRACUNIT)
if (sector->GetPlaneTexZ(sector_t::floor)!=sec->GetPlaneTexZ(sector_t::floor)+1.)
{
sector->transdoor=false;
return;

View File

@ -338,7 +338,7 @@ void FFlatVertexBuffer::CreateVBO()
{
sectors[i].vboindex[3] = sectors[i].vboindex[2] =
sectors[i].vboindex[1] = sectors[i].vboindex[0] = -1;
sectors[i].vboheight[1] = sectors[i].vboheight[0] = FIXED_MIN;
sectors[i].vboheight[1] = sectors[i].vboheight[0] = FLT_MIN;
}
}

View File

@ -129,33 +129,33 @@ void GLWall::DrawDecal(DBaseDecal *decal)
if (type!=RENDERWALL_TOP) return;
if (line->flags & ML_DONTPEGTOP)
{
zpos = decal->Z + frontsector->GetPlaneTexZF(sector_t::ceiling);
zpos = decal->Z + frontsector->GetPlaneTexZ(sector_t::ceiling);
}
else
{
zpos = decal->Z + seg->backsector->GetPlaneTexZF(sector_t::ceiling);
zpos = decal->Z + seg->backsector->GetPlaneTexZ(sector_t::ceiling);
}
break;
case RF_RELLOWER:
if (type!=RENDERWALL_BOTTOM) return;
if (line->flags & ML_DONTPEGBOTTOM)
{
zpos = decal->Z + frontsector->GetPlaneTexZF(sector_t::ceiling);
zpos = decal->Z + frontsector->GetPlaneTexZ(sector_t::ceiling);
}
else
{
zpos = decal->Z + seg->backsector->GetPlaneTexZF(sector_t::floor);
zpos = decal->Z + seg->backsector->GetPlaneTexZ(sector_t::floor);
}
break;
case RF_RELMID:
if (type==RENDERWALL_TOP || type==RENDERWALL_BOTTOM) return;
if (line->flags & ML_DONTPEGBOTTOM)
{
zpos = decal->Z + frontsector->GetPlaneTexZF(sector_t::floor);
zpos = decal->Z + frontsector->GetPlaneTexZ(sector_t::floor);
}
else
{
zpos = decal->Z + frontsector->GetPlaneTexZF(sector_t::ceiling);
zpos = decal->Z + frontsector->GetPlaneTexZ(sector_t::ceiling);
}
}

View File

@ -1222,7 +1222,7 @@ void FDrawInfo::FloodLowerGap(seg_t * seg)
if (fakebsector->GetTexture(sector_t::floor) == skyflatnum) return;
if (fakebsector->GetPlaneTexZF(sector_t::floor) > ViewPos.Z) return;
if (fakebsector->GetPlaneTexZ(sector_t::floor) > ViewPos.Z) return;
if (seg->sidedef == seg->linedef->sidedef[0])
{

View File

@ -595,7 +595,7 @@ void GLFlat::ProcessSector(sector_t * frontsector)
{
gl_drawinfo->AddFloorStack(sector); // stacked sector things require visplane merging.
}
alpha = frontsector->GetAlpha(sector_t::floor) / 65536.0f;
alpha = frontsector->GetAlpha(sector_t::floor);
}
else
{
@ -654,7 +654,7 @@ void GLFlat::ProcessSector(sector_t * frontsector)
{
gl_drawinfo->AddCeilingStack(sector);
}
alpha = frontsector->GetAlpha(sector_t::ceiling) / 65536.0f;
alpha = frontsector->GetAlpha(sector_t::ceiling);
}
else
{

View File

@ -299,14 +299,14 @@ bool FDrawInfo::DoOneSectorUpper(subsector_t * subsec, float Planez)
if (sec->ceilingplane.isSlope()) return false;
// Is the neighboring ceiling lower than the desired height?
if (sec->GetPlaneTexZF(sector_t::ceiling) < Planez)
if (sec->GetPlaneTexZ(sector_t::ceiling) < Planez)
{
// todo: check for missing textures.
return false;
}
// This is an exact height match which means we don't have to do any further checks for this sector
if (sec->GetPlaneTexZF(sector_t::ceiling) == Planez)
if (sec->GetPlaneTexZ(sector_t::ceiling) == Planez)
{
// If there's a texture abort
FTexture * tex = TexMan[seg->sidedef->GetTexture(side_t::top)];
@ -357,14 +357,14 @@ bool FDrawInfo::DoOneSectorLower(subsector_t * subsec, float Planez)
if (sec->floorplane.isSlope()) return false;
// Is the neighboring floor higher than the desired height?
if (sec->GetPlaneTexZF(sector_t::floor) > Planez)
if (sec->GetPlaneTexZ(sector_t::floor) > Planez)
{
// todo: check for missing textures.
return false;
}
// This is an exact height match which means we don't have to do any further checks for this sector
if (sec->GetPlaneTexZF(sector_t::floor) == Planez)
if (sec->GetPlaneTexZ(sector_t::floor) == Planez)
{
// If there's a texture abort
FTexture * tex = TexMan[seg->sidedef->GetTexture(side_t::bottom)];
@ -416,7 +416,7 @@ bool FDrawInfo::DoFakeBridge(subsector_t * subsec, float Planez)
if (sec->floorplane.isSlope()) return false;
// Is the neighboring floor higher than the desired height?
if (sec->GetPlaneTexZF(sector_t::floor) < Planez)
if (sec->GetPlaneTexZ(sector_t::floor) < Planez)
{
// todo: check for missing textures.
return false;
@ -424,7 +424,7 @@ bool FDrawInfo::DoFakeBridge(subsector_t * subsec, float Planez)
// This is an exact height match which means we don't have to do any further checks for this sector
// No texture checks though!
if (sec->GetPlaneTexZF(sector_t::floor) == Planez) continue;
if (sec->GetPlaneTexZ(sector_t::floor) == Planez) continue;
}
if (!DoFakeBridge(backsub, Planez)) return false;
}
@ -469,7 +469,7 @@ bool FDrawInfo::DoFakeCeilingBridge(subsector_t * subsec, float Planez)
if (sec->ceilingplane.isSlope()) return false;
// Is the neighboring ceiling higher than the desired height?
if (sec->GetPlaneTexZF(sector_t::ceiling) > Planez)
if (sec->GetPlaneTexZ(sector_t::ceiling) > Planez)
{
// todo: check for missing textures.
return false;
@ -477,7 +477,7 @@ bool FDrawInfo::DoFakeCeilingBridge(subsector_t * subsec, float Planez)
// This is an exact height match which means we don't have to do any further checks for this sector
// No texture checks though!
if (sec->GetPlaneTexZF(sector_t::ceiling) == Planez) continue;
if (sec->GetPlaneTexZ(sector_t::ceiling) == Planez) continue;
}
if (!DoFakeCeilingBridge(backsub, Planez)) return false;
}
@ -553,7 +553,7 @@ void FDrawInfo::HandleMissingTextures()
{
// It isn't a hole. Now check whether it might be a fake bridge
sector_t * fakesector = gl_FakeFlat(MissingUpperTextures[i].seg->frontsector, &fake, false);
float planez = (float)fakesector->GetPlaneTexZF(sector_t::ceiling);
float planez = (float)fakesector->GetPlaneTexZ(sector_t::ceiling);
backsub->validcount = validcount;
if (DoFakeCeilingBridge(backsub, planez))
@ -624,7 +624,7 @@ void FDrawInfo::HandleMissingTextures()
{
// It isn't a hole. Now check whether it might be a fake bridge
sector_t * fakesector = gl_FakeFlat(MissingLowerTextures[i].seg->frontsector, &fake, false);
float planez = (float)fakesector->GetPlaneTexZF(sector_t::floor);
float planez = (float)fakesector->GetPlaneTexZ(sector_t::floor);
backsub->validcount = validcount;
if (DoFakeBridge(backsub, planez))
@ -668,7 +668,7 @@ void FDrawInfo::DrawUnhandledMissingTextures()
// already done!
if (seg->linedef->validcount == validcount) continue; // already done
seg->linedef->validcount = validcount;
if (seg->frontsector->GetPlaneTexZF(sector_t::ceiling) < ViewPos.Z) continue; // out of sight
if (seg->frontsector->GetPlaneTexZ(sector_t::ceiling) < ViewPos.Z) continue; // out of sight
// FIXME: The check for degenerate subsectors should be more precise
if (seg->PartnerSeg && (seg->PartnerSeg->Subsector->flags & SSECF_DEGENERATE)) continue;
@ -690,7 +690,7 @@ void FDrawInfo::DrawUnhandledMissingTextures()
if (seg->linedef->validcount == validcount) continue; // already done
seg->linedef->validcount = validcount;
if (!(sectorrenderflags[seg->backsector->sectornum] & SSRF_RENDERFLOOR)) continue;
if (seg->frontsector->GetPlaneTexZF(sector_t::floor) > ViewPos.Z) continue; // out of sight
if (seg->frontsector->GetPlaneTexZ(sector_t::floor) > ViewPos.Z) continue; // out of sight
if (seg->backsector->transdoor) continue;
if (seg->backsector->GetTexture(sector_t::floor) == skyflatnum) continue;
if (seg->backsector->ValidatePortal(sector_t::floor) != NULL) continue;
@ -758,8 +758,8 @@ bool FDrawInfo::CheckAnchorFloor(subsector_t * sub)
{
// I'm ignoring slopes, scaling and rotation here. The likelihood of ZDoom maps
// using such crap hacks is simply too small
if (sub->render_sector->GetTexture(sector_t::floor)==backsub->render_sector->GetTexture(sector_t::floor) &&
sub->render_sector->GetPlaneTexZ(sector_t::floor)==backsub->render_sector->GetPlaneTexZ(sector_t::floor) &&
if (sub->render_sector->GetTexture(sector_t::floor) == backsub->render_sector->GetTexture(sector_t::floor) &&
sub->render_sector->GetPlaneTexZ(sector_t::floor) == backsub->render_sector->GetPlaneTexZ(sector_t::floor) &&
sub->render_sector->GetFloorLight() == backsub->render_sector->GetFloorLight())
{
continue;
@ -797,10 +797,10 @@ bool FDrawInfo::CollectSubsectorsFloor(subsector_t * sub, sector_t * anchor)
if (!(ss_renderflags[DWORD(sub - subsectors)] & SSRF_PROCESSED)) return true;
if (sub->render_sector->GetTexture(sector_t::floor) != anchor->GetTexture(sector_t::floor) ||
sub->render_sector->GetPlaneTexZF(sector_t::floor) != anchor->GetPlaneTexZF(sector_t::floor) ||
sub->render_sector->GetPlaneTexZ(sector_t::floor) != anchor->GetPlaneTexZ(sector_t::floor) ||
sub->render_sector->GetFloorLight() != anchor->GetFloorLight())
{
if (sub == viewsubsector && ViewPos.Z < anchor->GetPlaneTexZF(sector_t::floor)) inview = true;
if (sub == viewsubsector && ViewPos.Z < anchor->GetPlaneTexZ(sector_t::floor)) inview = true;
HandledSubsectors.Push(sub);
}
}
@ -825,9 +825,9 @@ bool FDrawInfo::CollectSubsectorsFloor(subsector_t * sub, sector_t * anchor)
else if (sub->render_sector == backsub->render_sector)
{
// Any anchor not within the original anchor's visplane terminates the processing.
if (sub->render_sector->GetTexture(sector_t::floor)!=anchor->GetTexture(sector_t::floor) ||
sub->render_sector->GetPlaneTexZ(sector_t::floor)!=anchor->GetPlaneTexZ(sector_t::floor) ||
sub->render_sector->GetFloorLight() != anchor->GetFloorLight())
if (sub->render_sector->GetTexture(sector_t::floor) != anchor->GetTexture(sector_t::floor) ||
sub->render_sector->GetPlaneTexZ(sector_t::floor) != anchor->GetPlaneTexZ(sector_t::floor) ||
sub->render_sector->GetFloorLight() != anchor->GetFloorLight())
{
return false;
}
@ -864,8 +864,8 @@ bool FDrawInfo::CheckAnchorCeiling(subsector_t * sub)
{
// I'm ignoring slopes, scaling and rotation here. The likelihood of ZDoom maps
// using such crap hacks is simply too small
if (sub->render_sector->GetTexture(sector_t::ceiling)==backsub->render_sector->GetTexture(sector_t::ceiling) &&
sub->render_sector->GetPlaneTexZ(sector_t::ceiling)==backsub->render_sector->GetPlaneTexZ(sector_t::ceiling) &&
if (sub->render_sector->GetTexture(sector_t::ceiling) == backsub->render_sector->GetTexture(sector_t::ceiling) &&
sub->render_sector->GetPlaneTexZ(sector_t::ceiling) == backsub->render_sector->GetPlaneTexZ(sector_t::ceiling) &&
sub->render_sector->GetCeilingLight() == backsub->render_sector->GetCeilingLight())
{
continue;
@ -898,11 +898,11 @@ bool FDrawInfo::CollectSubsectorsCeiling(subsector_t * sub, sector_t * anchor)
// Is not being rendererd so don't bother.
if (!(ss_renderflags[DWORD(sub-subsectors)]&SSRF_PROCESSED)) return true;
if (sub->render_sector->GetTexture(sector_t::ceiling)!=anchor->GetTexture(sector_t::ceiling) ||
sub->render_sector->GetPlaneTexZ(sector_t::ceiling)!=anchor->GetPlaneTexZ(sector_t::ceiling) ||
sub->render_sector->GetCeilingLight() != anchor->GetCeilingLight())
if (sub->render_sector->GetTexture(sector_t::ceiling) != anchor->GetTexture(sector_t::ceiling) ||
sub->render_sector->GetPlaneTexZ(sector_t::ceiling) != anchor->GetPlaneTexZ(sector_t::ceiling) ||
sub->render_sector->GetCeilingLight() != anchor->GetCeilingLight())
{
HandledSubsectors.Push (sub);
HandledSubsectors.Push(sub);
}
}
@ -926,9 +926,9 @@ bool FDrawInfo::CollectSubsectorsCeiling(subsector_t * sub, sector_t * anchor)
else if (sub->render_sector == backsub->render_sector)
{
// Any anchor not within the original anchor's visplane terminates the processing.
if (sub->render_sector->GetTexture(sector_t::ceiling)!=anchor->GetTexture(sector_t::ceiling) ||
sub->render_sector->GetPlaneTexZ(sector_t::ceiling)!=anchor->GetPlaneTexZ(sector_t::ceiling) ||
sub->render_sector->GetCeilingLight() != anchor->GetCeilingLight())
if (sub->render_sector->GetTexture(sector_t::ceiling) != anchor->GetTexture(sector_t::ceiling) ||
sub->render_sector->GetPlaneTexZ(sector_t::ceiling) != anchor->GetPlaneTexZ(sector_t::ceiling) ||
sub->render_sector->GetCeilingLight() != anchor->GetCeilingLight())
{
return false;
}

View File

@ -262,7 +262,7 @@ void GLWall::SkyTop(seg_t * seg,sector_t * fs,sector_t * bs,vertex_t * v1,vertex
// one more check for some ugly transparent door hacks
if (!bs->floorplane.isSlope() && !fs->floorplane.isSlope())
{
if (bs->GetPlaneTexZ(sector_t::floor)==fs->GetPlaneTexZ(sector_t::floor)+FRACUNIT)
if (bs->GetPlaneTexZ(sector_t::floor)==fs->GetPlaneTexZ(sector_t::floor)+1.)
{
FTexture * tex = TexMan(seg->sidedef->GetTexture(side_t::bottom));
if (!tex || tex->UseType==FTexture::TEX_Null) return;

View File

@ -288,7 +288,7 @@ public:
bool ceiling;
BYTE renderflags;
int vboindex;
int vboheight;
//int vboheight;
int dynlightindex;

View File

@ -360,12 +360,12 @@ bool GLWall::DoHorizon(seg_t * seg,sector_t * fs, vertex_t * v1,vertex_t * v2)
lightlist_t * light;
// ZDoom doesn't support slopes in a horizon sector so I won't either!
ztop[1] = ztop[0] = fs->GetPlaneTexZF(sector_t::ceiling);
zbottom[1] = zbottom[0] = fs->GetPlaneTexZF(sector_t::floor);
ztop[1] = ztop[0] = fs->GetPlaneTexZ(sector_t::ceiling);
zbottom[1] = zbottom[0] = fs->GetPlaneTexZ(sector_t::floor);
if (ViewPos.Z < fs->GetPlaneTexZF(sector_t::ceiling))
if (ViewPos.Z < fs->GetPlaneTexZ(sector_t::ceiling))
{
if (ViewPos.Z > fs->GetPlaneTexZF(sector_t::floor))
if (ViewPos.Z > fs->GetPlaneTexZ(sector_t::floor))
zbottom[1] = zbottom[0] = ViewPos.Z;
if (fs->GetTexture(sector_t::ceiling) == skyflatnum)
@ -393,9 +393,9 @@ bool GLWall::DoHorizon(seg_t * seg,sector_t * fs, vertex_t * v1,vertex_t * v2)
ztop[1] = ztop[0] = zbottom[0];
}
if (ViewPos.Z > fs->GetPlaneTexZF(sector_t::floor))
if (ViewPos.Z > fs->GetPlaneTexZ(sector_t::floor))
{
zbottom[1] = zbottom[0] = fs->GetPlaneTexZF(sector_t::floor);
zbottom[1] = zbottom[0] = fs->GetPlaneTexZ(sector_t::floor);
if (fs->GetTexture(sector_t::floor) == skyflatnum)
{
SkyPlane(fs, sector_t::floor, false);
@ -707,12 +707,12 @@ void GLWall::DoMidTexture(seg_t * seg, bool drawfogboundary,
float rowoffset = tci.RowOffset(seg->sidedef->GetTextureYOffset(side_t::mid));
if ((seg->linedef->flags & ML_DONTPEGBOTTOM) >0)
{
texturebottom = MAX(realfront->GetPlaneTexZF(sector_t::floor), realback->GetPlaneTexZF(sector_t::floor)) + rowoffset;
texturebottom = MAX(realfront->GetPlaneTexZ(sector_t::floor), realback->GetPlaneTexZ(sector_t::floor)) + rowoffset;
texturetop = texturebottom + tci.mRenderHeight;
}
else
{
texturetop = MIN(realfront->GetPlaneTexZF(sector_t::ceiling), realback->GetPlaneTexZF(sector_t::ceiling)) + rowoffset;
texturetop = MIN(realfront->GetPlaneTexZ(sector_t::ceiling), realback->GetPlaneTexZ(sector_t::ceiling)) + rowoffset;
texturebottom = texturetop - tci.mRenderHeight;
}
}
@ -896,7 +896,7 @@ void GLWall::DoMidTexture(seg_t * seg, bool drawfogboundary,
// set up alpha blending
//
//
if (seg->linedef->Alpha)// && seg->linedef->special!=Line_Fogsheet)
if (seg->linedef->alpha != 0)
{
bool translucent = false;
@ -904,13 +904,13 @@ void GLWall::DoMidTexture(seg_t * seg, bool drawfogboundary,
{
case 0:
RenderStyle=STYLE_Translucent;
alpha=FIXED2FLOAT(seg->linedef->Alpha);
translucent = seg->linedef->Alpha < FRACUNIT || (gltexture && gltexture->GetTransparent());
alpha = seg->linedef->alpha;
translucent =alpha < 1. || (gltexture && gltexture->GetTransparent());
break;
case ML_ADDTRANS:
RenderStyle=STYLE_Add;
alpha=FIXED2FLOAT(seg->linedef->Alpha);
alpha = seg->linedef->alpha;
translucent=true;
break;
}
@ -1065,7 +1065,7 @@ void GLWall::BuildFFBlock(seg_t * seg, F3DFloor * rover,
to = (rover->flags&(FF_UPPERTEXTURE | FF_LOWERTEXTURE)) ?
0.f : tci.RowOffset(mastersd->GetTextureYOffset(side_t::mid));
to += rowoffset + rover->top.model->GetPlaneTexZF(rover->top.isceiling);
to += rowoffset + rover->top.model->GetPlaneTexZ(rover->top.isceiling);
uplft.v = tci.FloatToTexV(to - ff_topleft);
uprgt.v = tci.FloatToTexV(to - ff_topright);
@ -1372,8 +1372,8 @@ void GLWall::Process(seg_t *seg, sector_t * frontsector, sector_t * backsector)
segfront = frontsector;
segback = backsector;
}
frefz = realfront->GetPlaneTexZF(sector_t::floor);
crefz = realfront->GetPlaneTexZF(sector_t::ceiling);
frefz = realfront->GetPlaneTexZ(sector_t::floor);
crefz = realfront->GetPlaneTexZ(sector_t::ceiling);
if (seg->sidedef == seg->linedef->sidedef[0])
{
@ -1525,7 +1525,7 @@ void GLWall::Process(seg_t *seg, sector_t * frontsector, sector_t * backsector)
if (gltexture)
{
DoTexture(RENDERWALL_TOP, seg, (seg->linedef->flags & (ML_DONTPEGTOP)) == 0,
crefz, realback->GetPlaneTexZF(sector_t::ceiling),
crefz, realback->GetPlaneTexZ(sector_t::ceiling),
fch1, fch2, bch1a, bch2a, 0);
}
else if (!(seg->sidedef->Flags & WALLF_POLYOBJ))
@ -1538,7 +1538,7 @@ void GLWall::Process(seg_t *seg, sector_t * frontsector, sector_t * backsector)
if (gltexture)
{
DoTexture(RENDERWALL_TOP, seg, (seg->linedef->flags & (ML_DONTPEGTOP)) == 0,
crefz, realback->GetPlaneTexZF(sector_t::ceiling),
crefz, realback->GetPlaneTexZ(sector_t::ceiling),
fch1, fch2, bch1a, bch2a, 0);
}
}
@ -1602,10 +1602,10 @@ void GLWall::Process(seg_t *seg, sector_t * frontsector, sector_t * backsector)
if (gltexture)
{
DoTexture(RENDERWALL_BOTTOM, seg, (seg->linedef->flags & ML_DONTPEGBOTTOM) > 0,
realback->GetPlaneTexZF(sector_t::floor), frefz,
realback->GetPlaneTexZ(sector_t::floor), frefz,
bfh1, bfh2, ffh1, ffh2,
frontsector->GetTexture(sector_t::ceiling) == skyflatnum && backsector->GetTexture(sector_t::ceiling) == skyflatnum ?
frefz - realback->GetPlaneTexZF(sector_t::ceiling) :
frefz - realback->GetPlaneTexZ(sector_t::ceiling) :
frefz - crefz);
}
else if (!(seg->sidedef->Flags & WALLF_POLYOBJ))
@ -1621,7 +1621,7 @@ void GLWall::Process(seg_t *seg, sector_t * frontsector, sector_t * backsector)
if (gltexture)
{
DoTexture(RENDERWALL_BOTTOM, seg, (seg->linedef->flags & ML_DONTPEGBOTTOM) > 0,
realback->GetPlaneTexZF(sector_t::floor), frefz,
realback->GetPlaneTexZ(sector_t::floor), frefz,
bfh1, bfh2, ffh1, ffh2, frefz - crefz);
}
}
@ -1648,8 +1648,8 @@ void GLWall::ProcessLowerMiniseg(seg_t *seg, sector_t * frontsector, sector_t *
if (frontsector->GetTexture(sector_t::floor) == skyflatnum) return;
lightlist = NULL;
float ffh = frontsector->GetPlaneTexZF(sector_t::floor);
float bfh = backsector->GetPlaneTexZF(sector_t::floor);
float ffh = frontsector->GetPlaneTexZ(sector_t::floor);
float bfh = backsector->GetPlaneTexZ(sector_t::floor);
if (bfh > ffh)
{
this->seg = seg;

View File

@ -1081,8 +1081,8 @@ public:
float reflect[2];
bool transdoor; // For transparent door hacks
fixed_t transdoorheight; // for transparent door hacks
int subsectorcount; // list of subsectors
double transdoorheight; // for transparent door hacks
subsector_t ** subsectors;
FPortal * portals[2]; // floor and ceiling portals
FLightNode * lighthead;
@ -1094,7 +1094,7 @@ public:
};
int vboindex[4]; // VBO indices of the 4 planes this sector uses during rendering
fixed_t vboheight[2]; // Last calculated height for the 2 planes of this actual sector
double vboheight[2]; // Last calculated height for the 2 planes of this actual sector
int vbocount[2]; // Total count of vertices belonging to this sector's planes
float GetReflect(int pos) { return gl_plane_reflection_i? reflect[pos] : 0; }