From 86d9c7ec8ee84bee60a459c975f3802d158d2b70 Mon Sep 17 00:00:00 2001 From: Christoph Oelckers Date: Tue, 9 Sep 2014 01:27:41 +0200 Subject: [PATCH] - add some compatibility settings to fix rendering glitches in BTSX_E1 MAP12. --- src/gl/data/gl_data.cpp | 1 - src/gl/scene/gl_drawinfo.cpp | 3 --- src/gl/scene/gl_renderhacks.cpp | 7 +------ src/gl/scene/gl_walls.cpp | 5 ----- src/gl/textures/gl_material.cpp | 1 - src/p_3dfloors.cpp | 1 + wadsrc/static/compatibility.txt | 14 ++++++++++++++ 7 files changed, 16 insertions(+), 16 deletions(-) diff --git a/src/gl/data/gl_data.cpp b/src/gl/data/gl_data.cpp index e0bb5ee6b..385b7409b 100644 --- a/src/gl/data/gl_data.cpp +++ b/src/gl/data/gl_data.cpp @@ -438,7 +438,6 @@ void gl_RecalcVertexHeights(vertex_t * v) int i,j,k; float height; - //@sync-vertexheights v->numheights=0; for(i=0;inumsectors;i++) { diff --git a/src/gl/scene/gl_drawinfo.cpp b/src/gl/scene/gl_drawinfo.cpp index 62e604aca..f078c52c9 100644 --- a/src/gl/scene/gl_drawinfo.cpp +++ b/src/gl/scene/gl_drawinfo.cpp @@ -855,7 +855,6 @@ void GLDrawList::Sort() //========================================================================== void GLDrawList::AddWall(GLWall * wall) { - //@sync-drawinfo drawitems.Push(GLDrawItem(GLDIT_WALL,walls.Push(*wall))); } @@ -866,7 +865,6 @@ void GLDrawList::AddWall(GLWall * wall) //========================================================================== void GLDrawList::AddFlat(GLFlat * flat) { - //@sync-drawinfo drawitems.Push(GLDrawItem(GLDIT_FLAT,flats.Push(*flat))); } @@ -877,7 +875,6 @@ void GLDrawList::AddFlat(GLFlat * flat) //========================================================================== void GLDrawList::AddSprite(GLSprite * sprite) { - //@sync-drawinfo drawitems.Push(GLDrawItem(GLDIT_SPRITE,sprites.Push(*sprite))); } diff --git a/src/gl/scene/gl_renderhacks.cpp b/src/gl/scene/gl_renderhacks.cpp index a6452a01f..7aba676f5 100644 --- a/src/gl/scene/gl_renderhacks.cpp +++ b/src/gl/scene/gl_renderhacks.cpp @@ -163,7 +163,6 @@ void FDrawInfo::AddUpperMissingTexture(side_t * side, subsector_t *sub, fixed_t return; } - //@sync-hack for(unsigned int i=0;ibacksector->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(); return; } - //@sync-hack for(unsigned int i=0;iAddLine(this); break; case RENDERWALL_SECTORSTACK: - //@sync-portal portal = this->portal->GetGLPortal(); portal->AddLine(this); break; @@ -231,7 +228,6 @@ void GLWall::PutWall(bool translucent) break; case RENDERWALL_MIRROR: - //@sync-portal portal=GLPortal::FindPortal(seg->linedef); if (!portal) portal=new GLMirrorPortal(seg->linedef); portal->AddLine(this); @@ -244,7 +240,6 @@ void GLWall::PutWall(bool translucent) break; case RENDERWALL_SKY: - //@sync-portal portal=GLPortal::FindPortal(sky); if (!portal) portal=new GLSkyPortal(sky); portal->AddLine(this); diff --git a/src/gl/textures/gl_material.cpp b/src/gl/textures/gl_material.cpp index 5e9a9be1a..500a0afab 100644 --- a/src/gl/textures/gl_material.cpp +++ b/src/gl/textures/gl_material.cpp @@ -1047,7 +1047,6 @@ FMaterial * FMaterial::ValidateTexture(FTexture * tex) FMaterial *gltex = tex->gl_info.Material; if (gltex == NULL) { - //@sync-tex gltex = new FMaterial(tex, false); } return gltex; diff --git a/src/p_3dfloors.cpp b/src/p_3dfloors.cpp index ce6224b53..67933a75a 100644 --- a/src/p_3dfloors.cpp +++ b/src/p_3dfloors.cpp @@ -264,6 +264,7 @@ static int P_Set3DFloor(line_t * line, int param, int param2, int alpha) else if (param==4) { 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; } else diff --git a/wadsrc/static/compatibility.txt b/wadsrc/static/compatibility.txt index 1c2307ec0..bf5f3cc3b 100644 --- a/wadsrc/static/compatibility.txt +++ b/wadsrc/static/compatibility.txt @@ -381,3 +381,17 @@ B9DFF13207EACAC675C71D82624D0007 // XtheaterIII map01 { 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 +} +