From e1050775b377c324d4ea67c33ea5b9357d69f4fc Mon Sep 17 00:00:00 2001 From: MaxED Date: Fri, 23 Aug 2013 14:22:40 +0000 Subject: [PATCH] Error Checks mode: connected lines with decimal positions were reported as overlapping in some cases. --- .../BuilderModes/ErrorChecks/CheckOverlappingLines.cs | 7 +++++-- .../BuilderModes/ErrorChecks/ResultLineOverlapping.cs | 2 +- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/Source/Plugins/BuilderModes/ErrorChecks/CheckOverlappingLines.cs b/Source/Plugins/BuilderModes/ErrorChecks/CheckOverlappingLines.cs index 5b114fc4..c9808be6 100644 --- a/Source/Plugins/BuilderModes/ErrorChecks/CheckOverlappingLines.cs +++ b/Source/Plugins/BuilderModes/ErrorChecks/CheckOverlappingLines.cs @@ -16,6 +16,7 @@ #region ================== Namespaces +using System; using System.Collections.Generic; using CodeImp.DoomBuilder.Map; using System.Threading; @@ -74,8 +75,10 @@ namespace CodeImp.DoomBuilder.BuilderModes // Check if the lines touch. Note that I don't include 0.0 and 1.0 here because // the lines may be touching at the ends when sharing the same vertex. - if(l.Line.GetIntersection(d.Line, out du, out lu)) - { + if(l.Line.GetIntersection(d.Line, out du, out lu)) { + lu = (float)Math.Round(lu, General.Map.FormatInterface.VertexDecimals); //mxd + du = (float)Math.Round(du, General.Map.FormatInterface.VertexDecimals); //mxd + if((lu > 0.0f) && (lu < 1.0f) && (du > 0.0f) && (du < 1.0f)) { // Check if not the same sector on all sides diff --git a/Source/Plugins/BuilderModes/ErrorChecks/ResultLineOverlapping.cs b/Source/Plugins/BuilderModes/ErrorChecks/ResultLineOverlapping.cs index 18755a29..af0955f3 100644 --- a/Source/Plugins/BuilderModes/ErrorChecks/ResultLineOverlapping.cs +++ b/Source/Plugins/BuilderModes/ErrorChecks/ResultLineOverlapping.cs @@ -58,7 +58,7 @@ namespace CodeImp.DoomBuilder.BuilderModes // This must return the string that is displayed in the listbox public override string ToString() { - return "Linedefs " + line1.Index + " and " + line2.Index + " are overlapping and references different sectors"; + return "Linedefs " + line1.Index + " and " + line2.Index + " are overlapping and reference different sectors"; } // Rendering