From dddf91e56ee36cdaf88d45d2dcc317f18b53d904 Mon Sep 17 00:00:00 2001 From: MaxED Date: Wed, 9 Apr 2014 10:16:33 +0000 Subject: [PATCH] Added "Paste Properties Options" form, which lets you pick properties for 'Copy Properties' and 'Paste Properties' actions. Removed CopyPasteSectorProperties plugin, because built-in "Copy/Paste Properties" actions do the same job, but better. --- Builder.sln | 14 - .../all_modes/paste_properties_options.jpg | Bin 0 -> 6774 bytes Help/gzdb/features/features.html | 2 + Source/Core/Data/WADReader.cs | 4 +- .../Plugins/BuilderModes/BuilderModes.csproj | 12 + .../BuilderModes/ClassicModes/LinedefsMode.cs | 2 + .../BuilderModes/ClassicModes/SectorsMode.cs | 2 + .../BuilderModes/ClassicModes/ThingsMode.cs | 2 + .../BuilderModes/ClassicModes/VerticesMode.cs | 22 +- .../BuilderModes/General/BuilderPlug.cs | 6 + .../BuilderModes/General/CopyStructures.cs | 257 +++++++++++------- .../Interface/MenusForm.Designer.cs | 162 ++++++----- .../BuilderModes/Interface/MenusForm.cs | 1 + .../PastePropertiesOptionsForm.Designer.cs | 254 +++++++++++++++++ .../Interface/PastePropertiesOptionsForm.cs | 75 +++++ .../Interface/PastePropertiesOptionsForm.resx | 120 ++++++++ .../Interface/WavefrontSettingsForm.cs | 12 +- .../Properties/Resources.Designer.cs | 9 +- .../BuilderModes/Properties/Resources.resx | 31 ++- .../BuilderModes/Resources/Actions.cfg | 12 + .../Resources/PastePropertiesOptions.png | Bin 0 -> 802 bytes .../Plugins/CopyPasteSectorProps/Actions.cfg | 42 --- .../CopyPasteSectorProps/BuilderPlug.cs | 208 -------------- .../CopyPasteSectorProperties.csproj | 67 ----- .../CopyPasteSectorProperties.suo | Bin 2560 -> 0 bytes .../CopyPasteSectorProps.txt | 30 -- .../Properties/AssemblyInfo.cs | 31 --- 27 files changed, 776 insertions(+), 601 deletions(-) create mode 100644 Help/gzdb/features/all_modes/paste_properties_options.jpg create mode 100644 Source/Plugins/BuilderModes/Interface/PastePropertiesOptionsForm.Designer.cs create mode 100644 Source/Plugins/BuilderModes/Interface/PastePropertiesOptionsForm.cs create mode 100644 Source/Plugins/BuilderModes/Interface/PastePropertiesOptionsForm.resx create mode 100644 Source/Plugins/BuilderModes/Resources/PastePropertiesOptions.png delete mode 100644 Source/Plugins/CopyPasteSectorProps/Actions.cfg delete mode 100644 Source/Plugins/CopyPasteSectorProps/BuilderPlug.cs delete mode 100644 Source/Plugins/CopyPasteSectorProps/CopyPasteSectorProperties.csproj delete mode 100644 Source/Plugins/CopyPasteSectorProps/CopyPasteSectorProperties.suo delete mode 100644 Source/Plugins/CopyPasteSectorProps/CopyPasteSectorProps.txt delete mode 100644 Source/Plugins/CopyPasteSectorProps/Properties/AssemblyInfo.cs diff --git a/Builder.sln b/Builder.sln index af449967..c7a0e5d6 100644 --- a/Builder.sln +++ b/Builder.sln @@ -13,8 +13,6 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TagExplorer", "Source\Plugi EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CommentsPanel", "Source\Plugins\CommentsPanel\CommentsPanel.csproj", "{58BD8A5B-1B48-435D-8473-A92F27D06C49}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CopyPasteSectorProperties", "Source\Plugins\CopyPasteSectorProps\CopyPasteSectorProperties.csproj", "{A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}" -EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NodesViewer", "Source\Plugins\NodesViewer\NodesViewer.csproj", "{9F244231-6A0C-42A6-87C5-ED9620DEE096}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "StairSectorBuilder", "Source\Plugins\StairSectorBuilder\StairSectorBuilder.csproj", "{3F365121-906B-409D-BB1E-37E0A78056C2}" @@ -109,18 +107,6 @@ Global {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Release|Win32.ActiveCfg = Release|x86 {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Release|x86.ActiveCfg = Release|x86 {58BD8A5B-1B48-435D-8473-A92F27D06C49}.Release|x86.Build.0 = Release|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Debug|Any CPU.ActiveCfg = Debug|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Debug|Mixed Platforms.Build.0 = Debug|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Debug|Win32.ActiveCfg = Debug|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Debug|x86.ActiveCfg = Debug|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Debug|x86.Build.0 = Debug|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Release|Any CPU.ActiveCfg = Release|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Release|Mixed Platforms.ActiveCfg = Release|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Release|Mixed Platforms.Build.0 = Release|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Release|Win32.ActiveCfg = Release|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Release|x86.ActiveCfg = Release|x86 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E}.Release|x86.Build.0 = Release|x86 {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Debug|Any CPU.ActiveCfg = Debug|x86 {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Debug|Mixed Platforms.ActiveCfg = Debug|x86 {9F244231-6A0C-42A6-87C5-ED9620DEE096}.Debug|Mixed Platforms.Build.0 = Debug|x86 diff --git a/Help/gzdb/features/all_modes/paste_properties_options.jpg b/Help/gzdb/features/all_modes/paste_properties_options.jpg new file mode 100644 index 0000000000000000000000000000000000000000..5ee0c2bd40babbffb731533fc8c7583bb728674e GIT binary patch literal 6774 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 interface |
  • Camera position can be synchronized between Classic and Visual modes. More info.
  • You can use Color Picker plugin to edit dynamic light properties and sector's fog and tint colors in Classic and Visual modes.
  • You can use Tag Explorer plugin to view all tags and actions used in current map.
  • +
  • [new] You can pick, which properties are pasted by "Paste Properties" action using "Paste Properties Options" window. +
  • [new] You can apply jitter transform to any map element.
  • Image browser shows directory structure of Folder, PK3 and PK7 resources and can filter images by texture type and size. More info.
  • [new] Most controls of Edit Sector/Linedef/Thing forms now work in realtime (e.g. you can immediately see texture offset/scale/rotation changes while you are changing appropriate values). Action and Tag changes are still applied only after you press "OK" button.
  • diff --git a/Source/Core/Data/WADReader.cs b/Source/Core/Data/WADReader.cs index 9c399f53..c4e4d7ca 100644 --- a/Source/Core/Data/WADReader.cs +++ b/Source/Core/Data/WADReader.cs @@ -102,7 +102,7 @@ namespace CodeImp.DoomBuilder.Data invertedflatranges = new List(); if(flatranges.Count > 0) { - //add range before first flatrange + //add range before the first flatrange if (flatranges[0].start > 0) { LumpRange range = new LumpRange {start = 0, end = flatranges[0].start - 1}; invertedflatranges.Add(range); @@ -114,7 +114,7 @@ namespace CodeImp.DoomBuilder.Data invertedflatranges.Add(range); } - //add range after last flatrange + //add range after the last flatrange if(flatranges[flatranges.Count - 1].end < file.Lumps.Count - 1) { LumpRange range = new LumpRange { start = flatranges[flatranges.Count - 1].end + 1, end = file.Lumps.Count - 1 }; invertedflatranges.Add(range); diff --git a/Source/Plugins/BuilderModes/BuilderModes.csproj b/Source/Plugins/BuilderModes/BuilderModes.csproj index 0e0d63f8..a95710e3 100644 --- a/Source/Plugins/BuilderModes/BuilderModes.csproj +++ b/Source/Plugins/BuilderModes/BuilderModes.csproj @@ -312,6 +312,12 @@ EditSelectionPanel.cs + + Form + + + PastePropertiesOptionsForm.cs + UserControl @@ -475,8 +481,14 @@ + + PastePropertiesOptionsForm.cs + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + \ No newline at end of file diff --git a/Source/Plugins/BuilderModes/Interface/WavefrontSettingsForm.cs b/Source/Plugins/BuilderModes/Interface/WavefrontSettingsForm.cs index f40372c5..1434a2ce 100644 --- a/Source/Plugins/BuilderModes/Interface/WavefrontSettingsForm.cs +++ b/Source/Plugins/BuilderModes/Interface/WavefrontSettingsForm.cs @@ -32,9 +32,9 @@ namespace CodeImp.DoomBuilder.BuilderModes.Interface } //restore settings - cbExportTextures.Checked = General.Settings.ReadPluginSetting("objexporttextures", false);//BuilderPlug.Me.ObjExportTextures; - cbFixScale.Checked = General.Settings.ReadPluginSetting("objgzdoomscale", false);//BuilderPlug.Me.ObjGZDoomScale; - nudScale.Value = (decimal)General.Settings.ReadPluginSetting("objscale", 1.0f);//(decimal)BuilderPlug.Me.ObjScale; + cbExportTextures.Checked = General.Settings.ReadPluginSetting("objexporttextures", false); + cbFixScale.Checked = General.Settings.ReadPluginSetting("objgzdoomscale", false); + nudScale.Value = (decimal)General.Settings.ReadPluginSetting("objscale", 1.0f); this.Text = "Export " + (sectorsCount == -1 ? "whole map" : sectorsCount + (sectorsCount > 1 ? "sectors" : "sector")) + " to Wavefront .obj"; } @@ -48,10 +48,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.Interface } private void export_Click(object sender, EventArgs e) { - //BuilderPlug.Me.ObjExportTextures = cbExportTextures.Checked; - //BuilderPlug.Me.ObjGZDoomScale = cbFixScale.Checked; - //BuilderPlug.Me.ObjScale = (float)nudScale.Value; - + //check settings if(nudScale.Value == 0) { MessageBox.Show("Scale should not be zero!"); return; @@ -66,7 +63,6 @@ namespace CodeImp.DoomBuilder.BuilderModes.Interface General.Settings.WritePluginSetting("objgzdoomscale", cbFixScale.Checked); General.Settings.WritePluginSetting("objscale", (float)nudScale.Value); - //filePath = tbExportPath.Text; this.DialogResult = DialogResult.OK; this.Close(); } diff --git a/Source/Plugins/BuilderModes/Properties/Resources.Designer.cs b/Source/Plugins/BuilderModes/Properties/Resources.Designer.cs index 744ff4d7..4983e94c 100644 --- a/Source/Plugins/BuilderModes/Properties/Resources.Designer.cs +++ b/Source/Plugins/BuilderModes/Properties/Resources.Designer.cs @@ -1,7 +1,7 @@ //------------------------------------------------------------------------------ // // This code was generated by a tool. -// Runtime Version:2.0.50727.5466 +// Runtime Version:2.0.50727.5420 // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. @@ -214,6 +214,13 @@ namespace CodeImp.DoomBuilder.BuilderModes.Properties { } } + internal static System.Drawing.Bitmap PastePropertiesOptions { + get { + object obj = ResourceManager.GetObject("PastePropertiesOptions", resourceCulture); + return ((System.Drawing.Bitmap)(obj)); + } + } + internal static System.Drawing.Bitmap Reset { get { object obj = ResourceManager.GetObject("Reset", resourceCulture); diff --git a/Source/Plugins/BuilderModes/Properties/Resources.resx b/Source/Plugins/BuilderModes/Properties/Resources.resx index fc371de6..f4ac8db2 100644 --- a/Source/Plugins/BuilderModes/Properties/Resources.resx +++ b/Source/Plugins/BuilderModes/Properties/Resources.resx @@ -139,9 +139,6 @@ ..\Resources\ColorPick.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\FlipSelectionV.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\Text.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -151,6 +148,12 @@ ..\Resources\BrightnessGradient.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\Gear.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\SnapVerts.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\CeilsGradient.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -166,8 +169,8 @@ ..\Resources\Angle.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\SnapVerts.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\FlipSelectionV.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a ..\Resources\VisualModeGZ.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -193,6 +196,9 @@ ..\Resources\DrawGridMode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\DrawGeometryMode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + ..\Resources\Door.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a @@ -202,16 +208,13 @@ ..\Resources\List_Images.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - ..\Resources\ThingPointAtCursor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\Gear.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - - ..\Resources\DrawGeometryMode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - ..\Resources\DrawRectangleMode.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + ..\Resources\ThingPointAtCursor.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + ..\Resources\PastePropertiesOptions.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + \ No newline at end of file diff --git a/Source/Plugins/BuilderModes/Resources/Actions.cfg b/Source/Plugins/BuilderModes/Resources/Actions.cfg index 2ab46f84..984652ed 100644 --- a/Source/Plugins/BuilderModes/Resources/Actions.cfg +++ b/Source/Plugins/BuilderModes/Resources/Actions.cfg @@ -1066,6 +1066,18 @@ classicpasteproperties default = 196694; // CTRL+SHIFT+V } +//mxd +pastepropertiesoptions +{ + title = "Paste Properties Options"; + category = "edit"; + description = "Opens a window, which lets you pick properties for 'Copy Properties' and 'Paste Properties' actions."; + allowkeys = true; + allowmouse = false; + allowscroll = false; + default = 196691; //Ctrl-Shift-S +} + floodfilltextures { title = "Paste Texture Flood-Fill"; diff --git a/Source/Plugins/BuilderModes/Resources/PastePropertiesOptions.png b/Source/Plugins/BuilderModes/Resources/PastePropertiesOptions.png new file mode 100644 index 0000000000000000000000000000000000000000..80b334aae82922cd8e47110f971428a9636cec56 GIT binary patch literal 802 zcmV+-1Ks?IP)$rM5Luo zRAkIKH}}4~`_kFfEthpKhx2gG^Zd?pp8sQ)^_yZ5_j@>JyN`hgJI;TAmF+wMPrNOaV3&3cJ+SH9TsgH^ExCo$UL6VRPxs=6&`$l-2E0D|Ou+9wQ%;6O40SW74i59hTYn1kqnftx<}x5I*@

    _HKsz7~HBRZdUiU6Kt;k3<*>CerMgaqzSp8x;=07*qoM6N<$f?DBmY5)KL literal 0 HcmV?d00001 diff --git a/Source/Plugins/CopyPasteSectorProps/Actions.cfg b/Source/Plugins/CopyPasteSectorProps/Actions.cfg deleted file mode 100644 index 1461117d..00000000 --- a/Source/Plugins/CopyPasteSectorProps/Actions.cfg +++ /dev/null @@ -1,42 +0,0 @@ - -// -// This file defines which actions there are, what description they have and -// some behaviour options. The Doom Builder core will bind to these actions -// with delegates (function pointers) where you use the BeginAction and -// EndAction attributes. This file must be named Actions.cfg and must be -// included in the plugin project as "Embedded Resource". -// - -// -// Options: -// -// allowkeys: Allows the user to bind standard keys to this action. -// allowmouse: Allows the user to bind mouse buttons to this action. -// allowscroll: Allows the user to bind the scrollwheel to this action. -// disregardshift: This action will trigger regardless if Shift or Control is used. -// repeat: BeginAction will be called for automatic key repetition. -// default: Default key is only used when the action is loaded for the first -// time and the default key is not used by any other action. -// -// allowkeys and allowmouse are true by default, the others are false by default. -// - -copysectorprops -{ - title = "Copy sector properties"; - category = "sectors"; - description = "Copies sector properties."; - allowkeys = true; - allowmouse = true; - allowscroll = true; -} - -pastesectorprops -{ - title = "Paste sector properties"; - category = "sectors"; - description = "Pastes sector properties."; - allowkeys = true; - allowmouse = true; - allowscroll = true; -} \ No newline at end of file diff --git a/Source/Plugins/CopyPasteSectorProps/BuilderPlug.cs b/Source/Plugins/CopyPasteSectorProps/BuilderPlug.cs deleted file mode 100644 index 89203e13..00000000 --- a/Source/Plugins/CopyPasteSectorProps/BuilderPlug.cs +++ /dev/null @@ -1,208 +0,0 @@ - -#region ================== Copyright (c) 2009 Boris Iwanski - -/* - * Copyright (c) 2009 Boris Iwanski - * This program is released under GNU General Public License - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - */ - -#endregion - -#region ================== Namespaces - -using System.Collections.Generic; -using CodeImp.DoomBuilder.Windows; -using CodeImp.DoomBuilder.Map; -using CodeImp.DoomBuilder.Plugins; -using CodeImp.DoomBuilder.Actions; - -#endregion - -namespace CodeImp.DoomBuilder.CopyPasteSectorProps -{ - // - // MANDATORY: The plug! - // This is an important class to the Doom Builder core. Every plugin must - // have exactly 1 class that inherits from Plug. When the plugin is loaded, - // this class is instantiated and used to receive events from the core. - // Make sure the class is public, because only public classes can be seen - // by the core. - // - - public class BuilderPlug : Plug - { - // Static instance. We can't use a real static class, because BuilderPlug must - // be instantiated by the core, so we keep a static reference. (this technique - // should be familiar to object-oriented programmers) - private static BuilderPlug me; - - // Static property to access the BuilderPlug - public static BuilderPlug Me { get { return me; } } - - // These variables will store the properties we want to copy - private int floorHeight; - private int ceilHeight; - private string floorTexture; - private string ceilTexture; - private int brightness; - private int effect; - private int tag; - //private UniFields fields; - - // This is set to true to know that we copied sector properties. - // If this is false, the variables above are uninitialized. - bool didCopyProps; - - // This event is called when the plugin is initialized - public override void OnInitialize() - { - base.OnInitialize(); - - // This binds the methods in this class that have the BeginAction - // and EndAction attributes with their actions. Without this, the - // attributes are useless. Note that in classes derived from EditMode - // this is not needed, because they are bound automatically when the - // editing mode is engaged. - General.Actions.BindMethods(this); - - // Keep a static reference - me = this; - } - - // This is called when the plugin is terminated - public override void Dispose() - { - base.Dispose(); - - // This must be called to remove bound methods for actions. - General.Actions.UnbindMethods(this); - } - - #region ================== Actions - - // This is the method that will be called when the "copysectorprops" action is used by the user. - // The actions are defined in the Actions.cfg file (the name must be exactly that) and the - // BeginAction attribute indicates that this method must be called when the key for this - // action is pressed. You can use the EndAction attribute for methods that must be called when - // the key for an action is released. See above for the BindMethods method call which must be - // called in order for these methods to work. - [BeginAction("copysectorprops")] - public void CopySectorProps() - { - // Only make this action possible if a map is actually opened and the we are in sectors mode - if (General.Editing.Mode == null || General.Editing.Mode.Attributes.SwitchAction != "sectorsmode") - { - return; - } - - // Make sure a sector is highlighted - if (!(General.Editing.Mode.HighlightedObject is Sector)) - { - // Show a warning in the status bar - General.Interface.DisplayStatus(StatusType.Warning, "Please highlight a sector to copy the properties from"); - return; - } - - // Copy the properties from the sector - Sector s = (Sector)General.Editing.Mode.HighlightedObject; - floorHeight = s.FloorHeight; - ceilHeight = s.CeilHeight; - floorTexture = s.FloorTexture; - ceilTexture = s.CeilTexture; - brightness = s.Brightness; - effect = s.Effect; - tag = s.Tag; - - // Remember that we copied the properties - didCopyProps = true; - - // Let the user know that copying worked - General.Interface.DisplayStatus(StatusType.Action, "Copied sector properties."); - } - - // This is the method that will be called when the "pastesectorprops" action is used by the user. - [BeginAction("pastesectorprops")] - public void PasteSectorProps() - { - // Collection used to store the sectors we want to paste to - List sectors = new List(); - - // Just for fun we want to let the user know to how many sectors he/she/it pasted - int pasteCount = 0; - - // Only make this action possible if a map is actually opened and we are in sectors mode - if (General.Editing.Mode == null || General.Editing.Mode.Attributes.SwitchAction != "sectorsmode") - { - return; - } - - // Make sure there's at least one selected or highlighted sector we can paste the properties to - if (General.Map.Map.GetSelectedSectors(true).Count == 0 && !(General.Editing.Mode.HighlightedObject is Sector)) - { - // Show a warning in the status bar - General.Interface.DisplayStatus(StatusType.Warning, "Please select or highlight at least 1 sector to paste the properties to."); - return; - } - - // Check if there's actually a copied sector to get the properties from - if (didCopyProps == false) - { - // Show a warning in the status bar - General.Interface.DisplayStatus(StatusType.Warning, "Can't paste properties. You need to copy the properties first."); - return; - } - - // If there are selected sectors only paste to them - if (General.Map.Map.GetSelectedSectors(true).Count != 0) - { - ICollection selectedsectors = General.Map.Map.GetSelectedSectors(true); - foreach (Sector s in selectedsectors) - { - sectors.Add(s); - pasteCount++; - } - } - // No selected sectors. paste to the highlighted one - else - { - sectors.Add((Sector)General.Editing.Mode.HighlightedObject); - pasteCount++; - } - - // Make the action undo-able - General.Map.UndoRedo.CreateUndo("Paste sector properties"); - - // Set the properties of all selected sectors - foreach(Sector s in sectors) - { - // Heights - s.FloorHeight = floorHeight; - s.CeilHeight = ceilHeight; - - // Textures - s.SetFloorTexture(floorTexture); - s.SetCeilTexture(ceilTexture); - - // Other stuff - s.Brightness = brightness; - s.Effect = effect; - s.Tag = tag; - } - - // Redraw to make the changes visible - General.Map.Map.Update(); - General.Interface.RedrawDisplay(); - - // Let the user know to how many sectors the properties were copied - General.Interface.DisplayStatus(StatusType.Action, "Pasted sector properties to " + pasteCount + " sector(s)."); - } - - #endregion - } -} diff --git a/Source/Plugins/CopyPasteSectorProps/CopyPasteSectorProperties.csproj b/Source/Plugins/CopyPasteSectorProps/CopyPasteSectorProperties.csproj deleted file mode 100644 index a4e27908..00000000 --- a/Source/Plugins/CopyPasteSectorProps/CopyPasteSectorProperties.csproj +++ /dev/null @@ -1,67 +0,0 @@ - - - - Debug - AnyCPU - 9.0.30729 - 2.0 - {A5F93B70-18D9-4F3C-9B72-BC8B5B13998E} - Library - Properties - CodeImp.DoomBuilder.CopyPasteSectorProps - CopyPasteSectorProps - v3.5 - 512 - - - true - ..\..\..\Build\Plugins\ - DEBUG;TRACE - true - full - x86 - prompt - - - ..\..\..\Build\Plugins\ - true - true - pdbonly - x86 - prompt - - - - False - ..\..\..\Build\Builder.exe - False - - - - 3.5 - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/Source/Plugins/CopyPasteSectorProps/CopyPasteSectorProperties.suo b/Source/Plugins/CopyPasteSectorProps/CopyPasteSectorProperties.suo deleted file mode 100644 index ba4cd1c0bbee6300dfc602f34a182a31b2f7d1c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2560 zcmeHHyG{a85IqZ`u~HifE#wPKw4^Xmq_BdBl_4=3URlM3u$V~gZx|D`6AEc9jEym| zk;cTvL@PhQ!V1pd*{yFJ=3_JxId^*KHv?_!;h9Zis3H1LRpqY zChscm*I5H}b?>Ub(18^c_>~bt6gqhcl@63Y#e)bqnD_VD z(O7%hfAn1`5_fJ7k~lLKuz_V}&r*tFr_U+9?jWa7cN==W?i$CJMKNr%>O3^&mz6_; zy2_Qoocngi6Z%GeDZOT&@KOF*CyTql{ED0>vsn7z9{K7SqIhPjf_vF3Zz6JlTxPz= z9{v9g6i1H3H@nlZlgoPM^r))y>AysKh#-t4mWbUHv9v|p$Q&^^QB+E4@&s*VerW1FkU6{WN(JrCL;wFVQL!qsSfWTqW9*Sg^br?K*8U)Ure} zaQA%Mlyc-9-!JR%PuzczozvKhH0zWK^VD-z9R{ymyI7qXBNv