mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2024-11-26 22:01:45 +00:00
Added some missing things in ZDoom game configurations
Added Copy and Paste object properties for classic modes Added some options for toolbar customization
This commit is contained in:
parent
14415a7767
commit
34bd24505d
26 changed files with 1100 additions and 402 deletions
|
@ -655,6 +655,37 @@ hexen
|
|||
title = "Sound Number";
|
||||
}
|
||||
}
|
||||
|
||||
9048
|
||||
{
|
||||
title = "Sound Environment";
|
||||
arg0
|
||||
{
|
||||
title = "First REVERBS ID";
|
||||
}
|
||||
arg1
|
||||
{
|
||||
title = "Second REVERBS ID";
|
||||
}
|
||||
}
|
||||
|
||||
14066
|
||||
{
|
||||
title = "Sound Sequence";
|
||||
arg0
|
||||
{
|
||||
title = "Sound Sequence";
|
||||
}
|
||||
}
|
||||
|
||||
14165
|
||||
{
|
||||
title = "Music Changer";
|
||||
arg0
|
||||
{
|
||||
title = "Music Number";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
marine
|
||||
|
|
BIN
Resources/Icons/CopyProperties.png
Normal file
BIN
Resources/Icons/CopyProperties.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 657 B |
BIN
Resources/Icons/PasteProperties.png
Normal file
BIN
Resources/Icons/PasteProperties.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 631 B |
|
@ -83,6 +83,15 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private int dockersposition;
|
||||
private bool collapsedockers;
|
||||
private int dockerswidth;
|
||||
private bool toolbarscript;
|
||||
private bool toolbarundo;
|
||||
private bool toolbarcopy;
|
||||
private bool toolbarprefabs;
|
||||
private bool toolbarfilter;
|
||||
private bool toolbarviewmodes;
|
||||
private bool toolbargeometry;
|
||||
private bool toolbartesting;
|
||||
private bool toolbarfile;
|
||||
|
||||
// These are not stored in the configuration, only used at runtime
|
||||
private string defaulttexture;
|
||||
|
@ -135,6 +144,15 @@ namespace CodeImp.DoomBuilder.Config
|
|||
public int DockersPosition { get { return dockersposition; } internal set { dockersposition = value; } }
|
||||
public bool CollapseDockers { get { return collapsedockers; } internal set { collapsedockers = value; } }
|
||||
public int DockersWidth { get { return dockerswidth; } internal set { dockerswidth = value; } }
|
||||
public bool ToolbarScript { get { return toolbarscript; } internal set { toolbarscript = value; } }
|
||||
public bool ToolbarUndo { get { return toolbarundo; } internal set { toolbarundo = value; } }
|
||||
public bool ToolbarCopy { get { return toolbarcopy; } internal set { toolbarcopy = value; } }
|
||||
public bool ToolbarPrefabs { get { return toolbarprefabs; } internal set { toolbarprefabs = value; } }
|
||||
public bool ToolbarFilter { get { return toolbarfilter; } internal set { toolbarfilter = value; } }
|
||||
public bool ToolbarViewModes { get { return toolbarviewmodes; } internal set { toolbarviewmodes = value; } }
|
||||
public bool ToolbarGeometry { get { return toolbargeometry; } internal set { toolbargeometry = value; } }
|
||||
public bool ToolbarTesting { get { return toolbartesting; } internal set { toolbartesting = value; } }
|
||||
public bool ToolbarFile { get { return toolbarfile; } internal set { toolbarfile = value; } }
|
||||
|
||||
public string DefaultTexture { get { return defaulttexture; } set { defaulttexture = value; } }
|
||||
public string DefaultFloorTexture { get { return defaultfloortexture; } set { defaultfloortexture = value; } }
|
||||
|
@ -204,6 +222,15 @@ namespace CodeImp.DoomBuilder.Config
|
|||
collapsedockers = cfg.ReadSetting("collapsedockers", true);
|
||||
dockerswidth = cfg.ReadSetting("dockerswidth", 300);
|
||||
pasteoptions.ReadConfiguration(cfg, "pasteoptions");
|
||||
toolbarscript = cfg.ReadSetting("toolbarscript", true);
|
||||
toolbarundo = cfg.ReadSetting("toolbarundo", false);
|
||||
toolbarcopy = cfg.ReadSetting("toolbarcopy", false);
|
||||
toolbarprefabs = cfg.ReadSetting("toolbarprefabs", true);
|
||||
toolbarfilter = cfg.ReadSetting("toolbarfilter", true);
|
||||
toolbarviewmodes = cfg.ReadSetting("toolbarviewmodes", false);
|
||||
toolbargeometry = cfg.ReadSetting("toolbargeometry", true);
|
||||
toolbartesting = cfg.ReadSetting("toolbartesting", true);
|
||||
toolbarfile = cfg.ReadSetting("toolbarfile", true);
|
||||
|
||||
// Success
|
||||
return true;
|
||||
|
@ -255,6 +282,15 @@ namespace CodeImp.DoomBuilder.Config
|
|||
cfg.WriteSetting("collapsedockers", collapsedockers);
|
||||
cfg.WriteSetting("dockerswidth", dockerswidth);
|
||||
pasteoptions.WriteConfiguration(cfg, "pasteoptions");
|
||||
cfg.WriteSetting("toolbarscript", toolbarscript);
|
||||
cfg.WriteSetting("toolbarundo", toolbarundo);
|
||||
cfg.WriteSetting("toolbarcopy", toolbarcopy);
|
||||
cfg.WriteSetting("toolbarprefabs", toolbarprefabs);
|
||||
cfg.WriteSetting("toolbarfilter", toolbarfilter);
|
||||
cfg.WriteSetting("toolbarviewmodes", toolbarviewmodes);
|
||||
cfg.WriteSetting("toolbargeometry", toolbargeometry);
|
||||
cfg.WriteSetting("toolbartesting", toolbartesting);
|
||||
cfg.WriteSetting("toolbarfile", toolbarfile);
|
||||
|
||||
// Save settings configuration
|
||||
General.WriteLogLine("Saving program configuration...");
|
||||
|
|
|
@ -335,6 +335,7 @@ namespace CodeImp.DoomBuilder.Data
|
|||
public override List<Stream> GetDecorateData(string pname)
|
||||
{
|
||||
List<Stream> streams = new List<Stream>();
|
||||
string[] allfilenames;
|
||||
|
||||
// Error when suspended
|
||||
if(issuspended) throw new Exception("Data reader is suspended");
|
||||
|
@ -342,7 +343,15 @@ namespace CodeImp.DoomBuilder.Data
|
|||
// Find in root directory
|
||||
string filename = Path.GetFileName(pname);
|
||||
string pathname = Path.GetDirectoryName(pname);
|
||||
string[] allfilenames = GetAllFilesWithTitle(pathname, filename, false);
|
||||
|
||||
if(filename.IndexOf('.') > -1)
|
||||
{
|
||||
allfilenames = new string[1];
|
||||
allfilenames[0] = Path.Combine(pathname, filename);
|
||||
}
|
||||
else
|
||||
allfilenames = GetAllFilesWithTitle(pathname, filename, false);
|
||||
|
||||
foreach(string foundfile in allfilenames)
|
||||
{
|
||||
streams.Add(LoadFile(foundfile));
|
||||
|
|
|
@ -187,7 +187,11 @@ namespace CodeImp.DoomBuilder.Map
|
|||
// Serialize / deserialize (passive: doesn't record)
|
||||
internal void ReadWrite(IReadWriteStream s)
|
||||
{
|
||||
if(!s.IsWriting) BeforePropsChange();
|
||||
if(!s.IsWriting)
|
||||
{
|
||||
BeforePropsChange();
|
||||
updateneeded = true;
|
||||
}
|
||||
|
||||
base.ReadWrite(s);
|
||||
|
||||
|
@ -539,6 +543,7 @@ namespace CodeImp.DoomBuilder.Map
|
|||
// This clears all flags
|
||||
public void ClearFlags()
|
||||
{
|
||||
BeforePropsChange();
|
||||
flags.Clear();
|
||||
blocksoundflag = false;
|
||||
impassableflag = false;
|
||||
|
|
|
@ -31,10 +31,12 @@ namespace CodeImp.DoomBuilder.Map
|
|||
{
|
||||
}
|
||||
|
||||
// Copy constructor
|
||||
// Copy constructor (makes a deep copy)
|
||||
///<summary></summary>
|
||||
public UniFields(UniFields copyfrom) : base(copyfrom)
|
||||
public UniFields(UniFields copyfrom) : base(copyfrom.Count)
|
||||
{
|
||||
foreach(KeyValuePair<string, UniValue> v in copyfrom)
|
||||
this.Add(v.Key, new UniValue(v.Value));
|
||||
}
|
||||
|
||||
// New constructor
|
||||
|
|
14
Source/Core/Windows/MainForm.Designer.cs
generated
14
Source/Core/Windows/MainForm.Designer.cs
generated
|
@ -114,7 +114,6 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.buttonnewmap = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonopenmap = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonsavemap = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonmapoptions = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonscripteditor = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonundo = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonredo = new System.Windows.Forms.ToolStripButton();
|
||||
|
@ -876,7 +875,6 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.buttonopenmap,
|
||||
this.buttonsavemap,
|
||||
toolStripSeparator3,
|
||||
this.buttonmapoptions,
|
||||
this.buttonscripteditor,
|
||||
toolStripSeparator10,
|
||||
this.buttonundo,
|
||||
|
@ -941,17 +939,6 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.buttonsavemap.Text = "Save Map";
|
||||
this.buttonsavemap.Click += new System.EventHandler(this.InvokeTaggedAction);
|
||||
//
|
||||
// buttonmapoptions
|
||||
//
|
||||
this.buttonmapoptions.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.buttonmapoptions.Image = global::CodeImp.DoomBuilder.Properties.Resources.Properties;
|
||||
this.buttonmapoptions.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.buttonmapoptions.Name = "buttonmapoptions";
|
||||
this.buttonmapoptions.Size = new System.Drawing.Size(23, 22);
|
||||
this.buttonmapoptions.Tag = "builder_mapoptions";
|
||||
this.buttonmapoptions.Text = "Map Options";
|
||||
this.buttonmapoptions.Click += new System.EventHandler(this.InvokeTaggedAction);
|
||||
//
|
||||
// buttonscripteditor
|
||||
//
|
||||
this.buttonscripteditor.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
|
@ -1689,7 +1676,6 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private System.Windows.Forms.ToolStripMenuItem preferencesToolStripMenuItem;
|
||||
private System.Windows.Forms.ToolStripMenuItem menuedit;
|
||||
private System.Windows.Forms.ToolStripMenuItem itemmapoptions;
|
||||
private System.Windows.Forms.ToolStripButton buttonmapoptions;
|
||||
private System.Windows.Forms.ToolStripMenuItem itemreloadresources;
|
||||
private CodeImp.DoomBuilder.Controls.LinedefInfoPanel linedefinfo;
|
||||
private CodeImp.DoomBuilder.Controls.VertexInfoPanel vertexinfo;
|
||||
|
|
|
@ -485,6 +485,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
{
|
||||
windowactive = true;
|
||||
|
||||
UpdateInterface();
|
||||
ResumeExclusiveMouseInput();
|
||||
ReleaseAllKeys();
|
||||
FocusDisplay();
|
||||
|
@ -1533,8 +1534,32 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
// This enables or disables all editing mode items and toolbar buttons
|
||||
private void UpdateToolbar()
|
||||
{
|
||||
// Show/hide items based on preferences
|
||||
buttonnewmap.Visible = General.Settings.ToolbarFile;
|
||||
buttonopenmap.Visible = General.Settings.ToolbarFile;
|
||||
buttonsavemap.Visible = General.Settings.ToolbarFile;
|
||||
buttonscripteditor.Visible = General.Settings.ToolbarScript;
|
||||
buttonundo.Visible = General.Settings.ToolbarUndo;
|
||||
buttonredo.Visible = General.Settings.ToolbarUndo;
|
||||
buttoncut.Visible = General.Settings.ToolbarCopy;
|
||||
buttoncopy.Visible = General.Settings.ToolbarCopy;
|
||||
buttonpaste.Visible = General.Settings.ToolbarCopy;
|
||||
buttoninsertprefabfile.Visible = General.Settings.ToolbarPrefabs;
|
||||
buttoninsertpreviousprefab.Visible = General.Settings.ToolbarPrefabs;
|
||||
buttonthingsfilter.Visible = General.Settings.ToolbarFilter;
|
||||
thingfilters.Visible = General.Settings.ToolbarFilter;
|
||||
buttonviewbrightness.Visible = General.Settings.ToolbarViewModes;
|
||||
buttonviewceilings.Visible = General.Settings.ToolbarViewModes;
|
||||
buttonviewfloors.Visible = General.Settings.ToolbarViewModes;
|
||||
buttonviewnormal.Visible = General.Settings.ToolbarViewModes;
|
||||
buttonsnaptogrid.Visible = General.Settings.ToolbarGeometry;
|
||||
buttonautomerge.Visible = General.Settings.ToolbarGeometry;
|
||||
buttontest.Visible = General.Settings.ToolbarTesting;
|
||||
|
||||
// Enable/disable all edit mode items
|
||||
foreach(ToolStripItem i in editmodeitems) i.Enabled = (General.Map != null);
|
||||
|
||||
UpdateSeparators();
|
||||
}
|
||||
|
||||
// This checks one of the edit mode items (and unchecks all others)
|
||||
|
@ -1940,7 +1965,6 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
itemredo.Text = "Redo";
|
||||
|
||||
// Toolbar icons
|
||||
buttonmapoptions.Enabled = (General.Map != null);
|
||||
buttonundo.Enabled = itemundo.Enabled;
|
||||
buttonredo.Enabled = itemredo.Enabled;
|
||||
buttonundo.ToolTipText = itemundo.Text;
|
||||
|
@ -2135,6 +2159,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
{
|
||||
// Update stuff
|
||||
SetupInterface();
|
||||
UpdateInterface();
|
||||
ApplyShortcutKeys();
|
||||
General.Colors.CreateCorrectionTable();
|
||||
General.Plugins.ProgramReconfigure();
|
||||
|
|
729
Source/Core/Windows/PreferencesForm.Designer.cs
generated
729
Source/Core/Windows/PreferencesForm.Designer.cs
generated
File diff suppressed because it is too large
Load diff
|
@ -84,6 +84,15 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
animatevisualselection.Checked = General.Settings.AnimateVisualSelection;
|
||||
dockersposition.SelectedIndex = General.Settings.DockersPosition;
|
||||
collapsedockers.Checked = General.Settings.CollapseDockers;
|
||||
toolbar_file.Checked = General.Settings.ToolbarFile;
|
||||
toolbar_script.Checked = General.Settings.ToolbarScript;
|
||||
toolbar_undo.Checked = General.Settings.ToolbarUndo;
|
||||
toolbar_copy.Checked = General.Settings.ToolbarCopy;
|
||||
toolbar_prefabs.Checked = General.Settings.ToolbarPrefabs;
|
||||
toolbar_filter.Checked = General.Settings.ToolbarFilter;
|
||||
toolbar_viewmodes.Checked = General.Settings.ToolbarViewModes;
|
||||
toolbar_geometry.Checked = General.Settings.ToolbarGeometry;
|
||||
toolbar_testing.Checked = General.Settings.ToolbarTesting;
|
||||
|
||||
// Fill fonts list
|
||||
scriptfontname.BeginUpdate();
|
||||
|
@ -197,6 +206,15 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
General.Settings.AnimateVisualSelection = animatevisualselection.Checked;
|
||||
General.Settings.DockersPosition = dockersposition.SelectedIndex;
|
||||
General.Settings.CollapseDockers = collapsedockers.Checked;
|
||||
General.Settings.ToolbarFile = toolbar_file.Checked;
|
||||
General.Settings.ToolbarScript = toolbar_script.Checked;
|
||||
General.Settings.ToolbarUndo = toolbar_undo.Checked;
|
||||
General.Settings.ToolbarCopy = toolbar_copy.Checked;
|
||||
General.Settings.ToolbarPrefabs = toolbar_prefabs.Checked;
|
||||
General.Settings.ToolbarFilter = toolbar_filter.Checked;
|
||||
General.Settings.ToolbarViewModes = toolbar_viewmodes.Checked;
|
||||
General.Settings.ToolbarGeometry = toolbar_geometry.Checked;
|
||||
General.Settings.ToolbarTesting = toolbar_testing.Checked;
|
||||
|
||||
// Script font size
|
||||
int fontsize = 8;
|
||||
|
|
|
@ -141,6 +141,9 @@
|
|||
<metadata name="groupBox1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="scriptontop.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="zoomfactor.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
@ -186,12 +189,21 @@
|
|||
<metadata name="colorsgroup1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="label2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colorgrid64.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="squarethings.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colorgrid.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="doublesidedalphalabel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colorindication.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
@ -201,6 +213,9 @@
|
|||
<metadata name="colorspeciallinedefs.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="qualitydisplay.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colorbackcolor.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
@ -210,6 +225,9 @@
|
|||
<metadata name="colorvertices.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="doublesidedalpha.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colorhighlight.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
@ -228,6 +246,36 @@
|
|||
<metadata name="tabinterface.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="groupBox5.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="toolbar_file.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="toolbar_testing.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="toolbar_geometry.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="toolbar_viewmodes.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="toolbar_filter.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="toolbar_prefabs.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="toolbar_copy.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="toolbar_undo.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="toolbar_script.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="groupBox4.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
@ -240,42 +288,6 @@
|
|||
<metadata name="label17.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="groupBox3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scripttabwidth.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptautoindent.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="label10.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptontop.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="panel1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptfontlabel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptfontsize.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="label8.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptfontbold.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptfontname.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="label3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="groupBox2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
@ -354,21 +366,12 @@
|
|||
<metadata name="appearancegroup1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="label2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="animatevisualselection.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="blackbrowsers.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="squarethings.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="doublesidedalphalabel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="visualbilinear.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
@ -378,18 +381,42 @@
|
|||
<metadata name="imagebrightnesslabel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="qualitydisplay.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="doublesidedalpha.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="imagebrightness.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colorsgroup3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scripttabwidth.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptautoindent.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="label10.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="panel1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptfontlabel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptfontsize.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="label8.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptfontbold.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="scriptfontname.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="label3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="colorconstants.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||
<ProductVersion>8.0.50727</ProductVersion>
|
||||
<ProductVersion>9.0.30729</ProductVersion>
|
||||
<SchemaVersion>2.0</SchemaVersion>
|
||||
<ProjectGuid>{B42D5AA0-F9A6-4234-9C4B-A05B11A64851}</ProjectGuid>
|
||||
<OutputType>Library</OutputType>
|
||||
|
@ -287,6 +287,12 @@
|
|||
<ItemGroup>
|
||||
<None Include="Resources\CurveLines.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\CopyProperties.png" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<None Include="Resources\PasteProperties.png" />
|
||||
</ItemGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||
Other similar extension points exist, see Microsoft.Common.targets.
|
||||
|
|
|
@ -206,6 +206,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
renderer.SetPresentation(Presentation.Standard);
|
||||
|
||||
// Add toolbar buttons
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.CopyProperties);
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.PasteProperties);
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.SeparatorCopyPaste);
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.CurveLinedefs);
|
||||
|
||||
// Convert geometry selection to linedefs selection
|
||||
|
@ -218,6 +221,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
base.OnDisengage();
|
||||
|
||||
// Remove toolbar buttons
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.CopyProperties);
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.PasteProperties);
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorCopyPaste);
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.CurveLinedefs);
|
||||
|
||||
// Going to EditSelectionMode?
|
||||
|
@ -540,6 +546,63 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
#region ================== Actions
|
||||
|
||||
// This copies the properties
|
||||
[BeginAction("classiccopyproperties")]
|
||||
public void CopyProperties()
|
||||
{
|
||||
// Determine source linedefs
|
||||
ICollection<Linedef> sel = null;
|
||||
if(General.Map.Map.SelectedLinedefsCount > 0)
|
||||
sel = General.Map.Map.GetSelectedLinedefs(true);
|
||||
else if(highlighted != null)
|
||||
{
|
||||
sel = new List<Linedef>();
|
||||
sel.Add(highlighted);
|
||||
}
|
||||
|
||||
if(sel != null)
|
||||
{
|
||||
// Copy properties from first source linedef
|
||||
BuilderPlug.Me.CopiedLinedefProps = new LinedefProperties(General.GetByIndex(sel, 0));
|
||||
General.Interface.DisplayStatus(StatusType.Action, "Copied linedef properties.");
|
||||
}
|
||||
}
|
||||
|
||||
// This pastes the properties
|
||||
[BeginAction("classicpasteproperties")]
|
||||
public void PasteProperties()
|
||||
{
|
||||
if(BuilderPlug.Me.CopiedLinedefProps != null)
|
||||
{
|
||||
// Determine target linedefs
|
||||
ICollection<Linedef> sel = null;
|
||||
if(General.Map.Map.SelectedLinedefsCount > 0)
|
||||
sel = General.Map.Map.GetSelectedLinedefs(true);
|
||||
else if(highlighted != null)
|
||||
{
|
||||
sel = new List<Linedef>();
|
||||
sel.Add(highlighted);
|
||||
}
|
||||
|
||||
if(sel != null)
|
||||
{
|
||||
// Apply properties to selection
|
||||
General.Map.UndoRedo.CreateUndo("Paste linedef properties");
|
||||
foreach(Linedef l in sel)
|
||||
{
|
||||
BuilderPlug.Me.CopiedLinedefProps.Apply(l);
|
||||
l.UpdateCache();
|
||||
}
|
||||
General.Interface.DisplayStatus(StatusType.Action, "Pasted linedef properties.");
|
||||
|
||||
// Update and redraw
|
||||
General.Map.IsChanged = true;
|
||||
General.Interface.RefreshInfo();
|
||||
General.Interface.RedrawDisplay();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This keeps only the single-sided lines selected
|
||||
[BeginAction("selectsinglesided")]
|
||||
public void SelectSingleSided()
|
||||
|
|
|
@ -408,6 +408,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
renderer.SetPresentation(Presentation.Standard);
|
||||
|
||||
// Add toolbar buttons
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.CopyProperties);
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.PasteProperties);
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.SeparatorCopyPaste);
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.ViewSelectionNumbers);
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.SeparatorSectors1);
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.MakeGradientBrightness);
|
||||
|
@ -431,6 +434,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
base.OnDisengage();
|
||||
|
||||
// Remove toolbar buttons
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.CopyProperties);
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.PasteProperties);
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorCopyPaste);
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.ViewSelectionNumbers);
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.SeparatorSectors1);
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.MakeGradientBrightness);
|
||||
|
@ -855,6 +861,64 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
#region ================== Actions
|
||||
|
||||
// This copies the properties
|
||||
[BeginAction("classiccopyproperties")]
|
||||
public void CopyProperties()
|
||||
{
|
||||
// Determine source sectors
|
||||
ICollection<Sector> sel = null;
|
||||
if(General.Map.Map.SelectedSectorsCount > 0)
|
||||
sel = General.Map.Map.GetSelectedSectors(true);
|
||||
else if(highlighted != null)
|
||||
{
|
||||
sel = new List<Sector>();
|
||||
sel.Add(highlighted);
|
||||
}
|
||||
|
||||
if(sel != null)
|
||||
{
|
||||
// Copy properties from first source sectors
|
||||
BuilderPlug.Me.CopiedSectorProps = new SectorProperties(General.GetByIndex(sel, 0));
|
||||
General.Interface.DisplayStatus(StatusType.Action, "Copied sector properties.");
|
||||
}
|
||||
}
|
||||
|
||||
// This pastes the properties
|
||||
[BeginAction("classicpasteproperties")]
|
||||
public void PasteProperties()
|
||||
{
|
||||
if(BuilderPlug.Me.CopiedSectorProps != null)
|
||||
{
|
||||
// Determine target sectors
|
||||
ICollection<Sector> sel = null;
|
||||
if(General.Map.Map.SelectedSectorsCount > 0)
|
||||
sel = General.Map.Map.GetSelectedSectors(true);
|
||||
else if(highlighted != null)
|
||||
{
|
||||
sel = new List<Sector>();
|
||||
sel.Add(highlighted);
|
||||
}
|
||||
|
||||
if(sel != null)
|
||||
{
|
||||
// Apply properties to selection
|
||||
General.Map.UndoRedo.CreateUndo("Paste sector properties");
|
||||
foreach(Sector s in sel)
|
||||
{
|
||||
BuilderPlug.Me.CopiedSectorProps.Apply(s);
|
||||
s.UpdateCeilingSurface();
|
||||
s.UpdateFloorSurface();
|
||||
}
|
||||
General.Interface.DisplayStatus(StatusType.Action, "Pasted sector properties.");
|
||||
|
||||
// Update and redraw
|
||||
General.Map.IsChanged = true;
|
||||
General.Interface.RefreshInfo();
|
||||
General.Interface.RedrawDisplay();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This creates a new vertex at the mouse position
|
||||
[BeginAction("insertitem", BaseAction = true)]
|
||||
public virtual void InsertVertexAction()
|
||||
|
|
|
@ -97,6 +97,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
base.OnEngage();
|
||||
renderer.SetPresentation(Presentation.Things);
|
||||
|
||||
// Add toolbar buttons
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.CopyProperties);
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.PasteProperties);
|
||||
|
||||
// Convert geometry selection to linedefs selection
|
||||
General.Map.Map.ConvertSelection(SelectionType.Linedefs);
|
||||
General.Map.Map.SelectionType = SelectionType.Things;
|
||||
|
@ -107,6 +111,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
{
|
||||
base.OnDisengage();
|
||||
|
||||
// Remove toolbar buttons
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.CopyProperties);
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.PasteProperties);
|
||||
|
||||
// Going to EditSelectionMode?
|
||||
if(General.Editing.NewMode is EditSelectionMode)
|
||||
{
|
||||
|
@ -524,6 +532,64 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
#region ================== Actions
|
||||
|
||||
// This copies the properties
|
||||
[BeginAction("classiccopyproperties")]
|
||||
public void CopyProperties()
|
||||
{
|
||||
// Determine source things
|
||||
ICollection<Thing> sel = null;
|
||||
if(General.Map.Map.SelectedThingsCount > 0)
|
||||
sel = General.Map.Map.GetSelectedThings(true);
|
||||
else if(highlighted != null)
|
||||
{
|
||||
sel = new List<Thing>();
|
||||
sel.Add(highlighted);
|
||||
}
|
||||
|
||||
if(sel != null)
|
||||
{
|
||||
// Copy properties from first source thing
|
||||
BuilderPlug.Me.CopiedThingProps = new ThingProperties(General.GetByIndex(sel, 0));
|
||||
General.Interface.DisplayStatus(StatusType.Action, "Copied thing properties.");
|
||||
}
|
||||
}
|
||||
|
||||
// This pastes the properties
|
||||
[BeginAction("classicpasteproperties")]
|
||||
public void PasteProperties()
|
||||
{
|
||||
if(BuilderPlug.Me.CopiedThingProps != null)
|
||||
{
|
||||
// Determine target things
|
||||
ICollection<Thing> sel = null;
|
||||
if(General.Map.Map.SelectedThingsCount > 0)
|
||||
sel = General.Map.Map.GetSelectedThings(true);
|
||||
else if(highlighted != null)
|
||||
{
|
||||
sel = new List<Thing>();
|
||||
sel.Add(highlighted);
|
||||
}
|
||||
|
||||
if(sel != null)
|
||||
{
|
||||
// Apply properties to selection
|
||||
General.Map.UndoRedo.CreateUndo("Paste thing properties");
|
||||
foreach(Thing t in sel)
|
||||
{
|
||||
BuilderPlug.Me.CopiedThingProps.Apply(t);
|
||||
t.UpdateConfiguration();
|
||||
}
|
||||
General.Interface.DisplayStatus(StatusType.Action, "Pasted thing properties.");
|
||||
|
||||
// Update and redraw
|
||||
General.Map.IsChanged = true;
|
||||
General.Map.ThingsFilter.Update();
|
||||
General.Interface.RefreshInfo();
|
||||
General.Interface.RedrawDisplay();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This clears the selection
|
||||
[BeginAction("clearselection", BaseAction = true)]
|
||||
public void ClearSelection()
|
||||
|
|
|
@ -92,6 +92,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
base.OnEngage();
|
||||
renderer.SetPresentation(Presentation.Standard);
|
||||
|
||||
// Add toolbar buttons
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.CopyProperties);
|
||||
General.Interface.AddButton(BuilderPlug.Me.MenusForm.PasteProperties);
|
||||
|
||||
// Convert geometry selection to vertices only
|
||||
General.Map.Map.ConvertSelection(SelectionType.Vertices);
|
||||
}
|
||||
|
@ -101,6 +105,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
{
|
||||
base.OnDisengage();
|
||||
|
||||
// Remove toolbar buttons
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.CopyProperties);
|
||||
General.Interface.RemoveButton(BuilderPlug.Me.MenusForm.PasteProperties);
|
||||
|
||||
// Going to EditSelectionMode?
|
||||
if(General.Editing.NewMode is EditSelectionMode)
|
||||
{
|
||||
|
@ -486,6 +494,62 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
|
||||
#region ================== Actions
|
||||
|
||||
// This copies the properties
|
||||
[BeginAction("classiccopyproperties")]
|
||||
public void CopyProperties()
|
||||
{
|
||||
// Determine source vertices
|
||||
ICollection<Vertex> sel = null;
|
||||
if(General.Map.Map.SelectedVerticessCount > 0)
|
||||
sel = General.Map.Map.GetSelectedVertices(true);
|
||||
else if(highlighted != null)
|
||||
{
|
||||
sel = new List<Vertex>();
|
||||
sel.Add(highlighted);
|
||||
}
|
||||
|
||||
if(sel != null)
|
||||
{
|
||||
// Copy properties from first source vertex
|
||||
BuilderPlug.Me.CopiedVertexProps = new VertexProperties(General.GetByIndex(sel, 0));
|
||||
General.Interface.DisplayStatus(StatusType.Action, "Copied vertex properties.");
|
||||
}
|
||||
}
|
||||
|
||||
// This pastes the properties
|
||||
[BeginAction("classicpasteproperties")]
|
||||
public void PasteProperties()
|
||||
{
|
||||
if(BuilderPlug.Me.CopiedVertexProps != null)
|
||||
{
|
||||
// Determine target vertices
|
||||
ICollection<Vertex> sel = null;
|
||||
if(General.Map.Map.SelectedVerticessCount > 0)
|
||||
sel = General.Map.Map.GetSelectedVertices(true);
|
||||
else if(highlighted != null)
|
||||
{
|
||||
sel = new List<Vertex>();
|
||||
sel.Add(highlighted);
|
||||
}
|
||||
|
||||
if(sel != null)
|
||||
{
|
||||
// Apply properties to selection
|
||||
General.Map.UndoRedo.CreateUndo("Paste vertex properties");
|
||||
foreach(Vertex v in sel)
|
||||
{
|
||||
BuilderPlug.Me.CopiedVertexProps.Apply(v);
|
||||
}
|
||||
General.Interface.DisplayStatus(StatusType.Action, "Pasted vertex properties.");
|
||||
|
||||
// Update and redraw
|
||||
General.Map.IsChanged = true;
|
||||
General.Interface.RefreshInfo();
|
||||
General.Interface.RedrawDisplay();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// This clears the selection
|
||||
[BeginAction("clearselection", BaseAction = true)]
|
||||
public void ClearSelection()
|
||||
|
|
|
@ -87,8 +87,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
private string copiedtexture;
|
||||
private string copiedflat;
|
||||
private Point copiedoffsets;
|
||||
private VertexProperties copiedvertexprops;
|
||||
private SectorProperties copiedsectorprops;
|
||||
private SidedefProperties copiedsidedefprops;
|
||||
private LinedefProperties copiedlinedefprops;
|
||||
private ThingProperties copiedthingprops;
|
||||
private bool viewselectionnumbers;
|
||||
private float stitchrange;
|
||||
|
@ -128,8 +130,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
public string CopiedTexture { get { return copiedtexture; } set { copiedtexture = value; } }
|
||||
public string CopiedFlat { get { return copiedflat; } set { copiedflat = value; } }
|
||||
public Point CopiedOffsets { get { return copiedoffsets; } set { copiedoffsets = value; } }
|
||||
public VertexProperties CopiedVertexProps { get { return copiedvertexprops; } set { copiedvertexprops = value; } }
|
||||
public SectorProperties CopiedSectorProps { get { return copiedsectorprops; } set { copiedsectorprops = value; } }
|
||||
public SidedefProperties CopiedSidedefProps { get { return copiedsidedefprops; } set { copiedsidedefprops = value; } }
|
||||
public LinedefProperties CopiedLinedefProps { get { return copiedlinedefprops; } set { copiedlinedefprops = value; } }
|
||||
public ThingProperties CopiedThingProps { get { return copiedthingprops; } set { copiedthingprops = value; } }
|
||||
public bool ViewSelectionNumbers { get { return viewselectionnumbers; } set { viewselectionnumbers = value; } }
|
||||
public float StitchRange { get { return stitchrange; } }
|
||||
|
|
|
@ -40,6 +40,25 @@ using CodeImp.DoomBuilder.Data;
|
|||
|
||||
namespace CodeImp.DoomBuilder.BuilderModes
|
||||
{
|
||||
// Vertex
|
||||
public class VertexProperties
|
||||
{
|
||||
private UniFields fields;
|
||||
|
||||
public VertexProperties(Vertex v)
|
||||
{
|
||||
fields = new UniFields(v.Fields);
|
||||
}
|
||||
|
||||
public void Apply(Vertex v)
|
||||
{
|
||||
v.Fields.BeforeFieldsChange();
|
||||
v.Fields.Clear();
|
||||
foreach(KeyValuePair<string, UniValue> uv in fields)
|
||||
v.Fields.Add(uv.Key, new UniValue(uv.Value));
|
||||
}
|
||||
}
|
||||
|
||||
// Sector
|
||||
public class SectorProperties
|
||||
{
|
||||
|
@ -47,8 +66,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
private int ceilheight;
|
||||
private string floortexture;
|
||||
private string ceilingtexture;
|
||||
private int effect;
|
||||
private int brightness;
|
||||
private int tag;
|
||||
private UniFields fields;
|
||||
|
||||
public SectorProperties(Sector s)
|
||||
{
|
||||
|
@ -57,7 +78,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
floortexture = s.FloorTexture;
|
||||
ceilingtexture = s.CeilTexture;
|
||||
brightness = s.Brightness;
|
||||
effect = s.Effect;
|
||||
tag = s.Tag;
|
||||
fields = new UniFields(s.Fields);
|
||||
}
|
||||
|
||||
public void Apply(Sector s)
|
||||
|
@ -67,7 +90,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
s.SetFloorTexture(floortexture);
|
||||
s.SetCeilTexture(ceilingtexture);
|
||||
s.Brightness = brightness;
|
||||
s.Tag = s.Tag;
|
||||
s.Tag = tag;
|
||||
s.Effect = effect;
|
||||
s.Fields.BeforeFieldsChange();
|
||||
s.Fields.Clear();
|
||||
foreach(KeyValuePair<string, UniValue> v in fields)
|
||||
s.Fields.Add(v.Key, new UniValue(v.Value));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -79,6 +107,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
private string lowtexture;
|
||||
private int offsetx;
|
||||
private int offsety;
|
||||
private UniFields fields;
|
||||
|
||||
public SidedefProperties(Sidedef s)
|
||||
{
|
||||
|
@ -87,6 +116,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
lowtexture = s.LowTexture;
|
||||
offsetx = s.OffsetX;
|
||||
offsety = s.OffsetY;
|
||||
fields = new UniFields(s.Fields);
|
||||
}
|
||||
|
||||
public void Apply(Sidedef s)
|
||||
|
@ -96,6 +126,61 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
s.SetTextureLow(lowtexture);
|
||||
s.OffsetX = offsetx;
|
||||
s.OffsetY = offsety;
|
||||
s.Fields.BeforeFieldsChange();
|
||||
s.Fields.Clear();
|
||||
foreach(KeyValuePair<string, UniValue> v in fields)
|
||||
s.Fields.Add(v.Key, new UniValue(v.Value));
|
||||
}
|
||||
}
|
||||
|
||||
// Linedef
|
||||
public class LinedefProperties
|
||||
{
|
||||
private SidedefProperties front;
|
||||
private SidedefProperties back;
|
||||
private Dictionary<string, bool> flags;
|
||||
private int action;
|
||||
private int activate;
|
||||
private int tag;
|
||||
private int[] args;
|
||||
private UniFields fields;
|
||||
|
||||
public LinedefProperties(Linedef l)
|
||||
{
|
||||
if(l.Front != null)
|
||||
front = new SidedefProperties(l.Front);
|
||||
else
|
||||
front = null;
|
||||
|
||||
if(l.Back != null)
|
||||
back = new SidedefProperties(l.Back);
|
||||
else
|
||||
back = null;
|
||||
|
||||
flags = l.GetFlags();
|
||||
action = l.Action;
|
||||
activate = l.Activate;
|
||||
tag = l.Tag;
|
||||
args = (int[])(l.Args.Clone());
|
||||
fields = new UniFields(l.Fields);
|
||||
}
|
||||
|
||||
public void Apply(Linedef l)
|
||||
{
|
||||
if((front != null) && (l.Front != null)) front.Apply(l.Front);
|
||||
if((back != null) && (l.Back != null)) back.Apply(l.Back);
|
||||
l.ClearFlags();
|
||||
foreach(KeyValuePair<string, bool> f in flags)
|
||||
l.SetFlag(f.Key, f.Value);
|
||||
l.Action = action;
|
||||
l.Activate = activate;
|
||||
l.Tag = tag;
|
||||
for(int i = 0; i < l.Args.Length; i++)
|
||||
l.Args[i] = args[i];
|
||||
l.Fields.BeforeFieldsChange();
|
||||
l.Fields.Clear();
|
||||
foreach(KeyValuePair<string, UniValue> v in fields)
|
||||
l.Fields.Add(v.Key, new UniValue(v.Value));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,6 +193,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
private int tag;
|
||||
private int action;
|
||||
private int[] args;
|
||||
private UniFields fields;
|
||||
|
||||
public ThingProperties(Thing t)
|
||||
{
|
||||
|
@ -117,6 +203,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
tag = t.Tag;
|
||||
action = t.Action;
|
||||
args = (int[])(t.Args.Clone());
|
||||
fields = new UniFields(t.Fields);
|
||||
}
|
||||
|
||||
public void Apply(Thing t)
|
||||
|
@ -130,6 +217,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
t.Action = action;
|
||||
for(int i = 0; i < t.Args.Length; i++)
|
||||
t.Args[i] = args[i];
|
||||
t.Fields.BeforeFieldsChange();
|
||||
t.Fields.Clear();
|
||||
foreach(KeyValuePair<string, UniValue> v in fields)
|
||||
t.Fields.Add(v.Key, new UniValue(v.Value));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -45,14 +45,17 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.globalstrip = new System.Windows.Forms.ToolStrip();
|
||||
this.manualstrip = new System.Windows.Forms.ToolStrip();
|
||||
this.buttonselectionnumbers = new System.Windows.Forms.ToolStripButton();
|
||||
this.separatorsectors1 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.buttonselectionnumbers = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonbrightnessgradient = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonfloorgradient = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonceilinggradient = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonflipselectionh = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonflipselectionv = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttoncurvelinedefs = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttoncopyproperties = new System.Windows.Forms.ToolStripButton();
|
||||
this.buttonpasteproperties = new System.Windows.Forms.ToolStripButton();
|
||||
this.seperatorcopypaste = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.menustrip.SuspendLayout();
|
||||
this.manualstrip.SuspendLayout();
|
||||
this.SuspendLayout();
|
||||
|
@ -191,6 +194,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
// manualstrip
|
||||
//
|
||||
this.manualstrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.buttoncopyproperties,
|
||||
this.buttonpasteproperties,
|
||||
this.seperatorcopypaste,
|
||||
this.buttonselectionnumbers,
|
||||
this.separatorsectors1,
|
||||
this.buttonbrightnessgradient,
|
||||
|
@ -205,6 +211,12 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
this.manualstrip.TabIndex = 2;
|
||||
this.manualstrip.Text = "toolStrip1";
|
||||
//
|
||||
// separatorsectors1
|
||||
//
|
||||
this.separatorsectors1.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
|
||||
this.separatorsectors1.Name = "separatorsectors1";
|
||||
this.separatorsectors1.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// buttonselectionnumbers
|
||||
//
|
||||
this.buttonselectionnumbers.CheckOnClick = true;
|
||||
|
@ -216,12 +228,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
this.buttonselectionnumbers.Text = "View Selection Numbering";
|
||||
this.buttonselectionnumbers.Click += new System.EventHandler(this.buttonselectionnumbers_Click);
|
||||
//
|
||||
// separatorsectors1
|
||||
//
|
||||
this.separatorsectors1.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
|
||||
this.separatorsectors1.Name = "separatorsectors1";
|
||||
this.separatorsectors1.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// buttonbrightnessgradient
|
||||
//
|
||||
this.buttonbrightnessgradient.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
|
@ -289,6 +295,34 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
this.buttoncurvelinedefs.Text = "Curve Linedefs";
|
||||
this.buttoncurvelinedefs.Click += new System.EventHandler(this.InvokeTaggedAction);
|
||||
//
|
||||
// buttoncopyproperties
|
||||
//
|
||||
this.buttoncopyproperties.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.buttoncopyproperties.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.CopyProperties;
|
||||
this.buttoncopyproperties.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.buttoncopyproperties.Name = "buttoncopyproperties";
|
||||
this.buttoncopyproperties.Size = new System.Drawing.Size(23, 22);
|
||||
this.buttoncopyproperties.Tag = "classiccopyproperties";
|
||||
this.buttoncopyproperties.Text = "Copy Properties";
|
||||
this.buttoncopyproperties.Click += new System.EventHandler(this.InvokeTaggedAction);
|
||||
//
|
||||
// buttonpasteproperties
|
||||
//
|
||||
this.buttonpasteproperties.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.buttonpasteproperties.Image = global::CodeImp.DoomBuilder.BuilderModes.Properties.Resources.PasteProperties;
|
||||
this.buttonpasteproperties.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.buttonpasteproperties.Name = "buttonpasteproperties";
|
||||
this.buttonpasteproperties.Size = new System.Drawing.Size(23, 22);
|
||||
this.buttonpasteproperties.Tag = "classicpasteproperties";
|
||||
this.buttonpasteproperties.Text = "Paste Properties";
|
||||
this.buttonpasteproperties.Click += new System.EventHandler(this.InvokeTaggedAction);
|
||||
//
|
||||
// seperatorcopypaste
|
||||
//
|
||||
this.seperatorcopypaste.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
|
||||
this.seperatorcopypaste.Name = "seperatorcopypaste";
|
||||
this.seperatorcopypaste.Size = new System.Drawing.Size(6, 25);
|
||||
//
|
||||
// MenusForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||
|
@ -342,5 +376,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
private System.Windows.Forms.ToolStripButton buttonfloorgradient;
|
||||
private System.Windows.Forms.ToolStripButton buttonceilinggradient;
|
||||
private System.Windows.Forms.ToolStripButton buttoncurvelinedefs;
|
||||
private System.Windows.Forms.ToolStripButton buttoncopyproperties;
|
||||
private System.Windows.Forms.ToolStripButton buttonpasteproperties;
|
||||
private System.Windows.Forms.ToolStripSeparator seperatorcopypaste;
|
||||
}
|
||||
}
|
|
@ -60,6 +60,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
|||
public ToolStripButton FlipSelectionV { get { return buttonflipselectionv; } }
|
||||
public ToolStripButton FlipSelectionH { get { return buttonflipselectionh; } }
|
||||
public ToolStripButton CurveLinedefs { get { return buttoncurvelinedefs; } }
|
||||
public ToolStripButton CopyProperties { get { return buttoncopyproperties; } }
|
||||
public ToolStripButton PasteProperties { get { return buttonpasteproperties; } }
|
||||
public ToolStripSeparator SeparatorCopyPaste { get { return seperatorcopypaste; } }
|
||||
|
||||
#endregion
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.3082
|
||||
// Runtime Version:2.0.50727.3615
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
@ -74,6 +74,13 @@ namespace CodeImp.DoomBuilder.BuilderModes.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
internal static System.Drawing.Bitmap CopyProperties {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("CopyProperties", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
internal static System.Drawing.Bitmap CurveLines {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("CurveLines", resourceCulture);
|
||||
|
@ -102,6 +109,13 @@ namespace CodeImp.DoomBuilder.BuilderModes.Properties {
|
|||
}
|
||||
}
|
||||
|
||||
internal static System.Drawing.Bitmap PasteProperties {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("PasteProperties", resourceCulture);
|
||||
return ((System.Drawing.Bitmap)(obj));
|
||||
}
|
||||
}
|
||||
|
||||
internal static System.Drawing.Bitmap treeview {
|
||||
get {
|
||||
object obj = ResourceManager.GetObject("treeview", resourceCulture);
|
||||
|
|
|
@ -118,28 +118,34 @@
|
|||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</resheader>
|
||||
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
|
||||
<data name="treeview" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\treeview.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="FlipSelectionH" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\FlipSelectionH.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="ViewSelectionIndex" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\ViewSelectionIndex.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="CeilsGradient" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\CeilsGradient.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="BrightnessGradient" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\BrightnessGradient.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="FlipSelectionH" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\FlipSelectionH.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="FloorsGradient" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\FloorsGradient.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="FlipSelectionV" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\FlipSelectionV.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
<data name="CopyProperties" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\CopyProperties.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="CurveLines" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\CurveLines.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="FloorsGradient" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\FloorsGradient.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="treeview" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\treeview.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="FlipSelectionV" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\FlipSelectionV.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="BrightnessGradient" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\BrightnessGradient.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="CeilsGradient" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\CeilsGradient.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
<data name="PasteProperties" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||
<value>..\Resources\PasteProperties.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||
</data>
|
||||
</root>
|
|
@ -680,6 +680,28 @@ placevisualstart
|
|||
allowscroll = true;
|
||||
}
|
||||
|
||||
classiccopyproperties
|
||||
{
|
||||
title = "Copy Properties";
|
||||
category = "classic";
|
||||
description = "Copies the properties of the highlighted or selected object for pasting.";
|
||||
allowkeys = true;
|
||||
allowmouse = true;
|
||||
allowscroll = true;
|
||||
default = 196675; // CTRL+SHIFT+C
|
||||
}
|
||||
|
||||
classicpasteproperties
|
||||
{
|
||||
title = "Paste Properties";
|
||||
category = "classic";
|
||||
description = "Pastes the copied properties onto the highlighted or selected objects.";
|
||||
allowkeys = true;
|
||||
allowmouse = true;
|
||||
allowscroll = true;
|
||||
default = 196694; // CTRL+SHIFT+V
|
||||
}
|
||||
|
||||
floodfilltextures
|
||||
{
|
||||
title = "Paste Texture Flood-Fill";
|
||||
|
|
BIN
Source/Plugins/BuilderModes/Resources/CopyProperties.png
Normal file
BIN
Source/Plugins/BuilderModes/Resources/CopyProperties.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 657 B |
BIN
Source/Plugins/BuilderModes/Resources/PasteProperties.png
Normal file
BIN
Source/Plugins/BuilderModes/Resources/PasteProperties.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 631 B |
Loading…
Reference in a new issue