diff --git a/Source/Core/Windows/SectorEditFormUDMF.cs b/Source/Core/Windows/SectorEditFormUDMF.cs index 101a243c6fad7e07ea533ba1a2ded47e24853bff..d806ead29cf6fd4c2fccff7991b1066339475865 100755 --- a/Source/Core/Windows/SectorEditFormUDMF.cs +++ b/Source/Core/Windows/SectorEditFormUDMF.cs @@ -1855,6 +1855,9 @@ namespace CodeImp.DoomBuilder.Windows MakeUndo(); //mxd Sector fs = General.GetByIndex(sectors, 0); + // biwa. Do not reset to the z position of the plane of the center of the sector anymore, since + // that will result in pretty crazy values of 3D floor control sectors + /* if (fs.CeilSlope.IsNormalized()) { fs.UpdateBBox(); @@ -1863,15 +1866,21 @@ namespace CodeImp.DoomBuilder.Windows } else ceilingslopecontrol.SetOffset(fs.CeilHeight, true); + */ + ceilingslopecontrol.SetOffset(fs.CeilHeight, true); foreach (Sector s in sectors) { + // biwa. Do not reset to the z position of the plane of the center of the sector anymore, since + // that will result in pretty crazy values of 3D floor control sectors + /* if (s.CeilSlope.IsNormalized()) { s.UpdateBBox(); Plane p = new Plane(s.CeilSlope, s.CeilSlopeOffset); s.CeilHeight = (int)Math.Round(p.GetZ(s.BBox.X + s.BBox.Width / 2, s.BBox.Y + s.BBox.Height / 2)); } + */ s.CeilSlope = new Vector3D(); s.CeilSlopeOffset = double.NaN; @@ -1890,6 +1899,9 @@ namespace CodeImp.DoomBuilder.Windows MakeUndo(); //mxd Sector fs = General.GetByIndex(sectors, 0); + // biwa. Do not reset to the z position of the plane of the center of the sector anymore, since + // that will result in pretty crazy values of 3D floor control sectors + /* if (fs.FloorSlope.IsNormalized()) { fs.UpdateBBox(); @@ -1898,15 +1910,22 @@ namespace CodeImp.DoomBuilder.Windows } else floorslopecontrol.SetOffset(fs.FloorHeight, true); + */ + + floorslopecontrol.SetOffset(fs.FloorHeight, true); foreach (Sector s in sectors) { + // biwa. Do not reset to the z position of the plane of the center of the sector anymore, since + // that will result in pretty crazy values of 3D floor control sectors + /* if (s.FloorSlope.IsNormalized()) { s.UpdateBBox(); Plane p = new Plane(s.FloorSlope, s.FloorSlopeOffset); s.FloorHeight = (int)Math.Round(p.GetZ(s.BBox.X + s.BBox.Width / 2, s.BBox.Y + s.BBox.Height / 2)); } + */ s.FloorSlope = new Vector3D(); s.FloorSlopeOffset = double.NaN; diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs index 33aa16fcf01ff23a09fe1914226193324c396e1d..2d8d7eae788bda0801000200aafc8e422710fb28 100755 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs @@ -4423,7 +4423,9 @@ namespace CodeImp.DoomBuilder.BuilderModes if (applytoceiling) { // Set the ceiling height to something hopefully sensible - level.sector.CeilHeight = (int)Math.Round(level.plane.GetZ(level.sector.BBox.X + level.sector.BBox.Width / 2, level.sector.BBox.Y + level.sector.BBox.Height / 2)); + // biwa. Do not reset to the z position of the plane of the center of the sector anymore, since + // that will result in pretty crazy values of 3D floor control sectors + //level.sector.CeilHeight = (int)Math.Round(level.plane.GetZ(level.sector.BBox.X + level.sector.BBox.Width / 2, level.sector.BBox.Y + level.sector.BBox.Height / 2)); level.sector.CeilSlopeOffset = double.NaN; level.sector.CeilSlope = new Vector3D(); @@ -4432,7 +4434,9 @@ namespace CodeImp.DoomBuilder.BuilderModes else { // Set the floor height to something hopefully sensible - level.sector.FloorHeight = (int)Math.Round(level.plane.GetZ(level.sector.BBox.X + level.sector.BBox.Width / 2, level.sector.BBox.Y + level.sector.BBox.Height / 2)); + // biwa. Do not reset to the z position of the plane of the center of the sector anymore, since + // that will result in pretty crazy values of 3D floor control sectors + //level.sector.FloorHeight = (int)Math.Round(level.plane.GetZ(level.sector.BBox.X + level.sector.BBox.Width / 2, level.sector.BBox.Y + level.sector.BBox.Height / 2)); level.sector.FloorSlopeOffset = double.NaN; level.sector.FloorSlope = new Vector3D();