Fixed, DB2 bug, Visual mode: in some cases (sidedef's sector ceiling lower than other side's sector floor) higher/lower sidedef picking was behaving incorrectly.

This commit is contained in:
MaxED 2016-02-23 07:39:34 +00:00
parent 80861be6ab
commit b29004880b
2 changed files with 4 additions and 2 deletions

View file

@ -190,7 +190,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
if(polygons.Count > 0)
{
// Keep top and bottom planes for intersection testing
top = osd.Floor.plane;
Vector2D linecenter = Sidedef.Line.GetCenterPoint(); //mxd. Our sector's ceiling can be lower than the other sector's floor!
top = (osd.Floor.plane.GetZ(linecenter) < sd.Ceiling.plane.GetZ(linecenter) ? osd.Floor.plane : sd.Ceiling.plane);
bottom = sd.Floor.plane;
// Process the polygon and create vertices

View file

@ -184,8 +184,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
if(polygons.Count > 0)
{
// Keep top and bottom planes for intersection testing
Vector2D linecenter = Sidedef.Line.GetCenterPoint(); //mxd. Our sector's floor can be higher than the other sector's ceiling!
top = sd.Ceiling.plane;
bottom = osd.Ceiling.plane;
bottom = (osd.Ceiling.plane.GetZ(linecenter) > sd.Floor.plane.GetZ(linecenter) ? osd.Ceiling.plane : sd.Floor.plane);
// Process the polygon and create vertices
List<WorldVertex> verts = CreatePolygonVertices(polygons, tp, sd, lightvalue, lightabsolute);