From d92ab4683886a78491acff8a42a8d481f7bfaf20 Mon Sep 17 00:00:00 2001 From: biwa <6475593+biwa@users.noreply.github.com> Date: Fri, 23 Oct 2020 20:56:50 +0200 Subject: [PATCH] Visual Mode: fixed a bug where selected 3D floor tops/bottoms would appear to be selected after undo, but actually weren't selected anymore --- .../VisualModes/BaseVisualMode.cs | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs index faa569ac..8b3262be 100755 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs @@ -362,7 +362,26 @@ namespace CodeImp.DoomBuilder.BuilderModes BaseVisualSector bvs = (BaseVisualSector)vs.Value; if((bvs.Floor != null) && bvs.Floor.Selected) selectedobjects.Add(bvs.Floor); if((bvs.Ceiling != null) && bvs.Ceiling.Selected) selectedobjects.Add(bvs.Ceiling); - foreach(Sidedef sd in vs.Key.Sidedefs) + + // Also check extra floors + if (bvs.ExtraFloors.Count > 0) + foreach (VisualFloor vf in bvs.ExtraFloors) + if (vf.Selected) selectedobjects.Add(vf); + + if (bvs.ExtraBackFloors.Count > 0) + foreach (VisualFloor vf in bvs.ExtraBackFloors) + if (vf.Selected) selectedobjects.Add(vf); + + // Also check extra ceilings + if (bvs.ExtraCeilings.Count > 0) + foreach (VisualCeiling vc in bvs.ExtraCeilings) + if (vc.Selected) selectedobjects.Add(vc); + + if (bvs.ExtraBackCeilings.Count > 0) + foreach (VisualCeiling vc in bvs.ExtraBackCeilings) + if (vc.Selected) selectedobjects.Add(vc); + + foreach (Sidedef sd in vs.Key.Sidedefs) { List sidedefgeos = bvs.GetSidedefGeometry(sd); foreach(VisualGeometry sdg in sidedefgeos)