diff --git a/Source/Core/Map/Linedef.cs b/Source/Core/Map/Linedef.cs index 3239cfd..79fb2e8 100644 --- a/Source/Core/Map/Linedef.cs +++ b/Source/Core/Map/Linedef.cs @@ -1014,13 +1014,22 @@ namespace CodeImp.DoomBuilder.Map } // This flips the sidedefs - public void FlipSidedefs() + public void FlipSidedefs() { FlipSidedefs(false); } + + public void FlipSidedefs(bool flipsectorrefs) { // Flip sidedefs Sidedef oldfront = front; Sidedef oldback = back; AttachFront(oldback); AttachBack(oldfront); + + if (flipsectorrefs & back != null) + { + Sector old = back.Sector; + back.SetSector(front.Sector); + front.SetSector(old); + } General.Map.IsChanged = true; } diff --git a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs index d25acb5..e3d1c5b 100644 --- a/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs +++ b/Source/Plugins/BuilderModes/ClassicModes/LinedefsMode.cs @@ -2110,7 +2110,7 @@ namespace CodeImp.DoomBuilder.BuilderModes // Flip sidedefs in all selected linedefs foreach(Linedef l in validlines) { - l.FlipSidedefs(); + l.FlipSidedefs(true); l.Front.Sector.UpdateNeeded = true; l.Back.Sector.UpdateNeeded = true; }