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 committed by spherallic
parent e05361e8bb
commit 2c023ebd1e
2 changed files with 4 additions and 2 deletions

View file

@ -240,7 +240,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

@ -235,8 +235,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);