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:
codeimp 2010-08-15 13:45:43 +00:00
parent 14415a7767
commit 34bd24505d
26 changed files with 1100 additions and 402 deletions

View file

@ -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

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B

View file

@ -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...");

View file

@ -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));

View file

@ -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;

View file

@ -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

View file

@ -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;

View file

@ -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();

File diff suppressed because it is too large Load diff

View file

@ -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;

View file

@ -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>

View file

@ -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.

View file

@ -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()

View file

@ -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()

View file

@ -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()

View file

@ -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()

View file

@ -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; } }

View file

@ -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));
}
}
}

View file

@ -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;
}
}

View file

@ -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

View file

@ -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);

View file

@ -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>

View file

@ -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";

Binary file not shown.

After

Width:  |  Height:  |  Size: 657 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 631 B