prefabs support added

This commit is contained in:
codeimp 2008-12-31 16:43:23 +00:00
parent 2b7cfbac06
commit 31184de358
15 changed files with 465 additions and 70 deletions

View file

@ -3,8 +3,6 @@ quality over quantity. It is done when it's done.
The order and included items may also change any time.
=========================================================
- Make Prefabs support
- Make Directory Resources support
- Make PK3 Resources support

BIN
Resources/Icons/Prefab.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

BIN
Resources/Icons/Prefab2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

View file

@ -653,6 +653,8 @@
<EmbeddedResource Include="Resources\Crosshair.png" />
<EmbeddedResource Include="Resources\CrosshairBusy.png" />
<Content Include="Resources\DB2.ico" />
<None Include="Resources\Prefab2.png" />
<None Include="Resources\Prefab.png" />
<EmbeddedResource Include="Resources\ThingBox.png" />
<EmbeddedResource Include="Resources\Nothing.png" />
<EmbeddedResource Include="Resources\UnknownThing.png" />

View file

@ -30,6 +30,7 @@ using CodeImp.DoomBuilder.Map;
using CodeImp.DoomBuilder.Rendering;
using System.Diagnostics;
using CodeImp.DoomBuilder.Actions;
using ICSharpCode.SharpZipLib.BZip2;
#endregion
@ -48,12 +49,16 @@ namespace CodeImp.DoomBuilder.Editing
// Disposing
private bool isdisposed = false;
// Last inserted prefab
private string lastprefabfile;
#endregion
#region ================== Properties
public bool IsDisposed { get { return isdisposed; } }
public bool IsPreviousPrefabAvailable { get { return (lastprefabfile != null); } }
#endregion
#region ================== Constructor / Disposer
@ -86,13 +91,85 @@ namespace CodeImp.DoomBuilder.Editing
#endregion
#region ================== Private Methods
#region ================== Methods
// This makes a prefab of the selection. Returns null when cancelled.
internal MemoryStream MakePrefab()
{
// Let the plugins know
if(General.Plugins.OnCopyBegin())
{
// Ask the editing mode to prepare selection for copying.
// The edit mode should mark all vertices, lines and sectors
// that need to be copied.
if(General.Editing.Mode.OnCopyBegin())
{
// Copy the marked geometry
// This links sidedefs that are not linked to a marked sector to a virtual sector
MapSet copyset = General.Map.Map.CloneMarked();
// Convert flags and activations to UDMF fields, if needed
if(!(General.Map.FormatInterface is UniversalMapSetIO)) copyset.TranslateToUDMF();
// Write data to stream
MemoryStream memstream = new MemoryStream();
UniversalStreamWriter writer = new UniversalStreamWriter();
writer.RememberCustomTypes = false;
writer.Write(copyset, memstream, null);
// Compress the stream
MemoryStream compressed = new MemoryStream((int)memstream.Length);
memstream.Seek(0, SeekOrigin.Begin);
BZip2.Compress(memstream, compressed, 900000);
// Done
memstream.Dispose();
General.Editing.Mode.OnCopyEnd();
General.Plugins.OnCopyEnd();
return compressed;
}
}
// Aborted
return null;
}
// This pastes a prefab. Returns false when paste was cancelled.
internal void PastePrefab(Stream filedata)
{
// Decompress stream
MemoryStream decompressed = new MemoryStream((int)filedata.Length * 3);
filedata.Seek(0, SeekOrigin.Begin);
BZip2.Decompress(filedata, decompressed);
MemoryStream memstream = new MemoryStream(decompressed.ToArray());
decompressed.Dispose();
// Mark all current geometry
General.Map.Map.ClearAllMarks(true);
// Read data stream
UniversalStreamReader reader = new UniversalStreamReader();
reader.StrictChecking = false;
reader.Read(General.Map.Map, memstream);
// The new geometry is not marked, so invert the marks to get it marked
General.Map.Map.InvertAllMarks();
// Convert UDMF fields back to flags and activations, if needed
if(!(General.Map.FormatInterface is UniversalMapSetIO)) General.Map.Map.TranslateFromUDMF();
// Done
memstream.Dispose();
General.Map.Map.UpdateConfiguration();
General.Editing.Mode.OnPasteEnd();
General.Plugins.OnPasteEnd();
}
// This performs the copy. Returns false when copy was cancelled.
private bool DoCopySelection()
{
// Let the plugins know
if(General.Plugins.OnPasteBegin())
if(General.Plugins.OnCopyBegin())
{
// Ask the editing mode to prepare selection for copying.
// The edit mode should mark all vertices, lines and sectors
@ -162,6 +239,7 @@ namespace CodeImp.DoomBuilder.Editing
// Done
memstream.Dispose();
General.Map.Map.UpdateConfiguration();
General.Editing.Mode.OnPasteEnd();
General.Plugins.OnPasteEnd();
return true;
@ -181,7 +259,7 @@ namespace CodeImp.DoomBuilder.Editing
#endregion
#region ================== Public Methods
#region ================== Actions
// This copies the current selection
[BeginAction("copyselection")]
@ -219,6 +297,159 @@ namespace CodeImp.DoomBuilder.Editing
{
DoPasteSelection();
}
// This creates a new prefab from selection
[BeginAction("createprefab")]
public void CreatePrefab()
{
Cursor oldcursor = Cursor.Current;
Cursor.Current = Cursors.WaitCursor;
MemoryStream data = MakePrefab();
if(data != null)
{
Cursor.Current = oldcursor;
SaveFileDialog savefile = new SaveFileDialog();
savefile.Filter = "Doom Builder Prefabs (*.dbprefab)|*.dbprefab";
savefile.Title = "Save Prefab As";
savefile.AddExtension = true;
savefile.CheckPathExists = true;
savefile.OverwritePrompt = true;
savefile.ValidateNames = true;
if(savefile.ShowDialog(General.MainWindow) == DialogResult.OK)
{
try
{
Cursor.Current = Cursors.WaitCursor;
if(File.Exists(savefile.FileName)) File.Delete(savefile.FileName);
File.WriteAllBytes(savefile.FileName, data.ToArray());
}
catch(Exception e)
{
Cursor.Current = oldcursor;
General.WriteLogLine("ERROR: " + e.GetType().Name + " while writing prefab to file: " + e.Message);
General.ShowErrorMessage("Error while writing prefab to file! See log file for error details.", MessageBoxButtons.OK);
}
}
}
else
{
// Can't make a prefab right now
General.MessageBeep(MessageBeepType.Warning);
}
// Done
data.Dispose();
General.MainWindow.UpdateInterface();
Cursor.Current = oldcursor;
}
// This pastes a prefab from file
[BeginAction("insertprefabfile")]
public void InsertPrefabFile()
{
// Cancel volatile mode
General.DisengageVolatileMode();
// Let the plugins know
if(General.Plugins.OnPasteBegin())
{
// Ask the editing mode to prepare selection for pasting.
if(General.Editing.Mode.OnPasteBegin())
{
Cursor oldcursor = Cursor.Current;
OpenFileDialog openfile = new OpenFileDialog();
openfile.Filter = "Doom Builder Prefabs (*.dbprefab)|*.dbprefab";
openfile.Title = "Open Prefab";
openfile.AddExtension = false;
openfile.CheckFileExists = true;
openfile.Multiselect = false;
openfile.ValidateNames = true;
if(openfile.ShowDialog(General.MainWindow) == DialogResult.OK)
{
FileStream stream = null;
try
{
Cursor.Current = Cursors.WaitCursor;
stream = File.OpenRead(openfile.FileName);
}
catch(Exception e)
{
Cursor.Current = oldcursor;
General.WriteLogLine("ERROR: " + e.GetType().Name + " while reading prefab from file: " + e.Message);
General.ShowErrorMessage("Error while reading prefab from file! See log file for error details.", MessageBoxButtons.OK);
}
if(stream != null)
{
PastePrefab(stream);
lastprefabfile = openfile.FileName;
}
General.MainWindow.UpdateInterface();
stream.Dispose();
}
Cursor.Current = oldcursor;
}
}
}
// This pastes the previously inserted prefab
[BeginAction("insertpreviousprefab")]
public void InsertPreviousPrefab()
{
// Is there a previously inserted prefab?
if(IsPreviousPrefabAvailable)
{
// Does the file still exist?
if(File.Exists(lastprefabfile))
{
// Cancel volatile mode
General.DisengageVolatileMode();
// Let the plugins know
if(General.Plugins.OnPasteBegin())
{
// Ask the editing mode to prepare selection for pasting.
if(General.Editing.Mode.OnPasteBegin())
{
Cursor oldcursor = Cursor.Current;
FileStream stream = null;
try
{
Cursor.Current = Cursors.WaitCursor;
stream = File.OpenRead(lastprefabfile);
}
catch(Exception e)
{
Cursor.Current = oldcursor;
General.WriteLogLine("ERROR: " + e.GetType().Name + " while reading prefab from file: " + e.Message);
General.ShowErrorMessage("Error while reading prefab from file! See log file for error details.", MessageBoxButtons.OK);
}
if(stream != null) PastePrefab(stream);
stream.Dispose();
General.MainWindow.UpdateInterface();
Cursor.Current = oldcursor;
}
}
}
else
{
General.MessageBeep(MessageBeepType.Warning);
lastprefabfile = null;
General.MainWindow.UpdateInterface();
}
}
else
{
General.MessageBeep(MessageBeepType.Warning);
}
}
#endregion
}

View file

@ -111,6 +111,7 @@ namespace CodeImp.DoomBuilder
internal ConfigurationInfo ConfigSettings { get { return configinfo; } }
public GridSetup Grid { get { return grid; } }
public UndoManager UndoRedo { get { return undoredo; } }
internal CopyPasteManager CopyPaste { get { return copypaste; } }
public IMapSetIO FormatInterface { get { return io; } }
internal Launcher Launcher { get { return launcher; } }
public ThingsFilter ThingsFilter { get { return thingsfilter; } }

View file

@ -112,7 +112,8 @@ namespace CodeImp.DoomBuilder.Map
case UniversalType.AngleDegrees:
case UniversalType.Float:
{
float v = (float)value;
float v = 0.0f;
try { v = (float)value; } catch(NullReferenceException e) { }
s.rwFloat(ref v);
value = v;
break;
@ -130,7 +131,8 @@ namespace CodeImp.DoomBuilder.Map
case UniversalType.SectorTag:
case UniversalType.ThingTag:
{
int v = (int)value;
int v = 0;
try { v = (int)value; } catch(NullReferenceException e) { }
s.rwInt(ref v);
value = v;
break;
@ -138,7 +140,8 @@ namespace CodeImp.DoomBuilder.Map
case UniversalType.Boolean:
{
bool v = (bool)value;
bool v = false;
try { v = (bool)value; } catch(NullReferenceException e) { }
s.rwBool(ref v);
value = v;
break;

View file

@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:2.0.50727.1826
// Runtime Version:2.0.50727.1433
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@ -214,6 +214,20 @@ namespace CodeImp.DoomBuilder.Properties {
}
}
internal static System.Drawing.Bitmap Prefab {
get {
object obj = ResourceManager.GetObject("Prefab", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap Prefab2 {
get {
object obj = ResourceManager.GetObject("Prefab2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
internal static System.Drawing.Bitmap Properties {
get {
object obj = ResourceManager.GetObject("Properties", resourceCulture);

View file

@ -271,4 +271,10 @@
<data name="Script2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Script2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Prefab" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Prefab.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="Prefab2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\Prefab2.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View file

@ -10,6 +10,7 @@ categories
view = "View";
modes = "Modes";
tools = "Tools";
prefabs = "Prefabs";
classic = "Classic Modes";
visual = "Visual Modes";
selecting = "Selecting";
@ -749,3 +750,32 @@ visualedit
disregardshift = true;
}
createprefab
{
title = "Create Prefab";
category = "prefabs";
description = "Creates a prefab from the selected geometry and saves it to a prefab file.";
allowkeys = true;
allowmouse = true;
allowscroll = false;
}
insertprefabfile
{
title = "Insert Prefab File";
category = "prefabs";
description = "Browses for a Prefab file and inserts theprefab geometry into the map.";
allowkeys = true;
allowmouse = true;
allowscroll = false;
}
insertpreviousprefab
{
title = "Insert Previous Prefab";
category = "prefabs";
description = "Inserts the previously opened Prefab file again.";
allowkeys = true;
allowmouse = true;
allowscroll = false;
}

BIN
Source/Resources/Prefab.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 514 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 552 B

View file

@ -42,6 +42,7 @@ namespace CodeImp.DoomBuilder.Windows
System.Windows.Forms.ToolStripSeparator toolStripSeparator12;
System.Windows.Forms.ToolStripSeparator toolStripMenuItem4;
System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.buttoneditmodesseperator = new System.Windows.Forms.ToolStripSeparator();
this.poscommalabel = new System.Windows.Forms.ToolStripStatusLabel();
@ -80,6 +81,11 @@ namespace CodeImp.DoomBuilder.Windows
this.toolStripMenuItem10 = new System.Windows.Forms.ToolStripSeparator();
this.itemscripteditor = new System.Windows.Forms.ToolStripMenuItem();
this.menumode = new System.Windows.Forms.ToolStripMenuItem();
this.menuprefabs = new System.Windows.Forms.ToolStripMenuItem();
this.iteminsertprefabfile = new System.Windows.Forms.ToolStripMenuItem();
this.iteminsertpreviousprefab = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem12 = new System.Windows.Forms.ToolStripSeparator();
this.itemcreateprefab = new System.Windows.Forms.ToolStripMenuItem();
this.menutools = new System.Windows.Forms.ToolStripMenuItem();
this.itemreloadresources = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem8 = new System.Windows.Forms.ToolStripSeparator();
@ -100,6 +106,8 @@ namespace CodeImp.DoomBuilder.Windows
this.buttoncut = new System.Windows.Forms.ToolStripButton();
this.buttoncopy = new System.Windows.Forms.ToolStripButton();
this.buttonpaste = new System.Windows.Forms.ToolStripButton();
this.buttoninsertprefabfile = new System.Windows.Forms.ToolStripButton();
this.buttoninsertpreviousprefab = new System.Windows.Forms.ToolStripButton();
this.buttonthingsfilter = new System.Windows.Forms.ToolStripButton();
this.thingfilters = new System.Windows.Forms.ToolStripComboBox();
this.buttonviewnormal = new System.Windows.Forms.ToolStripButton();
@ -163,6 +171,7 @@ namespace CodeImp.DoomBuilder.Windows
toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator();
toolStripMenuItem4 = new System.Windows.Forms.ToolStripSeparator();
toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.menumain.SuspendLayout();
this.toolbar.SuspendLayout();
this.statusbar.SuspendLayout();
@ -173,13 +182,13 @@ namespace CodeImp.DoomBuilder.Windows
//
toolStripMenuItem1.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
toolStripMenuItem1.Name = "toolStripMenuItem1";
toolStripMenuItem1.Size = new System.Drawing.Size(187, 6);
toolStripMenuItem1.Size = new System.Drawing.Size(198, 6);
//
// toolStripMenuItem3
//
toolStripMenuItem3.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
toolStripMenuItem3.Name = "toolStripMenuItem3";
toolStripMenuItem3.Size = new System.Drawing.Size(187, 6);
toolStripMenuItem3.Size = new System.Drawing.Size(198, 6);
//
// toolStripSeparator1
//
@ -209,7 +218,7 @@ namespace CodeImp.DoomBuilder.Windows
//
toolStripSeparator11.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
toolStripSeparator11.Name = "toolStripSeparator11";
toolStripSeparator11.Size = new System.Drawing.Size(151, 6);
toolStripSeparator11.Size = new System.Drawing.Size(162, 6);
//
// toolstripSeperator1
//
@ -221,7 +230,7 @@ namespace CodeImp.DoomBuilder.Windows
//
toolstripSeperator6.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
toolstripSeperator6.Name = "toolstripSeperator6";
toolstripSeperator6.Size = new System.Drawing.Size(151, 6);
toolstripSeperator6.Size = new System.Drawing.Size(162, 6);
//
// toolStripSeparator7
//
@ -238,12 +247,18 @@ namespace CodeImp.DoomBuilder.Windows
// toolStripMenuItem4
//
toolStripMenuItem4.Name = "toolStripMenuItem4";
toolStripMenuItem4.Size = new System.Drawing.Size(150, 6);
toolStripMenuItem4.Size = new System.Drawing.Size(161, 6);
//
// toolStripSeparator2
//
toolStripSeparator2.Name = "toolStripSeparator2";
toolStripSeparator2.Size = new System.Drawing.Size(153, 6);
toolStripSeparator2.Size = new System.Drawing.Size(164, 6);
//
// toolStripSeparator4
//
toolStripSeparator4.Margin = new System.Windows.Forms.Padding(6, 0, 6, 0);
toolStripSeparator4.Name = "toolStripSeparator4";
toolStripSeparator4.Size = new System.Drawing.Size(6, 25);
//
// buttoneditmodesseperator
//
@ -266,6 +281,7 @@ namespace CodeImp.DoomBuilder.Windows
this.menuedit,
this.menuview,
this.menumode,
this.menuprefabs,
this.menutools,
this.menuhelp});
this.menumain.Location = new System.Drawing.Point(0, 0);
@ -296,7 +312,7 @@ namespace CodeImp.DoomBuilder.Windows
this.itemnewmap.Image = global::CodeImp.DoomBuilder.Properties.Resources.File;
this.itemnewmap.Name = "itemnewmap";
this.itemnewmap.ShortcutKeyDisplayString = "";
this.itemnewmap.Size = new System.Drawing.Size(190, 22);
this.itemnewmap.Size = new System.Drawing.Size(201, 22);
this.itemnewmap.Tag = "builder_newmap";
this.itemnewmap.Text = "New Map";
this.itemnewmap.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -305,7 +321,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemopenmap.Image = global::CodeImp.DoomBuilder.Properties.Resources.OpenMap;
this.itemopenmap.Name = "itemopenmap";
this.itemopenmap.Size = new System.Drawing.Size(190, 22);
this.itemopenmap.Size = new System.Drawing.Size(201, 22);
this.itemopenmap.Tag = "builder_openmap";
this.itemopenmap.Text = "Open Map...";
this.itemopenmap.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -313,7 +329,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemclosemap
//
this.itemclosemap.Name = "itemclosemap";
this.itemclosemap.Size = new System.Drawing.Size(190, 22);
this.itemclosemap.Size = new System.Drawing.Size(201, 22);
this.itemclosemap.Tag = "builder_closemap";
this.itemclosemap.Text = "Close Map";
this.itemclosemap.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -322,7 +338,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemsavemap.Image = global::CodeImp.DoomBuilder.Properties.Resources.SaveMap;
this.itemsavemap.Name = "itemsavemap";
this.itemsavemap.Size = new System.Drawing.Size(190, 22);
this.itemsavemap.Size = new System.Drawing.Size(201, 22);
this.itemsavemap.Tag = "builder_savemap";
this.itemsavemap.Text = "Save Map";
this.itemsavemap.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -330,7 +346,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemsavemapas
//
this.itemsavemapas.Name = "itemsavemapas";
this.itemsavemapas.Size = new System.Drawing.Size(190, 22);
this.itemsavemapas.Size = new System.Drawing.Size(201, 22);
this.itemsavemapas.Tag = "builder_savemapas";
this.itemsavemapas.Text = "Save Map As...";
this.itemsavemapas.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -338,7 +354,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemsavemapinto
//
this.itemsavemapinto.Name = "itemsavemapinto";
this.itemsavemapinto.Size = new System.Drawing.Size(190, 22);
this.itemsavemapinto.Size = new System.Drawing.Size(201, 22);
this.itemsavemapinto.Tag = "builder_savemapinto";
this.itemsavemapinto.Text = "Save Map Into...";
this.itemsavemapinto.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -347,19 +363,19 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem5.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem5.Name = "toolStripMenuItem5";
this.toolStripMenuItem5.Size = new System.Drawing.Size(187, 6);
this.toolStripMenuItem5.Size = new System.Drawing.Size(198, 6);
//
// itemnorecent
//
this.itemnorecent.Enabled = false;
this.itemnorecent.Name = "itemnorecent";
this.itemnorecent.Size = new System.Drawing.Size(190, 22);
this.itemnorecent.Size = new System.Drawing.Size(201, 22);
this.itemnorecent.Text = "No recently opened files";
//
// itemexit
//
this.itemexit.Name = "itemexit";
this.itemexit.Size = new System.Drawing.Size(190, 22);
this.itemexit.Size = new System.Drawing.Size(201, 22);
this.itemexit.Text = "Exit";
this.itemexit.Click += new System.EventHandler(this.itemexit_Click);
//
@ -389,7 +405,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemundo.Image = global::CodeImp.DoomBuilder.Properties.Resources.Undo;
this.itemundo.Name = "itemundo";
this.itemundo.Size = new System.Drawing.Size(154, 22);
this.itemundo.Size = new System.Drawing.Size(165, 22);
this.itemundo.Tag = "builder_undo";
this.itemundo.Text = "Undo";
this.itemundo.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -398,7 +414,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemredo.Image = global::CodeImp.DoomBuilder.Properties.Resources.Redo;
this.itemredo.Name = "itemredo";
this.itemredo.Size = new System.Drawing.Size(154, 22);
this.itemredo.Size = new System.Drawing.Size(165, 22);
this.itemredo.Tag = "builder_redo";
this.itemredo.Text = "Redo";
this.itemredo.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -407,13 +423,13 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem7.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem7.Name = "toolStripMenuItem7";
this.toolStripMenuItem7.Size = new System.Drawing.Size(151, 6);
this.toolStripMenuItem7.Size = new System.Drawing.Size(162, 6);
//
// itemcut
//
this.itemcut.Image = global::CodeImp.DoomBuilder.Properties.Resources.Cut;
this.itemcut.Name = "itemcut";
this.itemcut.Size = new System.Drawing.Size(154, 22);
this.itemcut.Size = new System.Drawing.Size(165, 22);
this.itemcut.Tag = "builder_cutselection";
this.itemcut.Text = "Cut";
this.itemcut.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -422,7 +438,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemcopy.Image = global::CodeImp.DoomBuilder.Properties.Resources.Copy;
this.itemcopy.Name = "itemcopy";
this.itemcopy.Size = new System.Drawing.Size(154, 22);
this.itemcopy.Size = new System.Drawing.Size(165, 22);
this.itemcopy.Tag = "builder_copyselection";
this.itemcopy.Text = "Copy";
this.itemcopy.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -431,7 +447,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itempaste.Image = global::CodeImp.DoomBuilder.Properties.Resources.Paste;
this.itempaste.Name = "itempaste";
this.itempaste.Size = new System.Drawing.Size(154, 22);
this.itempaste.Size = new System.Drawing.Size(165, 22);
this.itempaste.Tag = "builder_pasteselection";
this.itempaste.Text = "Paste";
this.itempaste.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -442,7 +458,7 @@ namespace CodeImp.DoomBuilder.Windows
this.itemsnaptogrid.CheckState = System.Windows.Forms.CheckState.Checked;
this.itemsnaptogrid.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid4;
this.itemsnaptogrid.Name = "itemsnaptogrid";
this.itemsnaptogrid.Size = new System.Drawing.Size(154, 22);
this.itemsnaptogrid.Size = new System.Drawing.Size(165, 22);
this.itemsnaptogrid.Tag = "builder_togglesnap";
this.itemsnaptogrid.Text = "Snap to Grid";
this.itemsnaptogrid.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -453,7 +469,7 @@ namespace CodeImp.DoomBuilder.Windows
this.itemautomerge.CheckState = System.Windows.Forms.CheckState.Checked;
this.itemautomerge.Image = global::CodeImp.DoomBuilder.Properties.Resources.mergegeometry2;
this.itemautomerge.Name = "itemautomerge";
this.itemautomerge.Size = new System.Drawing.Size(154, 22);
this.itemautomerge.Size = new System.Drawing.Size(165, 22);
this.itemautomerge.Tag = "builder_toggleautomerge";
this.itemautomerge.Text = "Merge Geometry";
this.itemautomerge.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -462,12 +478,12 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem6.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem6.Name = "toolStripMenuItem6";
this.toolStripMenuItem6.Size = new System.Drawing.Size(151, 6);
this.toolStripMenuItem6.Size = new System.Drawing.Size(162, 6);
//
// itemgridinc
//
this.itemgridinc.Name = "itemgridinc";
this.itemgridinc.Size = new System.Drawing.Size(154, 22);
this.itemgridinc.Size = new System.Drawing.Size(165, 22);
this.itemgridinc.Tag = "builder_gridinc";
this.itemgridinc.Text = "Increase Grid";
this.itemgridinc.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -475,7 +491,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgriddec
//
this.itemgriddec.Name = "itemgriddec";
this.itemgriddec.Size = new System.Drawing.Size(154, 22);
this.itemgriddec.Size = new System.Drawing.Size(165, 22);
this.itemgriddec.Tag = "builder_griddec";
this.itemgriddec.Text = "Decrease Grid";
this.itemgriddec.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -484,7 +500,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemgridsetup.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid2;
this.itemgridsetup.Name = "itemgridsetup";
this.itemgridsetup.Size = new System.Drawing.Size(154, 22);
this.itemgridsetup.Size = new System.Drawing.Size(165, 22);
this.itemgridsetup.Tag = "builder_gridsetup";
this.itemgridsetup.Text = "Grid Setup...";
this.itemgridsetup.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -493,7 +509,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemmapoptions.Image = global::CodeImp.DoomBuilder.Properties.Resources.Properties;
this.itemmapoptions.Name = "itemmapoptions";
this.itemmapoptions.Size = new System.Drawing.Size(154, 22);
this.itemmapoptions.Size = new System.Drawing.Size(165, 22);
this.itemmapoptions.Tag = "builder_mapoptions";
this.itemmapoptions.Text = "Map Options....";
this.itemmapoptions.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -517,7 +533,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemthingsfilter.Image = global::CodeImp.DoomBuilder.Properties.Resources.Filter;
this.itemthingsfilter.Name = "itemthingsfilter";
this.itemthingsfilter.Size = new System.Drawing.Size(199, 22);
this.itemthingsfilter.Size = new System.Drawing.Size(210, 22);
this.itemthingsfilter.Tag = "builder_thingsfilterssetup";
this.itemthingsfilter.Text = "Configure Things Filters...";
this.itemthingsfilter.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -526,13 +542,13 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem9.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem9.Name = "toolStripMenuItem9";
this.toolStripMenuItem9.Size = new System.Drawing.Size(196, 6);
this.toolStripMenuItem9.Size = new System.Drawing.Size(207, 6);
//
// itemviewnormal
//
this.itemviewnormal.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewNormal;
this.itemviewnormal.Name = "itemviewnormal";
this.itemviewnormal.Size = new System.Drawing.Size(199, 22);
this.itemviewnormal.Size = new System.Drawing.Size(210, 22);
this.itemviewnormal.Tag = "builder_viewmodenormal";
this.itemviewnormal.Text = "Wireframe";
this.itemviewnormal.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -541,7 +557,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemviewbrightness.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewBrightness;
this.itemviewbrightness.Name = "itemviewbrightness";
this.itemviewbrightness.Size = new System.Drawing.Size(199, 22);
this.itemviewbrightness.Size = new System.Drawing.Size(210, 22);
this.itemviewbrightness.Tag = "builder_viewmodebrightness";
this.itemviewbrightness.Text = "Brightness Levels";
this.itemviewbrightness.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -550,7 +566,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemviewfloors.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewTextureFloor;
this.itemviewfloors.Name = "itemviewfloors";
this.itemviewfloors.Size = new System.Drawing.Size(199, 22);
this.itemviewfloors.Size = new System.Drawing.Size(210, 22);
this.itemviewfloors.Tag = "builder_viewmodefloors";
this.itemviewfloors.Text = "Floor Textures";
this.itemviewfloors.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -559,7 +575,7 @@ namespace CodeImp.DoomBuilder.Windows
//
this.itemviewceilings.Image = global::CodeImp.DoomBuilder.Properties.Resources.ViewTextureCeiling;
this.itemviewceilings.Name = "itemviewceilings";
this.itemviewceilings.Size = new System.Drawing.Size(199, 22);
this.itemviewceilings.Size = new System.Drawing.Size(210, 22);
this.itemviewceilings.Tag = "builder_viewmodeceilings";
this.itemviewceilings.Text = "Ceiling Textures";
this.itemviewceilings.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -568,13 +584,13 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem10.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem10.Name = "toolStripMenuItem10";
this.toolStripMenuItem10.Size = new System.Drawing.Size(196, 6);
this.toolStripMenuItem10.Size = new System.Drawing.Size(207, 6);
//
// itemscripteditor
//
this.itemscripteditor.Image = global::CodeImp.DoomBuilder.Properties.Resources.Script2;
this.itemscripteditor.Name = "itemscripteditor";
this.itemscripteditor.Size = new System.Drawing.Size(199, 22);
this.itemscripteditor.Size = new System.Drawing.Size(210, 22);
this.itemscripteditor.Tag = "builder_openscripteditor";
this.itemscripteditor.Text = "Script Editor...";
this.itemscripteditor.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -585,6 +601,47 @@ namespace CodeImp.DoomBuilder.Windows
this.menumode.Size = new System.Drawing.Size(45, 20);
this.menumode.Text = "Mode";
//
// menuprefabs
//
this.menuprefabs.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.iteminsertprefabfile,
this.iteminsertpreviousprefab,
this.toolStripMenuItem12,
this.itemcreateprefab});
this.menuprefabs.Name = "menuprefabs";
this.menuprefabs.Size = new System.Drawing.Size(56, 20);
this.menuprefabs.Text = "Prefabs";
//
// iteminsertprefabfile
//
this.iteminsertprefabfile.Name = "iteminsertprefabfile";
this.iteminsertprefabfile.Size = new System.Drawing.Size(205, 22);
this.iteminsertprefabfile.Tag = "builder_insertprefabfile";
this.iteminsertprefabfile.Text = "Insert Prefab from File...";
this.iteminsertprefabfile.Click += new System.EventHandler(this.InvokeTaggedAction);
//
// iteminsertpreviousprefab
//
this.iteminsertpreviousprefab.Name = "iteminsertpreviousprefab";
this.iteminsertpreviousprefab.Size = new System.Drawing.Size(205, 22);
this.iteminsertpreviousprefab.Tag = "builder_insertpreviousprefab";
this.iteminsertpreviousprefab.Text = "Insert Previous Prefab";
this.iteminsertpreviousprefab.Click += new System.EventHandler(this.InvokeTaggedAction);
//
// toolStripMenuItem12
//
this.toolStripMenuItem12.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem12.Name = "toolStripMenuItem12";
this.toolStripMenuItem12.Size = new System.Drawing.Size(202, 6);
//
// itemcreateprefab
//
this.itemcreateprefab.Name = "itemcreateprefab";
this.itemcreateprefab.Size = new System.Drawing.Size(205, 22);
this.itemcreateprefab.Tag = "builder_createprefab";
this.itemcreateprefab.Text = "Create From Selection...";
this.itemcreateprefab.Click += new System.EventHandler(this.InvokeTaggedAction);
//
// menutools
//
this.menutools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
@ -601,7 +658,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemreloadresources
//
this.itemreloadresources.Name = "itemreloadresources";
this.itemreloadresources.Size = new System.Drawing.Size(186, 22);
this.itemreloadresources.Size = new System.Drawing.Size(197, 22);
this.itemreloadresources.Tag = "builder_reloadresources";
this.itemreloadresources.Text = "Reload Resources";
this.itemreloadresources.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -610,12 +667,12 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem8.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem8.Name = "toolStripMenuItem8";
this.toolStripMenuItem8.Size = new System.Drawing.Size(183, 6);
this.toolStripMenuItem8.Size = new System.Drawing.Size(194, 6);
//
// configurationToolStripMenuItem
//
this.configurationToolStripMenuItem.Name = "configurationToolStripMenuItem";
this.configurationToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
this.configurationToolStripMenuItem.Size = new System.Drawing.Size(197, 22);
this.configurationToolStripMenuItem.Tag = "builder_configuration";
this.configurationToolStripMenuItem.Text = "Game Configurations...";
this.configurationToolStripMenuItem.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -623,7 +680,7 @@ namespace CodeImp.DoomBuilder.Windows
// preferencesToolStripMenuItem
//
this.preferencesToolStripMenuItem.Name = "preferencesToolStripMenuItem";
this.preferencesToolStripMenuItem.Size = new System.Drawing.Size(186, 22);
this.preferencesToolStripMenuItem.Size = new System.Drawing.Size(197, 22);
this.preferencesToolStripMenuItem.Tag = "builder_preferences";
this.preferencesToolStripMenuItem.Text = "Preferences...";
this.preferencesToolStripMenuItem.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -632,13 +689,13 @@ namespace CodeImp.DoomBuilder.Windows
//
this.toolStripMenuItem11.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.toolStripMenuItem11.Name = "toolStripMenuItem11";
this.toolStripMenuItem11.Size = new System.Drawing.Size(183, 6);
this.toolStripMenuItem11.Size = new System.Drawing.Size(194, 6);
//
// itemtestmap
//
this.itemtestmap.Image = global::CodeImp.DoomBuilder.Properties.Resources.Test;
this.itemtestmap.Name = "itemtestmap";
this.itemtestmap.Size = new System.Drawing.Size(186, 22);
this.itemtestmap.Size = new System.Drawing.Size(197, 22);
this.itemtestmap.Tag = "builder_testmap";
this.itemtestmap.Text = "Test Map";
this.itemtestmap.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -654,7 +711,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemhelpabout
//
this.itemhelpabout.Name = "itemhelpabout";
this.itemhelpabout.Size = new System.Drawing.Size(180, 22);
this.itemhelpabout.Size = new System.Drawing.Size(191, 22);
this.itemhelpabout.Text = "About Doom Builder...";
this.itemhelpabout.Click += new System.EventHandler(this.itemhelpabout_Click);
//
@ -675,6 +732,9 @@ namespace CodeImp.DoomBuilder.Windows
this.buttoncut,
this.buttoncopy,
this.buttonpaste,
toolStripSeparator4,
this.buttoninsertprefabfile,
this.buttoninsertpreviousprefab,
toolstripSeperator1,
this.buttoneditmodesseperator,
this.buttonthingsfilter,
@ -806,6 +866,28 @@ namespace CodeImp.DoomBuilder.Windows
this.buttonpaste.Text = "Paste Selection";
this.buttonpaste.Click += new System.EventHandler(this.InvokeTaggedAction);
//
// buttoninsertprefabfile
//
this.buttoninsertprefabfile.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.buttoninsertprefabfile.Image = global::CodeImp.DoomBuilder.Properties.Resources.Prefab;
this.buttoninsertprefabfile.ImageTransparentColor = System.Drawing.Color.Magenta;
this.buttoninsertprefabfile.Name = "buttoninsertprefabfile";
this.buttoninsertprefabfile.Size = new System.Drawing.Size(23, 22);
this.buttoninsertprefabfile.Tag = "builder_insertprefabfile";
this.buttoninsertprefabfile.Text = "Insert Prefab from File";
this.buttoninsertprefabfile.Click += new System.EventHandler(this.InvokeTaggedAction);
//
// buttoninsertpreviousprefab
//
this.buttoninsertpreviousprefab.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.buttoninsertpreviousprefab.Image = global::CodeImp.DoomBuilder.Properties.Resources.Prefab2;
this.buttoninsertpreviousprefab.ImageTransparentColor = System.Drawing.Color.Magenta;
this.buttoninsertpreviousprefab.Name = "buttoninsertpreviousprefab";
this.buttoninsertpreviousprefab.Size = new System.Drawing.Size(23, 22);
this.buttoninsertpreviousprefab.Tag = "builder_insertpreviousprefab";
this.buttoninsertpreviousprefab.Text = "Insert Previous Prefab";
this.buttoninsertpreviousprefab.Click += new System.EventHandler(this.InvokeTaggedAction);
//
// buttonthingsfilter
//
this.buttonthingsfilter.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
@ -1033,7 +1115,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid1024
//
this.itemgrid1024.Name = "itemgrid1024";
this.itemgrid1024.Size = new System.Drawing.Size(153, 22);
this.itemgrid1024.Size = new System.Drawing.Size(164, 22);
this.itemgrid1024.Tag = "1024";
this.itemgrid1024.Text = "1024 mp";
this.itemgrid1024.Click += new System.EventHandler(this.itemgridsize_Click);
@ -1041,7 +1123,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid512
//
this.itemgrid512.Name = "itemgrid512";
this.itemgrid512.Size = new System.Drawing.Size(153, 22);
this.itemgrid512.Size = new System.Drawing.Size(164, 22);
this.itemgrid512.Tag = "512";
this.itemgrid512.Text = "512 mp";
this.itemgrid512.Click += new System.EventHandler(this.itemgridsize_Click);
@ -1049,7 +1131,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid256
//
this.itemgrid256.Name = "itemgrid256";
this.itemgrid256.Size = new System.Drawing.Size(153, 22);
this.itemgrid256.Size = new System.Drawing.Size(164, 22);
this.itemgrid256.Tag = "256";
this.itemgrid256.Text = "256 mp";
this.itemgrid256.Click += new System.EventHandler(this.itemgridsize_Click);
@ -1057,7 +1139,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid128
//
this.itemgrid128.Name = "itemgrid128";
this.itemgrid128.Size = new System.Drawing.Size(153, 22);
this.itemgrid128.Size = new System.Drawing.Size(164, 22);
this.itemgrid128.Tag = "128";
this.itemgrid128.Text = "128 mp";
this.itemgrid128.Click += new System.EventHandler(this.itemgridsize_Click);
@ -1065,7 +1147,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid64
//
this.itemgrid64.Name = "itemgrid64";
this.itemgrid64.Size = new System.Drawing.Size(153, 22);
this.itemgrid64.Size = new System.Drawing.Size(164, 22);
this.itemgrid64.Tag = "64";
this.itemgrid64.Text = "64 mp";
this.itemgrid64.Click += new System.EventHandler(this.itemgridsize_Click);
@ -1073,7 +1155,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid32
//
this.itemgrid32.Name = "itemgrid32";
this.itemgrid32.Size = new System.Drawing.Size(153, 22);
this.itemgrid32.Size = new System.Drawing.Size(164, 22);
this.itemgrid32.Tag = "32";
this.itemgrid32.Text = "32 mp";
this.itemgrid32.Click += new System.EventHandler(this.itemgridsize_Click);
@ -1081,7 +1163,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid16
//
this.itemgrid16.Name = "itemgrid16";
this.itemgrid16.Size = new System.Drawing.Size(153, 22);
this.itemgrid16.Size = new System.Drawing.Size(164, 22);
this.itemgrid16.Tag = "16";
this.itemgrid16.Text = "16 mp";
this.itemgrid16.Click += new System.EventHandler(this.itemgridsize_Click);
@ -1089,7 +1171,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid8
//
this.itemgrid8.Name = "itemgrid8";
this.itemgrid8.Size = new System.Drawing.Size(153, 22);
this.itemgrid8.Size = new System.Drawing.Size(164, 22);
this.itemgrid8.Tag = "8";
this.itemgrid8.Text = "8 mp";
this.itemgrid8.Click += new System.EventHandler(this.itemgridsize_Click);
@ -1097,7 +1179,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgrid4
//
this.itemgrid4.Name = "itemgrid4";
this.itemgrid4.Size = new System.Drawing.Size(153, 22);
this.itemgrid4.Size = new System.Drawing.Size(164, 22);
this.itemgrid4.Tag = "4";
this.itemgrid4.Text = "4 mp";
this.itemgrid4.Click += new System.EventHandler(this.itemgridsize_Click);
@ -1105,7 +1187,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgridcustom
//
this.itemgridcustom.Name = "itemgridcustom";
this.itemgridcustom.Size = new System.Drawing.Size(153, 22);
this.itemgridcustom.Size = new System.Drawing.Size(164, 22);
this.itemgridcustom.Text = "Customize...";
this.itemgridcustom.Click += new System.EventHandler(this.itemgridcustom_Click);
//
@ -1144,7 +1226,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom200
//
this.itemzoom200.Name = "itemzoom200";
this.itemzoom200.Size = new System.Drawing.Size(156, 22);
this.itemzoom200.Size = new System.Drawing.Size(167, 22);
this.itemzoom200.Tag = "200";
this.itemzoom200.Text = "200%";
this.itemzoom200.Click += new System.EventHandler(this.itemzoomto_Click);
@ -1152,7 +1234,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom100
//
this.itemzoom100.Name = "itemzoom100";
this.itemzoom100.Size = new System.Drawing.Size(156, 22);
this.itemzoom100.Size = new System.Drawing.Size(167, 22);
this.itemzoom100.Tag = "100";
this.itemzoom100.Text = "100%";
this.itemzoom100.Click += new System.EventHandler(this.itemzoomto_Click);
@ -1160,7 +1242,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom50
//
this.itemzoom50.Name = "itemzoom50";
this.itemzoom50.Size = new System.Drawing.Size(156, 22);
this.itemzoom50.Size = new System.Drawing.Size(167, 22);
this.itemzoom50.Tag = "50";
this.itemzoom50.Text = "50%";
this.itemzoom50.Click += new System.EventHandler(this.itemzoomto_Click);
@ -1168,7 +1250,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom25
//
this.itemzoom25.Name = "itemzoom25";
this.itemzoom25.Size = new System.Drawing.Size(156, 22);
this.itemzoom25.Size = new System.Drawing.Size(167, 22);
this.itemzoom25.Tag = "25";
this.itemzoom25.Text = "25%";
this.itemzoom25.Click += new System.EventHandler(this.itemzoomto_Click);
@ -1176,7 +1258,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom10
//
this.itemzoom10.Name = "itemzoom10";
this.itemzoom10.Size = new System.Drawing.Size(156, 22);
this.itemzoom10.Size = new System.Drawing.Size(167, 22);
this.itemzoom10.Tag = "10";
this.itemzoom10.Text = "10%";
this.itemzoom10.Click += new System.EventHandler(this.itemzoomto_Click);
@ -1184,7 +1266,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoom5
//
this.itemzoom5.Name = "itemzoom5";
this.itemzoom5.Size = new System.Drawing.Size(156, 22);
this.itemzoom5.Size = new System.Drawing.Size(167, 22);
this.itemzoom5.Tag = "5";
this.itemzoom5.Text = "5%";
this.itemzoom5.Click += new System.EventHandler(this.itemzoomto_Click);
@ -1192,7 +1274,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemzoomfittoscreen
//
this.itemzoomfittoscreen.Name = "itemzoomfittoscreen";
this.itemzoomfittoscreen.Size = new System.Drawing.Size(156, 22);
this.itemzoomfittoscreen.Size = new System.Drawing.Size(167, 22);
this.itemzoomfittoscreen.Text = "Fit to screen";
this.itemzoomfittoscreen.Click += new System.EventHandler(this.itemzoomfittoscreen_Click);
//
@ -1470,5 +1552,12 @@ namespace CodeImp.DoomBuilder.Windows
private System.Windows.Forms.ToolStripMenuItem itemscripteditor;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem11;
private System.Windows.Forms.ToolStripMenuItem itemtestmap;
private System.Windows.Forms.ToolStripMenuItem menuprefabs;
private System.Windows.Forms.ToolStripMenuItem itemcreateprefab;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem12;
private System.Windows.Forms.ToolStripMenuItem iteminsertprefabfile;
private System.Windows.Forms.ToolStripMenuItem iteminsertpreviousprefab;
private System.Windows.Forms.ToolStripButton buttoninsertprefabfile;
private System.Windows.Forms.ToolStripButton buttoninsertpreviousprefab;
}
}

View file

@ -250,6 +250,7 @@ namespace CodeImp.DoomBuilder.Windows
UpdateEditMenu();
UpdateViewMenu();
UpdateModeMenu();
UpdatePrefabsMenu();
UpdateToolsMenu();
UpdateToolbar();
UpdateSkills();
@ -1792,6 +1793,23 @@ namespace CodeImp.DoomBuilder.Windows
#endregion
#region ================== Prefabs Menu
// This sets up the prefabs menu
private void UpdatePrefabsMenu()
{
// Enable/disable items
itemcreateprefab.Enabled = (General.Map != null);
iteminsertprefabfile.Enabled = (General.Map != null);
iteminsertpreviousprefab.Enabled = (General.Map != null) && General.Map.CopyPaste.IsPreviousPrefabAvailable;
// Toolbar icons
buttoninsertprefabfile.Enabled = (General.Map != null);
buttoninsertpreviousprefab.Enabled = (General.Map != null) && General.Map.CopyPaste.IsPreviousPrefabAvailable;
}
#endregion
#region ================== Tools Menu
// This sets up the tools menu

View file

@ -156,6 +156,9 @@
<metadata name="toolStripSeparator2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="toolStripSeparator4.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="menumain.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>