Correct sector references when manually flipping sidedefs

This commit is contained in:
spherallic 2024-06-13 13:20:41 +02:00
parent 0e53c4e394
commit c4d0f0a5d9
2 changed files with 13 additions and 2 deletions

View file

@ -854,13 +854,24 @@ namespace CodeImp.DoomBuilder.Map
// This flips the sidedefs
public void FlipSidedefs()
{
FlipSidedefs(false);
}
public void FlipSidedefs(bool correctsectors)
{
// Flip sidedefs
Sidedef oldfront = front;
Sidedef oldback = back;
AttachFront(oldback);
AttachBack(oldfront);
if (correctsectors)
{
Sector old = back.Sector;
back.SetSector(front.Sector);
front.SetSector(old);
}
General.Map.IsChanged = true;
}

View file

@ -1848,7 +1848,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;
}