mirror of
https://github.com/ZDoom/qzdoom.git
synced 2024-11-11 15:22:16 +00:00
- add some compatibility settings to fix rendering glitches in BTSX_E1 MAP12.
This commit is contained in:
parent
e2c2f635ac
commit
86d9c7ec8e
7 changed files with 16 additions and 16 deletions
|
@ -438,7 +438,6 @@ void gl_RecalcVertexHeights(vertex_t * v)
|
||||||
int i,j,k;
|
int i,j,k;
|
||||||
float height;
|
float height;
|
||||||
|
|
||||||
//@sync-vertexheights
|
|
||||||
v->numheights=0;
|
v->numheights=0;
|
||||||
for(i=0;i<v->numsectors;i++)
|
for(i=0;i<v->numsectors;i++)
|
||||||
{
|
{
|
||||||
|
|
|
@ -855,7 +855,6 @@ void GLDrawList::Sort()
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
void GLDrawList::AddWall(GLWall * wall)
|
void GLDrawList::AddWall(GLWall * wall)
|
||||||
{
|
{
|
||||||
//@sync-drawinfo
|
|
||||||
drawitems.Push(GLDrawItem(GLDIT_WALL,walls.Push(*wall)));
|
drawitems.Push(GLDrawItem(GLDIT_WALL,walls.Push(*wall)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -866,7 +865,6 @@ void GLDrawList::AddWall(GLWall * wall)
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
void GLDrawList::AddFlat(GLFlat * flat)
|
void GLDrawList::AddFlat(GLFlat * flat)
|
||||||
{
|
{
|
||||||
//@sync-drawinfo
|
|
||||||
drawitems.Push(GLDrawItem(GLDIT_FLAT,flats.Push(*flat)));
|
drawitems.Push(GLDrawItem(GLDIT_FLAT,flats.Push(*flat)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -877,7 +875,6 @@ void GLDrawList::AddFlat(GLFlat * flat)
|
||||||
//==========================================================================
|
//==========================================================================
|
||||||
void GLDrawList::AddSprite(GLSprite * sprite)
|
void GLDrawList::AddSprite(GLSprite * sprite)
|
||||||
{
|
{
|
||||||
//@sync-drawinfo
|
|
||||||
drawitems.Push(GLDrawItem(GLDIT_SPRITE,sprites.Push(*sprite)));
|
drawitems.Push(GLDrawItem(GLDIT_SPRITE,sprites.Push(*sprite)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -163,7 +163,6 @@ void FDrawInfo::AddUpperMissingTexture(side_t * side, subsector_t *sub, fixed_t
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//@sync-hack
|
|
||||||
for(unsigned int i=0;i<MissingUpperTextures.Size();i++)
|
for(unsigned int i=0;i<MissingUpperTextures.Size();i++)
|
||||||
{
|
{
|
||||||
if (MissingUpperTextures[i].sub == sub)
|
if (MissingUpperTextures[i].sub == sub)
|
||||||
|
@ -230,13 +229,12 @@ void FDrawInfo::AddLowerMissingTexture(side_t * side, subsector_t *sub, fixed_t
|
||||||
}
|
}
|
||||||
|
|
||||||
// Ignore FF_FIX's because they are designed to abuse missing textures
|
// Ignore FF_FIX's because they are designed to abuse missing textures
|
||||||
if (seg->backsector->e->XFloor.ffloors.Size() && seg->backsector->e->XFloor.ffloors[0]->flags&FF_FIX)
|
if (seg->backsector->e->XFloor.ffloors.Size() && (seg->backsector->e->XFloor.ffloors[0]->flags&(FF_FIX|FF_SEETHROUGH)) == FF_FIX)
|
||||||
{
|
{
|
||||||
totalms.Unclock();
|
totalms.Unclock();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
//@sync-hack
|
|
||||||
for(unsigned int i=0;i<MissingLowerTextures.Size();i++)
|
for(unsigned int i=0;i<MissingLowerTextures.Size();i++)
|
||||||
{
|
{
|
||||||
if (MissingLowerTextures[i].sub == sub)
|
if (MissingLowerTextures[i].sub == sub)
|
||||||
|
@ -733,7 +731,6 @@ void FDrawInfo::AddHackedSubsector(subsector_t * sub)
|
||||||
{
|
{
|
||||||
if (!(level.maptype == MAPTYPE_HEXEN))
|
if (!(level.maptype == MAPTYPE_HEXEN))
|
||||||
{
|
{
|
||||||
//@sync-hack (probably not, this is only called from the main thread)
|
|
||||||
SubsectorHackInfo sh={sub, 0};
|
SubsectorHackInfo sh={sub, 0};
|
||||||
SubsectorHacks.Push (sh);
|
SubsectorHacks.Push (sh);
|
||||||
}
|
}
|
||||||
|
@ -1033,13 +1030,11 @@ ADD_STAT(sectorhacks)
|
||||||
|
|
||||||
void FDrawInfo::AddFloorStack(sector_t * sec)
|
void FDrawInfo::AddFloorStack(sector_t * sec)
|
||||||
{
|
{
|
||||||
//@sync-hack
|
|
||||||
FloorStacks.Push(sec);
|
FloorStacks.Push(sec);
|
||||||
}
|
}
|
||||||
|
|
||||||
void FDrawInfo::AddCeilingStack(sector_t * sec)
|
void FDrawInfo::AddCeilingStack(sector_t * sec)
|
||||||
{
|
{
|
||||||
//@sync-hack
|
|
||||||
CeilingStacks.Push(sec);
|
CeilingStacks.Push(sec);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -199,7 +199,6 @@ void GLWall::PutWall(bool translucent)
|
||||||
// portals don't go into the draw list.
|
// portals don't go into the draw list.
|
||||||
// Instead they are added to the portal manager
|
// Instead they are added to the portal manager
|
||||||
case RENDERWALL_HORIZON:
|
case RENDERWALL_HORIZON:
|
||||||
//@sync-portal
|
|
||||||
horizon=UniqueHorizons.Get(horizon);
|
horizon=UniqueHorizons.Get(horizon);
|
||||||
portal=GLPortal::FindPortal(horizon);
|
portal=GLPortal::FindPortal(horizon);
|
||||||
if (!portal) portal=new GLHorizonPortal(horizon);
|
if (!portal) portal=new GLHorizonPortal(horizon);
|
||||||
|
@ -207,14 +206,12 @@ void GLWall::PutWall(bool translucent)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RENDERWALL_SKYBOX:
|
case RENDERWALL_SKYBOX:
|
||||||
//@sync-portal
|
|
||||||
portal=GLPortal::FindPortal(skybox);
|
portal=GLPortal::FindPortal(skybox);
|
||||||
if (!portal) portal=new GLSkyboxPortal(skybox);
|
if (!portal) portal=new GLSkyboxPortal(skybox);
|
||||||
portal->AddLine(this);
|
portal->AddLine(this);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RENDERWALL_SECTORSTACK:
|
case RENDERWALL_SECTORSTACK:
|
||||||
//@sync-portal
|
|
||||||
portal = this->portal->GetGLPortal();
|
portal = this->portal->GetGLPortal();
|
||||||
portal->AddLine(this);
|
portal->AddLine(this);
|
||||||
break;
|
break;
|
||||||
|
@ -231,7 +228,6 @@ void GLWall::PutWall(bool translucent)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RENDERWALL_MIRROR:
|
case RENDERWALL_MIRROR:
|
||||||
//@sync-portal
|
|
||||||
portal=GLPortal::FindPortal(seg->linedef);
|
portal=GLPortal::FindPortal(seg->linedef);
|
||||||
if (!portal) portal=new GLMirrorPortal(seg->linedef);
|
if (!portal) portal=new GLMirrorPortal(seg->linedef);
|
||||||
portal->AddLine(this);
|
portal->AddLine(this);
|
||||||
|
@ -244,7 +240,6 @@ void GLWall::PutWall(bool translucent)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case RENDERWALL_SKY:
|
case RENDERWALL_SKY:
|
||||||
//@sync-portal
|
|
||||||
portal=GLPortal::FindPortal(sky);
|
portal=GLPortal::FindPortal(sky);
|
||||||
if (!portal) portal=new GLSkyPortal(sky);
|
if (!portal) portal=new GLSkyPortal(sky);
|
||||||
portal->AddLine(this);
|
portal->AddLine(this);
|
||||||
|
|
|
@ -1047,7 +1047,6 @@ FMaterial * FMaterial::ValidateTexture(FTexture * tex)
|
||||||
FMaterial *gltex = tex->gl_info.Material;
|
FMaterial *gltex = tex->gl_info.Material;
|
||||||
if (gltex == NULL)
|
if (gltex == NULL)
|
||||||
{
|
{
|
||||||
//@sync-tex
|
|
||||||
gltex = new FMaterial(tex, false);
|
gltex = new FMaterial(tex, false);
|
||||||
}
|
}
|
||||||
return gltex;
|
return gltex;
|
||||||
|
|
|
@ -264,6 +264,7 @@ static int P_Set3DFloor(line_t * line, int param, int param2, int alpha)
|
||||||
else if (param==4)
|
else if (param==4)
|
||||||
{
|
{
|
||||||
flags=FF_EXISTS|FF_RENDERPLANES|FF_INVERTPLANES|FF_NOSHADE|FF_FIX;
|
flags=FF_EXISTS|FF_RENDERPLANES|FF_INVERTPLANES|FF_NOSHADE|FF_FIX;
|
||||||
|
if (param2 & 1) flags |= FF_SEETHROUGH; // marker for allowing missing texture checks
|
||||||
alpha=255;
|
alpha=255;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
@ -381,3 +381,17 @@ B9DFF13207EACAC675C71D82624D0007 // XtheaterIII map01
|
||||||
{
|
{
|
||||||
DisablePushWindowCheck
|
DisablePushWindowCheck
|
||||||
}
|
}
|
||||||
|
|
||||||
|
712BB4CFBD0753178CA0C6814BE4C288 // map12 BTSX_E1 - patch some rendering glitches that are problematic to detect
|
||||||
|
{
|
||||||
|
setsectortag 545 32000
|
||||||
|
setsectortag 1618 32000
|
||||||
|
setlinespecial 2853 Sector_Set3DFloor 32000 4 0 0 0
|
||||||
|
setsectortag 439 32001
|
||||||
|
setsectortag 458 32001
|
||||||
|
setlinespecial 2182 Sector_Set3DFloor 32001 4 0 0 0
|
||||||
|
setsectortag 454 32002
|
||||||
|
setsectortag 910 32002
|
||||||
|
setlinespecial 2410 Sector_Set3DFloor 32002 4 1 0 0
|
||||||
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue