diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualGeometrySector.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualGeometrySector.cs index 7747022d590fc0b8a2d2c221dcd9b1c733213e63..7854faaac3638397f8ea38457091a1df6cd6bb33 100755 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualGeometrySector.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualGeometrySector.cs @@ -400,7 +400,7 @@ namespace CodeImp.DoomBuilder.BuilderModes protected virtual void SetTexture(string texturename) { } public virtual void ApplyUpperUnpegged(bool set) { } public virtual void ApplyLowerUnpegged(bool set) { } - public virtual void ApplyLineFlag(Linedef line, string flag, string name) { } + public virtual void ApplyLineFlag(string flag, string name) { } protected abstract void MoveTextureOffset(int offsetx, int offsety); protected abstract Point GetTextureOffset(); public virtual void OnPaintSelectEnd() { } // biwa diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualGeometrySidedef.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualGeometrySidedef.cs index 8e8f1868875304a5be548b3c7b7ef1606c506eca..bd1154385ed2f98f9fdedefea9e453a1c9e05973 100755 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualGeometrySidedef.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualGeometrySidedef.cs @@ -1063,7 +1063,7 @@ namespace CodeImp.DoomBuilder.BuilderModes // Toggle midtexture pegging public virtual void OnTogglePegMidtexture() { - mode.ApplyLineFlag(this.Sidedef.Line, "midpeg", "Peg Midtexture"); + mode.ApplyLineFlag("midpeg", "Peg Midtexture"); } // Toggle slope skew @@ -1073,15 +1073,12 @@ namespace CodeImp.DoomBuilder.BuilderModes { case VisualGeometryType.WALL_LOWER: case VisualGeometryType.WALL_UPPER: - mode.ApplyLineFlag(this.Sidedef.Line, "skewtd", "Slope Skew"); - break; - case VisualGeometryType.WALL_MIDDLE_3D: - mode.ApplyLineFlag(this.GetControlLinedef(), "skewtd", "Slope Skew"); + mode.ApplyLineFlag("skewtd", "Slope Skew"); break; case VisualGeometryType.WALL_MIDDLE: - mode.ApplyLineFlag(this.Sidedef.Line, "noskew", "No Midtexture Skew"); + mode.ApplyLineFlag("noskew", "No Midtexture Skew"); break; } } @@ -1149,8 +1146,13 @@ namespace CodeImp.DoomBuilder.BuilderModes } // This sets a specified flag - public virtual void ApplyLineFlag(Linedef line, string flag, string name) + public virtual void ApplyLineFlag(string flag, string name) { + Linedef line = this.Sidedef.Line; + + if (this.GeometryType == VisualGeometryType.WALL_MIDDLE_3D) + line = this.GetControlLinedef(); + if (line.IsFlagSet(flag)) { // Remove flag diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs index 4ccf56e68547e69d08087beab0f355d57a81c1b8..67a732c30ebae4378e5f5546b7a0690d8c797b14 100644 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualMode.cs @@ -2249,12 +2249,12 @@ namespace CodeImp.DoomBuilder.BuilderModes } // Apply specified flag - public void ApplyLineFlag(Linedef line, string flag, string name) + public void ApplyLineFlag(string flag, string name) { List<IVisualEventReceiver> objs = GetSelectedObjects(false, true, false, false, false); foreach (IVisualEventReceiver i in objs) { - i.ApplyLineFlag(line, flag, name); + i.ApplyLineFlag(flag, name); } } diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualSlope.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualSlope.cs index c544c4304eba3ccb072fcab74374f022f3357fa4..70297db3e469d054e4a97a60c093b3b92f98bdfb 100644 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualSlope.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualSlope.cs @@ -129,7 +129,7 @@ namespace CodeImp.DoomBuilder.VisualModes public void ApplyTexture(string texture) { } public void ApplyUpperUnpegged(bool set) { } public void ApplyLowerUnpegged(bool set) { } - public void ApplyLineFlag(Linedef line, string flag, string name) { } + public void ApplyLineFlag(string flag, string name) { } public void SelectNeighbours(bool select, bool withSameTexture, bool withSameHeight, bool stopatselected) { } //mxd public virtual void OnPaintSelectEnd() { } // biwa public void OnChangeScale(int x, int y) { } diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualThing.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualThing.cs index ec81c7aeaa234e32f1051a3834298a34e96f3266..dff6e63b1496b9e17146aa27c2a03e21a5d52f1e 100644 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualThing.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualThing.cs @@ -723,7 +723,7 @@ namespace CodeImp.DoomBuilder.BuilderModes public void ApplyTexture(string texture) { } public void ApplyUpperUnpegged(bool set) { } public void ApplyLowerUnpegged(bool set) { } - public void ApplyLineFlag(Linedef line, string flag, string name) { } + public void ApplyLineFlag(string flag, string name) { } public void SelectNeighbours(bool select, bool withSameTexture, bool withSameHeight, bool stopatselected) { } //mxd public virtual void OnPaintSelectEnd() { } // biwa diff --git a/Source/Plugins/BuilderModes/VisualModes/BaseVisualVertex.cs b/Source/Plugins/BuilderModes/VisualModes/BaseVisualVertex.cs index 6526d8273be2bb4a983efd939880b9eab2d62f06..76715b32b464703a70e3b2ba00b40b52b9add3e6 100644 --- a/Source/Plugins/BuilderModes/VisualModes/BaseVisualVertex.cs +++ b/Source/Plugins/BuilderModes/VisualModes/BaseVisualVertex.cs @@ -262,7 +262,7 @@ namespace CodeImp.DoomBuilder.BuilderModes public void ApplyTexture(string texture) { } public void ApplyUpperUnpegged(bool set) { } public void ApplyLowerUnpegged(bool set) { } - public void ApplyLineFlag(Linedef line, string flag, string name) { } + public void ApplyLineFlag(string flag, string name) { } public string GetTextureName() { return ""; } public void SelectNeighbours(bool select, bool withSameTexture, bool withSameHeight, bool stopatselected) { } //mxd public virtual void OnPaintSelectBegin() { } // biwa diff --git a/Source/Plugins/BuilderModes/VisualModes/IVisualEventReceiver.cs b/Source/Plugins/BuilderModes/VisualModes/IVisualEventReceiver.cs index b280b32f65a20e2ade4249393aae3cca364bb78d..896b93fc79470c66aa45bb6c127744379051858d 100644 --- a/Source/Plugins/BuilderModes/VisualModes/IVisualEventReceiver.cs +++ b/Source/Plugins/BuilderModes/VisualModes/IVisualEventReceiver.cs @@ -64,7 +64,7 @@ namespace CodeImp.DoomBuilder.BuilderModes void ApplyTexture(string texture); void ApplyUpperUnpegged(bool set); void ApplyLowerUnpegged(bool set); - void ApplyLineFlag(Linedef line, string flag, string name); + void ApplyLineFlag(string flag, string name); // Other methods string GetTextureName(); diff --git a/Source/Plugins/BuilderModes/VisualModes/NullVisualEventReceiver.cs b/Source/Plugins/BuilderModes/VisualModes/NullVisualEventReceiver.cs index 5e35629c2f3536bfa171a72085a6ce38a16affcf..045ee2a5f713eab21ab0a82905de9c8ac02b938d 100644 --- a/Source/Plugins/BuilderModes/VisualModes/NullVisualEventReceiver.cs +++ b/Source/Plugins/BuilderModes/VisualModes/NullVisualEventReceiver.cs @@ -61,7 +61,7 @@ namespace CodeImp.DoomBuilder.BuilderModes public void ApplyTexture(string texture) { } public void ApplyUpperUnpegged(bool set) { } public void ApplyLowerUnpegged(bool set) { } - public void ApplyLineFlag(Linedef line, string flag, string name) { } + public void ApplyLineFlag(string flag, string name) { } public string GetTextureName() { return ""; } public void SelectNeighbours(bool select, bool withSameTexture, bool withSameHeight, bool stopatselected) { } //mxd }