mirror of
https://github.com/ZDoom/gzdoom-last-svn.git
synced 2025-06-02 18:21:02 +00:00
- Changed the default key for am_toggletexture to P so as not to conflict with the default chat key.
- fixed: Extraction of partner segs was broken in the internal node builder. - removed some obsolete code for a never implemented render data caching system. - made output of 'dumpgeometry' CCMD only go to the log file because printing it to the console takes several minutes, even for small maps. - version bump to 1.5.02. git-svn-id: http://mancubus.net/svn/hosted/gzdoom/trunk@916 b0f79afe-0144-0410-b225-9a4edf0717df
This commit is contained in:
parent
801d3d43bf
commit
4005528b42
8 changed files with 32 additions and 271 deletions
|
@ -176,7 +176,7 @@ static const FBinding DefAutomapBindings[] =
|
|||
{
|
||||
{ "f", "am_togglefollow" },
|
||||
{ "g", "am_togglegrid" },
|
||||
{ "t", "am_toggletexture" },
|
||||
{ "p", "am_toggletexture" },
|
||||
{ "m", "am_setmark" },
|
||||
{ "c", "am_clearmarks" },
|
||||
{ "0", "am_gobig" },
|
||||
|
|
|
@ -445,52 +445,6 @@ void gl_RecalcVertexHeights(vertex_t * v)
|
|||
}
|
||||
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
// Mark sectors dirty
|
||||
//
|
||||
//==========================================================================
|
||||
int DirtyCount;
|
||||
|
||||
void sector_t::SetDirty(bool dolines, bool dovertices)
|
||||
{
|
||||
Dirty.Clock();
|
||||
if (currentrenderer == 1 && this == §ors[sectornum])
|
||||
{
|
||||
dirty = true;
|
||||
|
||||
if (dirtyframe[0] != gl_frameCount)
|
||||
{
|
||||
DirtyCount++;
|
||||
dirtyframe[0] = gl_frameCount;
|
||||
for(unsigned i = 0; i < e->SectorDependencies.Size(); i++)
|
||||
e->SectorDependencies[i]->dirty = true;
|
||||
}
|
||||
|
||||
if (dolines)
|
||||
{
|
||||
if (dirtyframe[1] != gl_frameCount)
|
||||
{
|
||||
dirtyframe[1] = gl_frameCount;
|
||||
|
||||
for(unsigned i = 0; i < e->SideDependencies.Size(); i++)
|
||||
e->SideDependencies[i]->dirty = true;
|
||||
}
|
||||
}
|
||||
|
||||
if (dovertices)
|
||||
{
|
||||
if (dirtyframe[2] != gl_frameCount)
|
||||
{
|
||||
dirtyframe[2] = gl_frameCount;
|
||||
|
||||
for(unsigned i = 0; i < e->VertexDependencies.Size(); i++)
|
||||
e->VertexDependencies[i]->dirty = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
Dirty.Unclock();
|
||||
}
|
||||
|
||||
|
||||
void gl_InitData()
|
||||
|
@ -513,55 +467,39 @@ CCMD(dumpgeometry)
|
|||
{
|
||||
sector_t * sector = §ors[i];
|
||||
|
||||
Printf("Sector %d\n",i);
|
||||
Printf(PRINT_LOG, "Sector %d\n",i);
|
||||
for(int j=0;j<sector->subsectorcount;j++)
|
||||
{
|
||||
subsector_t * sub = sector->subsectors[j];
|
||||
|
||||
Printf(" Subsector %d - real sector = %d - %s\n", sub-subsectors, sub->sector->sectornum, sub->hacked&1? "hacked":"");
|
||||
Printf(PRINT_LOG, " Subsector %d - real sector = %d - %s\n", sub-subsectors, sub->sector->sectornum, sub->hacked&1? "hacked":"");
|
||||
for(DWORD k=0;k<sub->numlines;k++)
|
||||
{
|
||||
seg_t * seg = sub->firstline + k;
|
||||
if (seg->linedef)
|
||||
{
|
||||
Printf(" (%4.4f, %4.4f), (%4.4f, %4.4f) - seg %d, linedef %d, side %d",
|
||||
Printf(PRINT_LOG, " (%4.4f, %4.4f), (%4.4f, %4.4f) - seg %d, linedef %d, side %d",
|
||||
FIXED2FLOAT(seg->v1->x), FIXED2FLOAT(seg->v1->y), FIXED2FLOAT(seg->v2->x), FIXED2FLOAT(seg->v2->y),
|
||||
seg-segs, seg->linedef-lines, seg->sidedef != seg->linedef->sidedef[0]);
|
||||
}
|
||||
else
|
||||
{
|
||||
Printf(" (%4.4f, %4.4f), (%4.4f, %4.4f) - seg %d, miniseg",
|
||||
Printf(PRINT_LOG, " (%4.4f, %4.4f), (%4.4f, %4.4f) - seg %d, miniseg",
|
||||
FIXED2FLOAT(seg->v1->x), FIXED2FLOAT(seg->v1->y), FIXED2FLOAT(seg->v2->x), FIXED2FLOAT(seg->v2->y),
|
||||
seg-segs);
|
||||
}
|
||||
if (seg->PartnerSeg)
|
||||
{
|
||||
subsector_t * sub2 = seg->PartnerSeg->Subsector();
|
||||
Printf(", back sector = %d, real back sector = %d", sub2->render_sector->sectornum, seg->PartnerSeg->frontsector->sectornum);
|
||||
Printf(PRINT_LOG, ", back sector = %d, real back sector = %d", sub2->render_sector->sectornum, seg->PartnerSeg->frontsector->sectornum);
|
||||
}
|
||||
Printf("\n");
|
||||
else if (seg->backsector)
|
||||
{
|
||||
Printf(PRINT_LOG, ", back sector = %d (no partnerseg)", seg->backsector->sectornum);
|
||||
}
|
||||
|
||||
Printf(PRINT_LOG, "\n");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
CCMD(dumpdependencies)
|
||||
{
|
||||
for(int i=0;i<numsectors;i++)
|
||||
{
|
||||
Printf(PRINT_LOG, "Dependencies of sector %d\n", i);
|
||||
for(unsigned j = 0; j < sectors[i].e->VertexDependencies.Size(); j++)
|
||||
{
|
||||
Printf(PRINT_LOG,"\tVertex %d\n", int(sectors[i].e->VertexDependencies[j] - vertexes));
|
||||
}
|
||||
for(unsigned j = 0; j < sectors[i].e->SideDependencies.Size(); j++)
|
||||
{
|
||||
Printf(PRINT_LOG,"\tSide %d (Line %d)\n", int(sectors[i].e->SideDependencies[j] - sides), (sectors[i].e->SideDependencies[j]->linedef-lines));
|
||||
}
|
||||
for(unsigned j = 0; j < sectors[i].e->SectorDependencies.Size(); j++)
|
||||
{
|
||||
Printf(PRINT_LOG,"\tSector %d\n", int(sectors[i].e->SectorDependencies[j] - sectors));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -116,14 +116,6 @@ static void PrepareSectorData()
|
|||
TArray<subsector_t *> undetermined;
|
||||
subsector_t * ss;
|
||||
|
||||
// Account for ZDoom space optimizations that cannot be done for GL
|
||||
for(i=0;i<numsegs;i++)
|
||||
{
|
||||
unsigned int partner= glsegextras[i].PartnerSeg;
|
||||
if (partner < numsegs) segs[i].PartnerSeg = &segs[partner];
|
||||
else segs[i].PartnerSeg = NULL;
|
||||
}
|
||||
|
||||
// look up sector number for each subsector
|
||||
for (i = 0; i < numsubsectors; i++)
|
||||
{
|
||||
|
@ -271,130 +263,6 @@ static void PrepareTransparentDoors(sector_t * sector)
|
|||
}
|
||||
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// collect other objects depending on sector changes
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
static void AddDependency(sector_t *mysec, sector_t *addsec, int *checkmap)
|
||||
{
|
||||
int mysecnum = int(mysec - sectors);
|
||||
int addsecnum = int(addsec - sectors);
|
||||
if (addsec != mysec)
|
||||
{
|
||||
if (checkmap[addsecnum] < mysecnum)
|
||||
{
|
||||
checkmap[addsecnum] = mysecnum;
|
||||
mysec->e->SectorDependencies.Push(addsec);
|
||||
}
|
||||
}
|
||||
|
||||
// This ignores vertices only used for seg splitting because those aren't needed here
|
||||
for(int i=0; i < addsec->linecount; i++)
|
||||
{
|
||||
line_t *l = addsec->lines[i];
|
||||
int vtnum1 = int(l->v1 - vertexes);
|
||||
int vtnum2 = int(l->v2 - vertexes);
|
||||
|
||||
if (checkmap[numsectors + vtnum1] < mysecnum)
|
||||
{
|
||||
checkmap[numsectors + vtnum1] = mysecnum;
|
||||
mysec->e->VertexDependencies.Push(&vertexes[vtnum1]);
|
||||
}
|
||||
|
||||
if (checkmap[numsectors + vtnum2] < mysecnum)
|
||||
{
|
||||
checkmap[numsectors + vtnum2] = mysecnum;
|
||||
mysec->e->VertexDependencies.Push(&vertexes[vtnum2]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//===========================================================================
|
||||
//
|
||||
// Sets up dependency lists for invalidating precalculated data
|
||||
//
|
||||
//===========================================================================
|
||||
|
||||
static void SetupDependencies()
|
||||
{
|
||||
int *checkmap = new int[numvertexes + numlines + numsectors];
|
||||
TArray<int> *vt_linelists = new TArray<int>[numvertexes];
|
||||
|
||||
for(int i=0;i<numlines;i++)
|
||||
{
|
||||
line_t * line = &lines[i];
|
||||
int v1i = int(line->v1 - vertexes);
|
||||
int v2i = int(line->v2 - vertexes);
|
||||
|
||||
vt_linelists[v1i].Push(i);
|
||||
vt_linelists[v2i].Push(i);
|
||||
}
|
||||
memset(checkmap, -1, sizeof(int) * (numvertexes + numlines + numsectors));
|
||||
|
||||
|
||||
for(int i=0;i<numsectors;i++)
|
||||
{
|
||||
sector_t *mSector = §ors[i];
|
||||
|
||||
AddDependency(mSector, mSector, checkmap);
|
||||
|
||||
for(unsigned j = 0; j < mSector->e->FakeFloor.Sectors.Size(); j++)
|
||||
{
|
||||
sector_t *sec = mSector->e->FakeFloor.Sectors[j];
|
||||
// no need to make sectors dependent that don't make visual use of the heightsec
|
||||
if (sec->GetHeightSec() == mSector)
|
||||
{
|
||||
AddDependency(mSector, sec, checkmap);
|
||||
}
|
||||
}
|
||||
for(unsigned j = 0; j < mSector->e->XFloor.attached.Size(); j++)
|
||||
{
|
||||
sector_t *sec = mSector->e->XFloor.attached[j];
|
||||
extsector_t::xfloor &x = sec->e->XFloor;
|
||||
|
||||
for(unsigned l = 0;l < x.ffloors.Size(); l++)
|
||||
{
|
||||
// Check if we really need to bother with this 3D floor
|
||||
F3DFloor * rover = x.ffloors[l];
|
||||
if (rover->model != mSector) continue;
|
||||
if (!(rover->flags & FF_EXISTS)) continue;
|
||||
if (rover->flags&FF_NOSHADE) continue; // FF_NOSHADE doesn't create any wall splits
|
||||
|
||||
AddDependency(mSector, sec, checkmap);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
for(unsigned j = 0; j < mSector->e->VertexDependencies.Size(); j++)
|
||||
{
|
||||
int vtindex = int(mSector->e->VertexDependencies[j] - vertexes);
|
||||
for(unsigned k = 0; k < vt_linelists[vtindex].Size(); k++)
|
||||
{
|
||||
int ln = vt_linelists[vtindex][k];
|
||||
|
||||
if (checkmap[numvertexes + numsectors + ln] < i)
|
||||
{
|
||||
checkmap[numvertexes + numsectors + ln] = i;
|
||||
side_t *sd1 = lines[ln].sidedef[0];
|
||||
side_t *sd2 = lines[ln].sidedef[1];
|
||||
if (sd1 != NULL) mSector->e->SideDependencies.Push(sd1);
|
||||
if (sd2 != NULL) mSector->e->SideDependencies.Push(sd2);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
mSector->e->SectorDependencies.ShrinkToFit();
|
||||
mSector->e->SideDependencies.ShrinkToFit();
|
||||
mSector->e->VertexDependencies.ShrinkToFit();
|
||||
}
|
||||
|
||||
delete [] checkmap;
|
||||
delete [] vt_linelists;
|
||||
}
|
||||
|
||||
|
||||
//==========================================================================
|
||||
//
|
||||
//
|
||||
|
@ -533,6 +401,12 @@ static void PrepareSegs()
|
|||
for(int i=0;i<numsegs;i++)
|
||||
{
|
||||
seg_t *seg = &segs[i];
|
||||
|
||||
// Account for ZDoom space optimizations that cannot be done for GL
|
||||
unsigned int partner= glsegextras[i].PartnerSeg;
|
||||
if (partner < numsegs) seg->PartnerSeg = &segs[partner];
|
||||
else seg->PartnerSeg = NULL;
|
||||
|
||||
if (seg->sidedef == NULL) continue; // miniseg
|
||||
int sidenum = int(seg->sidedef - sides);
|
||||
|
||||
|
@ -594,7 +468,6 @@ void gl_PreprocessLevel()
|
|||
PrepareSegs();
|
||||
PrepareSectorData();
|
||||
InitVertexData();
|
||||
SetupDependencies();
|
||||
for(i=0;i<numsectors;i++)
|
||||
{
|
||||
sectors[i].dirty = true;
|
||||
|
@ -604,11 +477,6 @@ void gl_PreprocessLevel()
|
|||
|
||||
gl_InitPortals();
|
||||
|
||||
for(i=0;i<numsides;i++)
|
||||
{
|
||||
sides[i].dirty = true;
|
||||
}
|
||||
|
||||
if (GLRenderer != NULL)
|
||||
{
|
||||
GLRenderer->SetupLevel();
|
||||
|
|
|
@ -163,23 +163,6 @@ ADD_STAT(lightstats)
|
|||
return out;
|
||||
}
|
||||
|
||||
extern int DirtyCount;
|
||||
|
||||
ADD_STAT(dirty)
|
||||
{
|
||||
static FString buff;
|
||||
static int lasttime=0;
|
||||
int t=I_FPSTime();
|
||||
if (t-lasttime>1000)
|
||||
{
|
||||
buff.Format("Dirty=%2.8f (%d)\n", Dirty.TimeMS(), DirtyCount);
|
||||
lasttime=t;
|
||||
}
|
||||
Dirty.Reset();
|
||||
DirtyCount = 0;
|
||||
return buff;
|
||||
}
|
||||
|
||||
void AppendMissingTextureStats(FString &out);
|
||||
extern int viewpitch;
|
||||
|
||||
|
|
|
@ -115,7 +115,15 @@ void FNodeBuilder::Extract (node_t *&outNodes, int &nodeCount,
|
|||
for (i = 0; i < segCount; ++i)
|
||||
{
|
||||
outSegs[i] = *(seg_t *)&segs[i];
|
||||
outSegExtras[i].PartnerSeg = segs[i].Partner;
|
||||
|
||||
if (segs[i].Partner != DWORD_MAX)
|
||||
{
|
||||
outSegExtras[i].PartnerSeg = Segs[segs[i].Partner].storedseg;
|
||||
}
|
||||
else
|
||||
{
|
||||
outSegExtras[i].PartnerSeg = DWORD_MAX;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
36
src/r_defs.h
36
src/r_defs.h
|
@ -418,11 +418,6 @@ struct extsector_t
|
|||
TArray<lightlist_t> lightlist; // 3D light list
|
||||
TArray<sector_t*> attached; // 3D floors attached to this sector
|
||||
} XFloor;
|
||||
|
||||
// Links to other objects that get invalidated when this sector changes
|
||||
TArray<sector_t *> SectorDependencies;
|
||||
TArray<side_t *> SideDependencies;
|
||||
TArray<vertex_t *> VertexDependencies;
|
||||
|
||||
void Serialize(FArchive &arc);
|
||||
};
|
||||
|
@ -488,18 +483,14 @@ struct sector_t
|
|||
|
||||
splane planes[2];
|
||||
|
||||
void SetDirty(bool dolines, bool dovertices);
|
||||
|
||||
void SetXOffset(int pos, fixed_t o)
|
||||
{
|
||||
planes[pos].xform.xoffs = o;
|
||||
//SetDirty(false, false);
|
||||
}
|
||||
|
||||
void AddXOffset(int pos, fixed_t o)
|
||||
{
|
||||
planes[pos].xform.xoffs += o;
|
||||
//SetDirty(false, false);
|
||||
}
|
||||
|
||||
fixed_t GetXOffset(int pos) const
|
||||
|
@ -510,13 +501,11 @@ struct sector_t
|
|||
void SetYOffset(int pos, fixed_t o)
|
||||
{
|
||||
planes[pos].xform.yoffs = o;
|
||||
//SetDirty(false, false);
|
||||
}
|
||||
|
||||
void AddYOffset(int pos, fixed_t o)
|
||||
{
|
||||
planes[pos].xform.yoffs += o;
|
||||
//SetDirty(false, false);
|
||||
}
|
||||
|
||||
fixed_t GetYOffset(int pos, bool addbase = true) const
|
||||
|
@ -534,7 +523,6 @@ struct sector_t
|
|||
void SetXScale(int pos, fixed_t o)
|
||||
{
|
||||
planes[pos].xform.xscale = o;
|
||||
//SetDirty(false, false);
|
||||
}
|
||||
|
||||
fixed_t GetXScale(int pos) const
|
||||
|
@ -545,7 +533,6 @@ struct sector_t
|
|||
void SetYScale(int pos, fixed_t o)
|
||||
{
|
||||
planes[pos].xform.yscale = o;
|
||||
//SetDirty(false, false);
|
||||
}
|
||||
|
||||
fixed_t GetYScale(int pos) const
|
||||
|
@ -556,7 +543,6 @@ struct sector_t
|
|||
void SetAngle(int pos, angle_t o)
|
||||
{
|
||||
planes[pos].xform.angle = o;
|
||||
//SetDirty(false, false);
|
||||
}
|
||||
|
||||
angle_t GetAngle(int pos, bool addbase = true) const
|
||||
|
@ -575,7 +561,6 @@ struct sector_t
|
|||
{
|
||||
planes[pos].xform.base_yoffs = y;
|
||||
planes[pos].xform.base_angle = o;
|
||||
//SetDirty(false, false);
|
||||
}
|
||||
|
||||
int GetFlags(int pos) const
|
||||
|
@ -597,7 +582,6 @@ struct sector_t
|
|||
void SetPlaneLight(int pos, int level)
|
||||
{
|
||||
planes[pos].Light = level;
|
||||
//dirty = true;
|
||||
}
|
||||
|
||||
FTextureID GetTexture(int pos) const
|
||||
|
@ -610,7 +594,6 @@ struct sector_t
|
|||
FTextureID old = planes[pos].Texture;
|
||||
planes[pos].Texture = tex;
|
||||
if (floorclip && pos == floor && tex != old) AdjustFloorClip();
|
||||
SetDirty(true, false);
|
||||
}
|
||||
|
||||
fixed_t GetPlaneTexZ(int pos) const
|
||||
|
@ -621,13 +604,11 @@ struct sector_t
|
|||
void SetPlaneTexZ(int pos, fixed_t val)
|
||||
{
|
||||
planes[pos].TexZ = val;
|
||||
SetDirty(true, true);
|
||||
}
|
||||
|
||||
void ChangePlaneTexZ(int pos, fixed_t val)
|
||||
{
|
||||
planes[pos].TexZ += val;
|
||||
SetDirty(true, true);
|
||||
}
|
||||
|
||||
sector_t *GetHeightSec() const
|
||||
|
@ -638,13 +619,11 @@ struct sector_t
|
|||
void ChangeLightLevel(int newval)
|
||||
{
|
||||
lightlevel = (BYTE)clamp(lightlevel + newval, 0, 255);
|
||||
//SetDirty(true, false);
|
||||
}
|
||||
|
||||
void SetLightLevel(int newval)
|
||||
{
|
||||
lightlevel = (BYTE)clamp(newval, 0, 255);
|
||||
//SetDirty(true, false);
|
||||
}
|
||||
|
||||
int GetLightLevel() const
|
||||
|
@ -850,7 +829,6 @@ struct side_t
|
|||
void SetLight(SWORD l)
|
||||
{
|
||||
Light = l;
|
||||
//dirty = true;
|
||||
}
|
||||
|
||||
FTextureID GetTexture(int which) const
|
||||
|
@ -860,20 +838,17 @@ struct side_t
|
|||
void SetTexture(int which, FTextureID tex)
|
||||
{
|
||||
textures[which].texture = tex;
|
||||
dirty = true;
|
||||
}
|
||||
|
||||
void SetTextureXOffset(int which, fixed_t offset)
|
||||
{
|
||||
textures[which].xoffset = offset;
|
||||
//dirty = true;
|
||||
}
|
||||
void SetTextureXOffset(fixed_t offset)
|
||||
{
|
||||
textures[top].xoffset =
|
||||
textures[mid].xoffset =
|
||||
textures[bottom].xoffset = offset;
|
||||
//dirty = true;
|
||||
}
|
||||
fixed_t GetTextureXOffset(int which) const
|
||||
{
|
||||
|
@ -882,20 +857,17 @@ struct side_t
|
|||
void AddTextureXOffset(int which, fixed_t delta)
|
||||
{
|
||||
textures[which].xoffset += delta;
|
||||
//dirty = true;
|
||||
}
|
||||
|
||||
void SetTextureYOffset(int which, fixed_t offset)
|
||||
{
|
||||
textures[which].yoffset = offset;
|
||||
//dirty = true;
|
||||
}
|
||||
void SetTextureYOffset(fixed_t offset)
|
||||
{
|
||||
textures[top].yoffset =
|
||||
textures[mid].yoffset =
|
||||
textures[bottom].yoffset = offset;
|
||||
//dirty = true;
|
||||
}
|
||||
fixed_t GetTextureYOffset(int which) const
|
||||
{
|
||||
|
@ -904,18 +876,15 @@ struct side_t
|
|||
void AddTextureYOffset(int which, fixed_t delta)
|
||||
{
|
||||
textures[which].yoffset += delta;
|
||||
//dirty = true;
|
||||
}
|
||||
|
||||
void SetTextureXScale(int which, fixed_t scale)
|
||||
{
|
||||
textures[which].xscale = scale <= 0? FRACUNIT : scale;
|
||||
//dirty = true;
|
||||
}
|
||||
void SetTextureXScale(fixed_t scale)
|
||||
{
|
||||
textures[top].xscale = textures[mid].xscale = textures[bottom].xscale = scale <= 0? FRACUNIT : scale;
|
||||
//dirty = true;
|
||||
}
|
||||
fixed_t GetTextureXScale(int which) const
|
||||
{
|
||||
|
@ -924,19 +893,16 @@ struct side_t
|
|||
void MultiplyTextureXScale(int which, fixed_t delta)
|
||||
{
|
||||
textures[which].xscale = FixedMul(textures[which].xscale, delta);
|
||||
//dirty = true;
|
||||
}
|
||||
|
||||
|
||||
void SetTextureYScale(int which, fixed_t scale)
|
||||
{
|
||||
textures[which].yscale = scale <= 0? FRACUNIT : scale;
|
||||
//dirty = true;
|
||||
}
|
||||
void SetTextureYScale(fixed_t scale)
|
||||
{
|
||||
textures[top].yscale = textures[mid].yscale = textures[bottom].yscale = scale <= 0? FRACUNIT : scale;
|
||||
//dirty = true;
|
||||
}
|
||||
fixed_t GetTextureYScale(int which) const
|
||||
{
|
||||
|
@ -945,7 +911,6 @@ struct side_t
|
|||
void MultiplyTextureYScale(int which, fixed_t delta)
|
||||
{
|
||||
textures[which].yscale = FixedMul(textures[which].yscale, delta);
|
||||
//dirty = true;
|
||||
}
|
||||
|
||||
DInterpolation *SetInterpolation(int position);
|
||||
|
@ -956,7 +921,6 @@ struct side_t
|
|||
|
||||
//For GL
|
||||
FLightNode * lighthead[2]; // all blended lights that may affect this wall
|
||||
bool dirty; // GL info needs to be recalculated
|
||||
|
||||
seg_t **segs; // all segs belonging to this sidedef in ascending order. Used for precise rendering
|
||||
int numsegs;
|
||||
|
|
|
@ -3,5 +3,5 @@
|
|||
// This file was automatically generated by the
|
||||
// updaterevision tool. Do not edit by hand.
|
||||
|
||||
#define ZD_SVN_REVISION_STRING "2615"
|
||||
#define ZD_SVN_REVISION_NUMBER 2615
|
||||
#define ZD_SVN_REVISION_STRING "2617"
|
||||
#define ZD_SVN_REVISION_NUMBER 2617
|
||||
|
|
|
@ -41,15 +41,15 @@
|
|||
|
||||
/** Lots of different version numbers **/
|
||||
|
||||
#define DOTVERSIONSTR_NOREV "1.5.1"
|
||||
#define DOTVERSIONSTR_NOREV "1.5.2"
|
||||
#define ZDVER_STRING "2.5.0"
|
||||
|
||||
// The version string the user actually sees.
|
||||
#define DOTVERSIONSTR DOTVERSIONSTR_NOREV " (r" SVN_REVISION_STRING ") / ZDoom " ZDVER_STRING " (r" ZD_SVN_REVISION_STRING ")"
|
||||
|
||||
// The version as seen in the Windows resource
|
||||
#define RC_FILEVERSION 1,5,1,SVN_REVISION_NUMBER
|
||||
#define RC_PRODUCTVERSION 1,5,1,0
|
||||
#define RC_FILEVERSION 1,5,2,SVN_REVISION_NUMBER
|
||||
#define RC_PRODUCTVERSION 1,5,2,0
|
||||
#define RC_FILEVERSION2 DOTVERSIONSTR
|
||||
#define RC_PRODUCTVERSION2 "1.5"
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue