Added Draw Settings side panel, which replaces Set Default Textures Form and allows to set textures, brightness and floor/ceiling heights to use when drawing sectors. Used settings are now saved in the map's .dbs file.

Location and active tab of all Edit Forms are now stored while GZDB is running.
Focus management between editing window and the rest of the interface should work better now.
Tag Explorer plugin: editing window was not updated properly when Edit forms were opened from Tag Explorer.
Tag Explorer plugin, UDMF: comment editing was incorrectly initialized in some cases.
This commit is contained in:
MaxED 2013-11-21 10:53:11 +00:00
parent c441c5640a
commit e8f52aecb9
58 changed files with 3022 additions and 2802 deletions

View file

@ -842,12 +842,6 @@
<Compile Include="Windows\SectorEditFormUDMF.Designer.cs"> <Compile Include="Windows\SectorEditFormUDMF.Designer.cs">
<DependentUpon>SectorEditFormUDMF.cs</DependentUpon> <DependentUpon>SectorEditFormUDMF.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Windows\SetDefaultTexturesForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\SetDefaultTexturesForm.Designer.cs">
<DependentUpon>SetDefaultTexturesForm.cs</DependentUpon>
</Compile>
<Compile Include="Windows\StatusInfo.cs" /> <Compile Include="Windows\StatusInfo.cs" />
<Compile Include="Windows\TanColorTable.cs" /> <Compile Include="Windows\TanColorTable.cs" />
<Compile Include="Windows\ThingBrowserForm.cs"> <Compile Include="Windows\ThingBrowserForm.cs">
@ -1080,9 +1074,6 @@
<EmbeddedResource Include="Windows\SectorEditFormUDMF.resx"> <EmbeddedResource Include="Windows\SectorEditFormUDMF.resx">
<DependentUpon>SectorEditFormUDMF.cs</DependentUpon> <DependentUpon>SectorEditFormUDMF.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Windows\SetDefaultTexturesForm.resx">
<DependentUpon>SetDefaultTexturesForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\TextEditForm.resx"> <EmbeddedResource Include="Windows\TextEditForm.resx">
<SubType>Designer</SubType> <SubType>Designer</SubType>
<DependentUpon>TextEditForm.cs</DependentUpon> <DependentUpon>TextEditForm.cs</DependentUpon>

View file

@ -108,18 +108,11 @@ namespace CodeImp.DoomBuilder.Config
private float gzVertexScale2D; private float gzVertexScale2D;
private bool gzShowVisualVertices; private bool gzShowVisualVertices;
private int gzVisualVertexSize; private int gzVisualVertexSize;
private bool gzForceDefaultTextures;
private string lastUsedConfigName; private string lastUsedConfigName;
private bool gzMarkExtraFloors; private bool gzMarkExtraFloors;
private int maxRecentFiles; private int maxRecentFiles;
// These are not stored in the configuration, only used at runtime // These are not stored in the configuration, only used at runtime
private string defaulttexture;
private int defaultbrightness;
private int defaultfloorheight;
private int defaultceilheight;
private string defaultfloortexture;
private string defaultceiltexture;
private int defaultthingtype = 1; private int defaultthingtype = 1;
private float defaultthingangle; private float defaultthingangle;
private List<string> defaultthingflags; private List<string> defaultthingflags;
@ -194,17 +187,18 @@ namespace CodeImp.DoomBuilder.Config
public float GZVertexScale2D { get { return gzVertexScale2D; } internal set { gzVertexScale2D = value; } } public float GZVertexScale2D { get { return gzVertexScale2D; } internal set { gzVertexScale2D = value; } }
public bool GZShowVisualVertices { get { return gzShowVisualVertices; } internal set { gzShowVisualVertices = value; } } public bool GZShowVisualVertices { get { return gzShowVisualVertices; } internal set { gzShowVisualVertices = value; } }
public int GZVisualVertexSize { get { return gzVisualVertexSize; } internal set { gzVisualVertexSize = value; } } public int GZVisualVertexSize { get { return gzVisualVertexSize; } internal set { gzVisualVertexSize = value; } }
public bool GZForceDefaultTextures { get { return gzForceDefaultTextures; } internal set { gzForceDefaultTextures = value; } }
public string LastUsedConfigName { get { return lastUsedConfigName; } internal set { lastUsedConfigName = value; } } public string LastUsedConfigName { get { return lastUsedConfigName; } internal set { lastUsedConfigName = value; } }
public bool GZMarkExtraFloors { get { return gzMarkExtraFloors; } internal set { gzMarkExtraFloors = value; } } public bool GZMarkExtraFloors { get { return gzMarkExtraFloors; } internal set { gzMarkExtraFloors = value; } }
public int MaxRecentFiles { get { return maxRecentFiles; } internal set { maxRecentFiles = General.Clamp(value, 8, 25); } } public int MaxRecentFiles { get { return maxRecentFiles; } internal set { maxRecentFiles = General.Clamp(value, 8, 25); } }
public string DefaultTexture { get { return defaulttexture; } set { defaulttexture = value; } } //mxd. Left here for compatibility reasons...
public string DefaultFloorTexture { get { return defaultfloortexture; } set { defaultfloortexture = value; } } public string DefaultTexture { get { return General.Map != null ? General.Map.Options.DefaultWallTexture : "-"; } set { if(General.Map != null) General.Map.Options.DefaultWallTexture = value; } }
public string DefaultCeilingTexture { get { return defaultceiltexture; } set { defaultceiltexture = value; } } public string DefaultFloorTexture { get { return General.Map != null ? General.Map.Options.DefaultFloorTexture : "-"; } set { if(General.Map != null) General.Map.Options.DefaultFloorTexture = value; } }
public int DefaultBrightness { get { return defaultbrightness; } set { defaultbrightness = value; } } public string DefaultCeilingTexture { get { return General.Map != null ? General.Map.Options.DefaultCeilingTexture : "-"; } set { if(General.Map != null) General.Map.Options.DefaultCeilingTexture = value; } }
public int DefaultFloorHeight { get { return defaultfloorheight; } set { defaultfloorheight = value; } } public int DefaultBrightness { get { return General.Map != null ? General.Map.Options.DefaultBrightness : 196; } set { if(General.Map != null) General.Map.Options.DefaultBrightness = value; } }
public int DefaultCeilingHeight { get { return defaultceilheight; } set { defaultceilheight = value; } } public int DefaultFloorHeight { get { return General.Map != null ? General.Map.Options.DefaultFloorHeight : 0; } set { if(General.Map != null) General.Map.Options.DefaultFloorHeight = value; } }
public int DefaultCeilingHeight { get { return General.Map != null ? General.Map.Options.DefaultCeilingHeight : 128; } set { if(General.Map != null) General.Map.Options.DefaultCeilingHeight = value; } }
public int DefaultThingType { get { return defaultthingtype; } set { defaultthingtype = value; } } public int DefaultThingType { get { return defaultthingtype; } set { defaultthingtype = value; } }
public float DefaultThingAngle { get { return defaultthingangle; } set { defaultthingangle = value; } } public float DefaultThingAngle { get { return defaultthingangle; } set { defaultthingangle = value; } }
@ -300,11 +294,6 @@ namespace CodeImp.DoomBuilder.Config
gzMarkExtraFloors = cfg.ReadSetting("gzmarkextrafloors", true); gzMarkExtraFloors = cfg.ReadSetting("gzmarkextrafloors", true);
maxRecentFiles = cfg.ReadSetting("maxrecentfiles", 8); maxRecentFiles = cfg.ReadSetting("maxrecentfiles", 8);
//mxd. Sector defaults
defaultceilheight = cfg.ReadSetting("defaultceilheight", 128);
defaultfloorheight = cfg.ReadSetting("defaultfloorheight", 0);
defaultbrightness = cfg.ReadSetting("defaultbrightness", 192);
// Success // Success
return true; return true;
} }
@ -386,11 +375,6 @@ namespace CodeImp.DoomBuilder.Config
cfg.WriteSetting("lastusedconfigname", lastUsedConfigName); cfg.WriteSetting("lastusedconfigname", lastUsedConfigName);
cfg.WriteSetting("maxrecentfiles", maxRecentFiles); cfg.WriteSetting("maxrecentfiles", maxRecentFiles);
//mxd. Sector defaults
cfg.WriteSetting("defaultceilheight", defaultceilheight);
cfg.WriteSetting("defaultfloorheight", defaultfloorheight);
cfg.WriteSetting("defaultbrightness", defaultbrightness);
// Save settings configuration // Save settings configuration
General.WriteLogLine("Saving program configuration..."); General.WriteLogLine("Saving program configuration...");
cfg.SaveConfiguration(filepathname); cfg.SaveConfiguration(filepathname);
@ -552,10 +536,10 @@ namespace CodeImp.DoomBuilder.Config
bool foundone; bool foundone;
// Only possible when a map is loaded // Only possible when a map is loaded
if(General.Map == null) return; if(General.Map == null || General.Map.Options == null) return;
// Default texture missing? // Default texture missing?
if(defaulttexture == null || (!gzForceDefaultTextures && defaulttexture == "-")) //mxd if(!General.Map.Options.OverrideWallTexture || string.IsNullOrEmpty(General.Map.Options.DefaultWallTexture)) //mxd
{ {
// Find default texture from map // Find default texture from map
foundone = false; foundone = false;
@ -563,8 +547,8 @@ namespace CodeImp.DoomBuilder.Config
{ {
if(sd.MiddleTexture != "-") if(sd.MiddleTexture != "-")
{ {
defaulttexture = sd.MiddleTexture; General.Map.Options.DefaultWallTexture = sd.MiddleTexture;
if(General.Map.Data.GetTextureExists(defaulttexture)) if(General.Map.Data.GetTextureExists(General.Map.Options.DefaultWallTexture))
{ {
foundone = true; foundone = true;
break; break;
@ -582,7 +566,7 @@ namespace CodeImp.DoomBuilder.Config
if(s.StartsWith("STARTAN")) if(s.StartsWith("STARTAN"))
{ {
foundone = true; foundone = true;
defaulttexture = s; General.Map.Options.DefaultWallTexture = s;
break; break;
} }
} }
@ -591,13 +575,13 @@ namespace CodeImp.DoomBuilder.Config
if(!foundone) if(!foundone)
{ {
if(General.Map.Data.TextureNames.Count > 1) if(General.Map.Data.TextureNames.Count > 1)
defaulttexture = General.Map.Data.TextureNames[1]; General.Map.Options.DefaultWallTexture = General.Map.Data.TextureNames[1];
} }
} }
} }
// Default floor missing? // Default floor missing?
if(string.IsNullOrEmpty(defaultfloortexture)) if(!General.Map.Options.OverrideFloorTexture || string.IsNullOrEmpty(General.Map.Options.DefaultFloorTexture))
{ {
// Find default texture from map // Find default texture from map
foundone = false; foundone = false;
@ -606,8 +590,8 @@ namespace CodeImp.DoomBuilder.Config
// Find one that is known // Find one that is known
foreach(Sector s in General.Map.Map.Sectors) foreach(Sector s in General.Map.Map.Sectors)
{ {
defaultfloortexture = s.FloorTexture; General.Map.Options.DefaultFloorTexture = s.FloorTexture;
if(General.Map.Data.GetFlatExists(defaultfloortexture)) if(General.Map.Data.GetFlatExists(General.Map.Options.DefaultFloorTexture))
{ {
foundone = true; foundone = true;
break; break;
@ -623,7 +607,7 @@ namespace CodeImp.DoomBuilder.Config
if(s.StartsWith("FLOOR")) if(s.StartsWith("FLOOR"))
{ {
foundone = true; foundone = true;
defaultfloortexture = s; General.Map.Options.DefaultFloorTexture = s;
break; break;
} }
} }
@ -633,12 +617,12 @@ namespace CodeImp.DoomBuilder.Config
if(!foundone) if(!foundone)
{ {
if(General.Map.Data.FlatNames.Count > 1) if(General.Map.Data.FlatNames.Count > 1)
defaultfloortexture = General.Map.Data.FlatNames[1]; General.Map.Options.DefaultFloorTexture = General.Map.Data.FlatNames[1];
} }
} }
// Default ceiling missing? // Default ceiling missing?
if(string.IsNullOrEmpty(defaultceiltexture)) if(!General.Map.Options.OverrideCeilingTexture || string.IsNullOrEmpty(General.Map.Options.DefaultCeilingTexture))
{ {
// Find default texture from map // Find default texture from map
foundone = false; foundone = false;
@ -647,8 +631,8 @@ namespace CodeImp.DoomBuilder.Config
// Find one that is known // Find one that is known
foreach(Sector s in General.Map.Map.Sectors) foreach(Sector s in General.Map.Map.Sectors)
{ {
defaultceiltexture = s.CeilTexture; General.Map.Options.DefaultCeilingTexture = s.CeilTexture;
if(General.Map.Data.GetFlatExists(defaultceiltexture)) if(General.Map.Data.GetFlatExists(General.Map.Options.DefaultCeilingTexture))
{ {
foundone = true; foundone = true;
break; break;
@ -664,7 +648,7 @@ namespace CodeImp.DoomBuilder.Config
if(s.StartsWith("CEIL")) if(s.StartsWith("CEIL"))
{ {
foundone = true; foundone = true;
defaultceiltexture = s; General.Map.Options.DefaultCeilingTexture = s;
break; break;
} }
} }
@ -674,14 +658,14 @@ namespace CodeImp.DoomBuilder.Config
if(!foundone) if(!foundone)
{ {
if(General.Map.Data.FlatNames.Count > 1) if(General.Map.Data.FlatNames.Count > 1)
defaultceiltexture = General.Map.Data.FlatNames[1]; General.Map.Options.DefaultCeilingTexture = General.Map.Data.FlatNames[1];
} }
} }
// Texture names may not be null // Texture names may not be null
if(string.IsNullOrEmpty(defaulttexture)) defaulttexture = "-"; if(string.IsNullOrEmpty(General.Map.Options.DefaultWallTexture)) General.Map.Options.DefaultWallTexture = "-";
if(string.IsNullOrEmpty(defaultfloortexture)) defaultfloortexture = "-"; if(string.IsNullOrEmpty(General.Map.Options.DefaultFloorTexture)) General.Map.Options.DefaultFloorTexture = "-";
if(string.IsNullOrEmpty(defaultceiltexture)) defaultceiltexture = "-"; if(string.IsNullOrEmpty(General.Map.Options.DefaultCeilingTexture)) General.Map.Options.DefaultCeilingTexture = "-";
} }
#endregion #endregion

View file

@ -38,6 +38,8 @@ namespace CodeImp.DoomBuilder.Controls
// This finds the image we need for the given flat name // This finds the image we need for the given flat name
protected override Image FindImage(string imagename) protected override Image FindImage(string imagename)
{ {
timer.Stop(); //mxd
// Check if name is a "none" texture // Check if name is a "none" texture
if((imagename.Length < 1) || (imagename == "-")) if((imagename.Length < 1) || (imagename == "-"))
{ {
@ -52,6 +54,7 @@ namespace CodeImp.DoomBuilder.Controls
if(string.IsNullOrEmpty(texture.FullName) || texture is UnknownImage) DisplayImageSize(0, 0); //mxd if(string.IsNullOrEmpty(texture.FullName) || texture is UnknownImage) DisplayImageSize(0, 0); //mxd
else DisplayImageSize(texture.ScaledWidth, texture.ScaledHeight); //mxd else DisplayImageSize(texture.ScaledWidth, texture.ScaledHeight); //mxd
if(!texture.IsPreviewLoaded) timer.Start(); //mxd
// Set the image // Set the image
return texture.GetPreview(); return texture.GetPreview();
@ -64,7 +67,6 @@ namespace CodeImp.DoomBuilder.Controls
string result; string result;
// Browse for texture // Browse for texture
//result = FlatBrowserForm.Browse(this.ParentForm, imagename);
result = TextureBrowserForm.Browse(this.ParentForm, imagename, true); //mxd result = TextureBrowserForm.Browse(this.ParentForm, imagename, true); //mxd
if(result != null) return result; else return imagename; if(result != null) return result; else return imagename;
} }

View file

@ -29,9 +29,11 @@ namespace CodeImp.DoomBuilder.Controls
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
this.components = new System.ComponentModel.Container();
this.preview = new System.Windows.Forms.Panel(); this.preview = new System.Windows.Forms.Panel();
this.labelSize = new System.Windows.Forms.Label(); this.labelSize = new System.Windows.Forms.Label();
this.name = new CodeImp.DoomBuilder.Controls.AutoSelectTextbox(); this.name = new CodeImp.DoomBuilder.Controls.AutoSelectTextbox();
this.timer = new System.Windows.Forms.Timer(this.components);
this.preview.SuspendLayout(); this.preview.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
@ -78,6 +80,11 @@ namespace CodeImp.DoomBuilder.Controls
this.name.TabIndex = 2; this.name.TabIndex = 2;
this.name.TextChanged += new System.EventHandler(this.name_TextChanged); this.name.TextChanged += new System.EventHandler(this.name_TextChanged);
// //
// timer
//
this.timer.Interval = 1000;
this.timer.Tick += new System.EventHandler(this.timer_Tick);
//
// ImageSelectorControl // ImageSelectorControl
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -100,6 +107,7 @@ namespace CodeImp.DoomBuilder.Controls
protected System.Windows.Forms.Panel preview; protected System.Windows.Forms.Panel preview;
protected CodeImp.DoomBuilder.Controls.AutoSelectTextbox name; protected CodeImp.DoomBuilder.Controls.AutoSelectTextbox name;
private System.Windows.Forms.Label labelSize; private System.Windows.Forms.Label labelSize;
protected System.Windows.Forms.Timer timer;
} }
} }

View file

@ -152,6 +152,11 @@ namespace CodeImp.DoomBuilder.Controls
} }
} }
//mxd
private void timer_Tick(object sender, EventArgs e) {
Refresh();
}
#endregion #endregion
#region ================== Methods #region ================== Methods
@ -190,7 +195,7 @@ namespace CodeImp.DoomBuilder.Controls
//mxd //mxd
protected void DisplayImageSize(float width, float height) { protected void DisplayImageSize(float width, float height) {
if(!General.Settings.ShowTextureSizes || width == 0 || height == 0) { if(!General.Settings.ShowTextureSizes || !this.Enabled || width == 0 || height == 0) {
labelSize.Visible = false; labelSize.Visible = false;
return; return;
} }

View file

@ -1,129 +1,132 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="preview.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="preview.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="name.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="name.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata>
<metadata name="timer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata> </metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
</root> </root>

View file

@ -45,6 +45,8 @@ namespace CodeImp.DoomBuilder.Controls
// Initialize // Initialize
this.SetStyle(ControlStyles.FixedWidth, true); this.SetStyle(ControlStyles.FixedWidth, true);
this.SetStyle(ControlStyles.FixedHeight, true); this.SetStyle(ControlStyles.FixedHeight, true);
this.MouseEnter += new System.EventHandler(RenderTargetControl_MouseEnter); //mxd
} }
// Disposer // Disposer
@ -71,6 +73,11 @@ namespace CodeImp.DoomBuilder.Controls
if(OnKeyReleased != null) OnKeyReleased(this, e); if(OnKeyReleased != null) OnKeyReleased(this, e);
} }
//mxd
private void RenderTargetControl_MouseEnter(object sender, System.EventArgs e) {
this.Focus();
}
#endregion #endregion
#region ================== Methods #region ================== Methods

View file

@ -44,6 +44,8 @@ namespace CodeImp.DoomBuilder.Controls
// This finds the image we need for the given texture name // This finds the image we need for the given texture name
protected override Image FindImage(string imagename) protected override Image FindImage(string imagename)
{ {
timer.Stop(); //mxd
// Check if name is a "none" texture // Check if name is a "none" texture
if((imagename.Length < 1) || (imagename == "-")) if((imagename.Length < 1) || (imagename == "-"))
{ {
@ -61,6 +63,7 @@ namespace CodeImp.DoomBuilder.Controls
if(string.IsNullOrEmpty(texture.FullName) || texture is UnknownImage) DisplayImageSize(0, 0); //mxd if(string.IsNullOrEmpty(texture.FullName) || texture is UnknownImage) DisplayImageSize(0, 0); //mxd
else DisplayImageSize(texture.ScaledWidth, texture.ScaledHeight); //mxd else DisplayImageSize(texture.ScaledWidth, texture.ScaledHeight); //mxd
if(!texture.IsPreviewLoaded) timer.Start(); //mxd
// Set the image // Set the image
return texture.GetPreview(); return texture.GetPreview();

View file

@ -209,6 +209,7 @@ namespace CodeImp.DoomBuilder.Controls
this.typelist.UseMultiSelection = false; this.typelist.UseMultiSelection = false;
this.typelist.DoubleClick += new System.EventHandler(this.typelist_DoubleClick); this.typelist.DoubleClick += new System.EventHandler(this.typelist_DoubleClick);
this.typelist.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.typelist_AfterSelect); this.typelist.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.typelist_AfterSelect);
this.typelist.MouseEnter += new System.EventHandler(this.typelist_MouseEnter);
// //
// ThingBrowserControl // ThingBrowserControl
// //

View file

@ -289,6 +289,11 @@ namespace CodeImp.DoomBuilder.Controls
sizelabel.Left = sizecaption.Right + sizecaption.Margin.Right; sizelabel.Left = sizecaption.Right + sizecaption.Margin.Right;
} }
//mxd
private void typelist_MouseEnter(object sender, EventArgs e) {
typelist.Focus();
}
//mxd //mxd
private void bClear_Click(object sender, EventArgs e) { private void bClear_Click(object sender, EventArgs e) {
tbFilter.Clear(); tbFilter.Clear();

File diff suppressed because it is too large Load diff

View file

@ -126,13 +126,5 @@ namespace CodeImp.DoomBuilder.GZBuilder
if (General.Map != null) if (General.Map != null)
General.Map.Data.ReloadMapInfo(); General.Map.Data.ReloadMapInfo();
} }
[BeginAction("setcurrenttextures")]
private static void setCurrentTextures() {
if(General.Map != null) {
SetCurrentTexturesForm form = new SetCurrentTexturesForm();
form.ShowDialog(Form.ActiveForm);
}
}
} }
} }

View file

@ -979,7 +979,6 @@ namespace CodeImp.DoomBuilder
// Cancel volatile mode, if any // Cancel volatile mode, if any
General.Editing.DisengageVolatileMode(); General.Editing.DisengageVolatileMode();
General.Settings.GZForceDefaultTextures = false;//mxd
// Ask the user to save changes (if any) // Ask the user to save changes (if any)
if(General.AskSaveMap()) if(General.AskSaveMap())
@ -1021,11 +1020,12 @@ namespace CodeImp.DoomBuilder
mainwindow.ShowSplashDisplay(); mainwindow.ShowSplashDisplay();
} }
settings.FindDefaultDrawSettings(); //mxd
// Let the plugins know // Let the plugins know
plugins.OnMapNewEnd(); plugins.OnMapNewEnd();
// All done // All done
settings.FindDefaultDrawSettings();
mainwindow.SetupInterface(); mainwindow.SetupInterface();
mainwindow.RedrawDisplay(); mainwindow.RedrawDisplay();
mainwindow.UpdateThingsFilters(); mainwindow.UpdateThingsFilters();
@ -1056,8 +1056,6 @@ namespace CodeImp.DoomBuilder
// Cancel volatile mode, if any // Cancel volatile mode, if any
General.Editing.DisengageVolatileMode(); General.Editing.DisengageVolatileMode();
General.Settings.GZForceDefaultTextures = false;//mxd
// Ask the user to save changes (if any) // Ask the user to save changes (if any)
if(General.AskSaveMap()) if(General.AskSaveMap())
{ {
@ -1124,7 +1122,6 @@ namespace CodeImp.DoomBuilder
//mxd //mxd
mainwindow.UpdateGZDoomPanel(); mainwindow.UpdateGZDoomPanel();
General.Settings.GZForceDefaultTextures = false;
} }
openfile.Dispose(); openfile.Dispose();
@ -1166,11 +1163,12 @@ namespace CodeImp.DoomBuilder
if(!map.InitializeSwitchMap(changemapwindow.Options)) return; if(!map.InitializeSwitchMap(changemapwindow.Options)) return;
settings.FindDefaultDrawSettings(); //mxd
// Let the plugins know // Let the plugins know
plugins.OnMapOpenEnd(); plugins.OnMapOpenEnd();
// All done // All done
settings.FindDefaultDrawSettings();
mainwindow.SetupInterface(); mainwindow.SetupInterface();
mainwindow.RedrawDisplay(); mainwindow.RedrawDisplay();
mainwindow.UpdateThingsFilters(); mainwindow.UpdateThingsFilters();
@ -1179,7 +1177,6 @@ namespace CodeImp.DoomBuilder
//mxd //mxd
mainwindow.UpdateGZDoomPanel(); mainwindow.UpdateGZDoomPanel();
Settings.GZForceDefaultTextures = false;
if (errorlogger.IsErrorAdded) if (errorlogger.IsErrorAdded)
{ {
@ -1255,11 +1252,12 @@ namespace CodeImp.DoomBuilder
mainwindow.ShowSplashDisplay(); mainwindow.ShowSplashDisplay();
} }
settings.FindDefaultDrawSettings(); //mxd
// Let the plugins know // Let the plugins know
plugins.OnMapOpenEnd(); plugins.OnMapOpenEnd();
// All done // All done
settings.FindDefaultDrawSettings();
mainwindow.SetupInterface(); mainwindow.SetupInterface();
mainwindow.RedrawDisplay(); mainwindow.RedrawDisplay();
mainwindow.UpdateThingsFilters(); mainwindow.UpdateThingsFilters();

View file

@ -427,7 +427,7 @@ namespace CodeImp.DoomBuilder.Geometry
// properties from the nearest line in this collection when the // properties from the nearest line in this collection when the
// default properties can't be found in the alllines collection. // default properties can't be found in the alllines collection.
// Return null when no new sector could be made. // Return null when no new sector could be made.
public static Sector MakeSector(List<LinedefSide> alllines, List<Linedef> nearbylines, bool useDefaultTextures) public static Sector MakeSector(List<LinedefSide> alllines, List<Linedef> nearbylines, bool useOverrides)
{ {
Sector sourcesector = null; Sector sourcesector = null;
SidedefSettings sourceside = new SidedefSettings(); SidedefSettings sourceside = new SidedefSettings();
@ -519,7 +519,7 @@ namespace CodeImp.DoomBuilder.Geometry
} }
// Use defaults where no settings could be found // Use defaults where no settings could be found
TakeSidedefDefaults(ref sourceside, useDefaultTextures); TakeSidedefDefaults(ref sourceside, useOverrides);
// Found a source sector? // Found a source sector?
if(sourcesector != null) if(sourcesector != null)
@ -527,10 +527,13 @@ namespace CodeImp.DoomBuilder.Geometry
// Copy properties from source to new sector // Copy properties from source to new sector
sourcesector.CopyPropertiesTo(newsector); sourcesector.CopyPropertiesTo(newsector);
//mxd //mxd. Apply overrides
if(useDefaultTextures) { if(useOverrides) {
newsector.SetCeilTexture(General.Settings.DefaultCeilingTexture); if (General.Map.Options.OverrideCeilingTexture) newsector.SetCeilTexture(General.Map.Options.DefaultCeilingTexture);
newsector.SetFloorTexture(General.Settings.DefaultFloorTexture); if (General.Map.Options.OverrideFloorTexture) newsector.SetFloorTexture(General.Map.Options.DefaultFloorTexture);
if (General.Map.Options.OverrideCeilingHeight) newsector.CeilHeight = General.Map.Options.DefaultCeilingHeight;
if (General.Map.Options.OverrideFloorHeight) newsector.FloorHeight = General.Map.Options.DefaultFloorHeight;
if (General.Map.Options.OverrideBrightness) newsector.Brightness = General.Map.Options.DefaultBrightness;
} }
} }
else else
@ -579,7 +582,7 @@ namespace CodeImp.DoomBuilder.Geometry
// This joins a sector with the given lines and sides. Returns null when operation could not be completed. // This joins a sector with the given lines and sides. Returns null when operation could not be completed.
public static Sector JoinSector(List<LinedefSide> alllines, Sidedef original, bool useDefaultTextures) public static Sector JoinSector(List<LinedefSide> alllines, Sidedef original, bool useOverrides)
{ {
SidedefSettings sourceside = new SidedefSettings(); SidedefSettings sourceside = new SidedefSettings();
@ -587,7 +590,7 @@ namespace CodeImp.DoomBuilder.Geometry
TakeSidedefSettings(ref sourceside, original); TakeSidedefSettings(ref sourceside, original);
// Use defaults where no settings could be found // Use defaults where no settings could be found
TakeSidedefDefaults(ref sourceside, useDefaultTextures); TakeSidedefDefaults(ref sourceside, useOverrides);
// Go for all sides to make sidedefs // Go for all sides to make sidedefs
foreach(LinedefSide ls in alllines) foreach(LinedefSide ls in alllines)
@ -679,12 +682,15 @@ namespace CodeImp.DoomBuilder.Geometry
} }
// This takes default settings if not taken yet // This takes default settings if not taken yet
private static void TakeSidedefDefaults(ref SidedefSettings settings, bool useDefaultTextures) private static void TakeSidedefDefaults(ref SidedefSettings settings, bool useOverrides)
{ {
// Use defaults where no settings could be found // Use defaults where no settings could be found
if(settings.newtexhigh == null || useDefaultTextures) settings.newtexhigh = General.Settings.DefaultTexture; if(settings.newtexhigh == null || (useOverrides && General.Map.Options.OverrideWallTexture))
if(settings.newtexmid == null || useDefaultTextures) settings.newtexmid = General.Settings.DefaultTexture; settings.newtexhigh = General.Map.Options.DefaultWallTexture;
if(settings.newtexlow == null || useDefaultTextures) settings.newtexlow = General.Settings.DefaultTexture; if(settings.newtexmid == null || (useOverrides && General.Map.Options.OverrideWallTexture))
settings.newtexmid = General.Map.Options.DefaultWallTexture;
if(settings.newtexlow == null || (useOverrides && General.Map.Options.OverrideWallTexture))
settings.newtexlow = General.Map.Options.DefaultWallTexture;
} }
// This takes sidedef settings if not taken yet // This takes sidedef settings if not taken yet
@ -709,11 +715,11 @@ namespace CodeImp.DoomBuilder.Geometry
// This applies defaults to a sector // This applies defaults to a sector
private static void ApplyDefaultsToSector(Sector s) private static void ApplyDefaultsToSector(Sector s)
{ {
s.SetFloorTexture(General.Settings.DefaultFloorTexture); s.SetFloorTexture(General.Map.Options.DefaultFloorTexture);
s.SetCeilTexture(General.Settings.DefaultCeilingTexture); s.SetCeilTexture(General.Map.Options.DefaultCeilingTexture);
s.FloorHeight = General.Settings.DefaultFloorHeight; s.FloorHeight = General.Map.Options.DefaultFloorHeight;
s.CeilHeight = General.Settings.DefaultCeilingHeight; s.CeilHeight = General.Map.Options.DefaultCeilingHeight;
s.Brightness = General.Settings.DefaultBrightness; s.Brightness = General.Map.Options.DefaultBrightness;
} }
#endregion #endregion
@ -857,7 +863,7 @@ namespace CodeImp.DoomBuilder.Geometry
/// marks and marks the new lines and vertices when done. Also marks the sectors that were added. /// marks and marks the new lines and vertices when done. Also marks the sectors that were added.
/// Returns false when the drawing failed. /// Returns false when the drawing failed.
/// </summary> /// </summary>
public static bool DrawLines(IList<DrawnVertex> points, bool useDefaultTextures, bool autoAlignTextureOffsets) public static bool DrawLines(IList<DrawnVertex> points, bool useOverrides, bool autoAlignTextureOffsets)
{ {
List<Vertex> newverts = new List<Vertex>(); List<Vertex> newverts = new List<Vertex>();
List<Vertex> intersectverts = new List<Vertex>(); List<Vertex> intersectverts = new List<Vertex>();
@ -1323,7 +1329,7 @@ namespace CodeImp.DoomBuilder.Geometry
if(!istruenewsector || !splittingonly) if(!istruenewsector || !splittingonly)
{ {
// Make the new sector // Make the new sector
Sector newsector = Tools.MakeSector(sectorlines, oldlines, useDefaultTextures); Sector newsector = Tools.MakeSector(sectorlines, oldlines, useOverrides);
if(newsector == null) return false; if(newsector == null) return false;
if(istruenewsector) newsector.Marked = true; if(istruenewsector) newsector.Marked = true;
@ -1398,7 +1404,7 @@ namespace CodeImp.DoomBuilder.Geometry
} }
// Have our new lines join the existing sector // Have our new lines join the existing sector
if(Tools.JoinSector(newsectorlines, joinsidedef, useDefaultTextures) == null) if(Tools.JoinSector(newsectorlines, joinsidedef, useOverrides) == null)
return false; return false;
} }
} }

View file

@ -57,6 +57,22 @@ namespace CodeImp.DoomBuilder.Map
// Script files opened // Script files opened
private List<string> scriptfiles; private List<string> scriptfiles;
//mxd. Sector drawing options
private string defaultfloortexture;
private string defaultceiltexture;
private string defaultwalltexture;
private int defaultbrightness;
private int defaultfloorheight;
private int defaultceilheight;
//mxd. Sector drawing overrides
private bool overridefloortexture;
private bool overrideceiltexture;
private bool overridewalltexture;
private bool overridefloorheight;
private bool overrideceilheight;
private bool overridebrightness;
#endregion #endregion
#region ================== Properties #region ================== Properties
@ -85,6 +101,22 @@ namespace CodeImp.DoomBuilder.Map
public Dictionary<int, string> TagLabels { get { return tagLabels; } internal set { tagLabels = value; } } //mxd public Dictionary<int, string> TagLabels { get { return tagLabels; } internal set { tagLabels = value; } } //mxd
private Dictionary<int, string> tagLabels; private Dictionary<int, string> tagLabels;
//mxd. Sector drawing options
public string DefaultWallTexture { get { return defaultwalltexture; } set { defaultwalltexture = value; } }
public string DefaultFloorTexture { get { return defaultfloortexture; } set { defaultfloortexture = value; } }
public string DefaultCeilingTexture { get { return defaultceiltexture; } set { defaultceiltexture = value; } }
public int DefaultBrightness { get { return defaultbrightness; } set { defaultbrightness = value; } }
public int DefaultFloorHeight { get { return defaultfloorheight; } set { defaultfloorheight = value; } }
public int DefaultCeilingHeight { get { return defaultceilheight; } set { defaultceilheight = value; } }
//mxd. Sector drawing overrides
public bool OverrideFloorTexture { get { return overridefloortexture; } set { overridefloortexture = value; } }
public bool OverrideCeilingTexture { get { return overrideceiltexture; } set { overrideceiltexture = value; } }
public bool OverrideWallTexture { get { return overridewalltexture; } set { overridewalltexture = value; } }
public bool OverrideFloorHeight { get { return overridefloorheight; } set { overridefloorheight = value; } }
public bool OverrideCeilingHeight { get { return overrideceilheight; } set { overrideceilheight = value; } }
public bool OverrideBrightness { get { return overridebrightness; } set { overridebrightness = value; } }
#endregion #endregion
#region ================== Constructor / Disposer #region ================== Constructor / Disposer
@ -101,6 +133,10 @@ namespace CodeImp.DoomBuilder.Map
this.mapconfig = new Configuration(true); this.mapconfig = new Configuration(true);
this.scriptfiles = new List<string>(); this.scriptfiles = new List<string>();
this.tagLabels = new Dictionary<int, string>(); //mxd this.tagLabels = new Dictionary<int, string>(); //mxd
//mxd. Sector drawing options
this.defaultbrightness = 196;
this.defaultceilheight = 128;
} }
// Constructor to load from Doom Builder Map Settings Configuration // Constructor to load from Doom Builder Map Settings Configuration
@ -121,7 +157,7 @@ namespace CodeImp.DoomBuilder.Map
// Read map configuration // Read map configuration
this.mapconfig.Root = cfg.ReadSetting("maps." + mapname, new Hashtable()); this.mapconfig.Root = cfg.ReadSetting("maps." + mapname, new Hashtable());
//mxd. Tag Labels //mxd. Read Tag Labels
this.tagLabels = new Dictionary<int, string>(); this.tagLabels = new Dictionary<int, string>();
ListDictionary tagLabelsData = (ListDictionary)this.mapconfig.ReadSetting("taglabels", new ListDictionary()); ListDictionary tagLabelsData = (ListDictionary)this.mapconfig.ReadSetting("taglabels", new ListDictionary());
@ -138,6 +174,22 @@ namespace CodeImp.DoomBuilder.Map
tagLabels.Add(tag, label); tagLabels.Add(tag, label);
} }
//mxd. Read Sector drawing options
defaultfloortexture = this.mapconfig.ReadSetting("defaultfloortexture", string.Empty);
defaultceiltexture = this.mapconfig.ReadSetting("defaultceiltexture", string.Empty);
defaultwalltexture = this.mapconfig.ReadSetting("defaultwalltexture", string.Empty);
defaultbrightness = General.Clamp(this.mapconfig.ReadSetting("defaultbrightness", 196), 0, 255);
defaultfloorheight = this.mapconfig.ReadSetting("defaultfloorheight", 0);
defaultceilheight = this.mapconfig.ReadSetting("defaultceilheight", 128);
//mxd. Read Sector drawing overrides
overridefloortexture = this.mapconfig.ReadSetting("overridefloortexture", false);
overrideceiltexture = this.mapconfig.ReadSetting("overrideceiltexture", false);
overridewalltexture = this.mapconfig.ReadSetting("overridewalltexture", false);
overridefloorheight = this.mapconfig.ReadSetting("overridefloorheight", false);
overrideceilheight = this.mapconfig.ReadSetting("overrideceilheight", false);
overridebrightness = this.mapconfig.ReadSetting("overridebrightness", false);
// Resources // Resources
IDictionary reslist = this.mapconfig.ReadSetting("resources", new Hashtable()); IDictionary reslist = this.mapconfig.ReadSetting("resources", new Hashtable());
foreach(DictionaryEntry mp in reslist) foreach(DictionaryEntry mp in reslist)
@ -234,6 +286,22 @@ namespace CodeImp.DoomBuilder.Map
mapconfig.WriteSetting("taglabels", tagLabelsData); mapconfig.WriteSetting("taglabels", tagLabelsData);
} }
//mxd. Write Sector drawing options
mapconfig.WriteSetting("defaultfloortexture", defaultfloortexture);
mapconfig.WriteSetting("defaultceiltexture", defaultceiltexture);
mapconfig.WriteSetting("defaultwalltexture", defaultwalltexture);
mapconfig.WriteSetting("defaultbrightness", defaultbrightness);
mapconfig.WriteSetting("defaultfloorheight", defaultfloorheight);
mapconfig.WriteSetting("defaultceilheight", defaultceilheight);
//mxd. Write Sector drawing overrides
mapconfig.WriteSetting("overridefloortexture", overridefloortexture);
mapconfig.WriteSetting("overrideceiltexture", overrideceiltexture);
mapconfig.WriteSetting("overridewalltexture", overridewalltexture);
mapconfig.WriteSetting("overridefloorheight", overridefloorheight);
mapconfig.WriteSetting("overrideceilheight", overrideceilheight);
mapconfig.WriteSetting("overridebrightness", overridebrightness);
// Write grid settings // Write grid settings
General.Map.Grid.WriteToConfig(mapconfig, "grid"); General.Map.Grid.WriteToConfig(mapconfig, "grid");

View file

@ -1189,14 +1189,3 @@ placethingatcursor
allowscroll = false; allowscroll = false;
default = 131076; default = 131076;
} }
setcurrenttextures
{
title = "Set Current Textures";
category = "edit";
description = "Opens the window, which lets user to change textures, which will be used in next drawing operations.";
allowkeys = true;
allowmouse = false;
allowscroll = false;
//default = 131076;
}

View file

@ -643,8 +643,8 @@ namespace CodeImp.DoomBuilder.Windows
this.cbRenderStyle.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.cbRenderStyle.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.cbRenderStyle.FormattingEnabled = true; this.cbRenderStyle.FormattingEnabled = true;
this.cbRenderStyle.Items.AddRange(new object[] { this.cbRenderStyle.Items.AddRange(new object[] {
"Translucent", "Translucent",
"Additive"}); "Additive"});
this.cbRenderStyle.Location = new System.Drawing.Point(92, 26); this.cbRenderStyle.Location = new System.Drawing.Point(92, 26);
this.cbRenderStyle.Name = "cbRenderStyle"; this.cbRenderStyle.Name = "cbRenderStyle";
this.cbRenderStyle.Size = new System.Drawing.Size(86, 22); this.cbRenderStyle.Size = new System.Drawing.Size(86, 22);
@ -1360,6 +1360,7 @@ namespace CodeImp.DoomBuilder.Windows
this.ShowInTaskbar = false; this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Edit Linedef"; this.Text = "Edit Linedef";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.LinedefEditForm_FormClosing);
this.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.LinedefEditForm_HelpRequested); this.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.LinedefEditForm_HelpRequested);
this.actiongroup.ResumeLayout(false); this.actiongroup.ResumeLayout(false);
this.actiongroup.PerformLayout(); this.actiongroup.PerformLayout();

View file

@ -53,7 +53,7 @@ namespace CodeImp.DoomBuilder.Windows
private string arg0str; //mxd private string arg0str; //mxd
private bool haveArg0Str; //mxd private bool haveArg0Str; //mxd
//Value linking //mxd. Persistent settings
private static bool linkFrontTopScale; private static bool linkFrontTopScale;
private static bool linkFrontMidScale; private static bool linkFrontMidScale;
private static bool linkFrontBottomScale; private static bool linkFrontBottomScale;
@ -64,6 +64,12 @@ namespace CodeImp.DoomBuilder.Windows
private List<PairedFieldsControl> frontUdmfControls; //mxd private List<PairedFieldsControl> frontUdmfControls; //mxd
private List<PairedFieldsControl> backUdmfControls; //mxd private List<PairedFieldsControl> backUdmfControls; //mxd
//mxd. Window setup stuff
private static Point location = Point.Empty;
private static int activeTab;
private static int activeFrontTab;
private static int activeBackTab;
private struct LinedefProperties //mxd private struct LinedefProperties //mxd
{ {
public Dictionary<string, bool> Flags; public Dictionary<string, bool> Flags;
@ -150,6 +156,19 @@ namespace CodeImp.DoomBuilder.Windows
// Initialize // Initialize
InitializeComponent(); InitializeComponent();
//mxd. Widow setup
if(location != Point.Empty) {
this.StartPosition = FormStartPosition.Manual;
this.Location = location;
if (activeTab > 0 && activeTab < tabs.TabCount) {
tabs.SelectTab(activeTab);
} else {
activeTab = 0;
}
if(activeFrontTab > 0) udmfPropertiesFront.SelectTab(activeFrontTab);
if(activeBackTab > 0) udmfPropertiesBack.SelectTab(activeBackTab);
}
// Fill flags lists // Fill flags lists
foreach(KeyValuePair<string, string> lf in General.Map.Config.LinedefFlags) foreach(KeyValuePair<string, string> lf in General.Map.Config.LinedefFlags)
flags.Add(lf.Value, lf.Key); flags.Add(lf.Value, lf.Key);
@ -885,6 +904,14 @@ namespace CodeImp.DoomBuilder.Windows
fieldslist.Focus(); fieldslist.Focus();
} }
//mxd. Store window location
private void LinedefEditForm_FormClosing(object sender, FormClosingEventArgs e) {
location = this.Location;
activeTab = tabs.SelectedIndex;
activeFrontTab = udmfPropertiesFront.SelectedIndex;
activeBackTab = udmfPropertiesBack.SelectedIndex;
}
// Help! // Help!
private void LinedefEditForm_HelpRequested(object sender, HelpEventArgs hlpevent) private void LinedefEditForm_HelpRequested(object sender, HelpEventArgs hlpevent)
{ {

View file

@ -1,240 +1,240 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="label2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label4.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label4.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label5.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label5.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label8.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label8.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label8.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label8.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label9.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label9.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label9.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label9.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label10.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label10.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label10.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label10.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label11.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label11.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label12.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label12.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="activationlabel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="activationlabel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="activationlabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="activationlabel.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label7.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label7.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label14.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label14.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="cancel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="cancel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="apply.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="apply.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="argspanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="argspanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="hexenpanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="hexenpanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="activation.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="activation.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="udmfpanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="udmfpanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="flags.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="flags.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="tabproperties.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="tabproperties.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="frontside.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="frontside.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="frontlow.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="frontlow.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="frontmid.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="frontmid.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="fronthigh.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="fronthigh.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="backside.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="backside.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="backlow.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="backlow.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="backmid.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="backmid.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="backhigh.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="backhigh.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="heightpanel1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="heightpanel1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="heightpanel2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="heightpanel2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
</root> </root>

View file

@ -109,8 +109,6 @@ namespace CodeImp.DoomBuilder.Windows
this.clearGroup8 = new System.Windows.Forms.ToolStripMenuItem(); this.clearGroup8 = new System.Windows.Forms.ToolStripMenuItem();
this.clearGroup9 = new System.Windows.Forms.ToolStripMenuItem(); this.clearGroup9 = new System.Windows.Forms.ToolStripMenuItem();
this.clearGroup10 = new System.Windows.Forms.ToolStripMenuItem(); this.clearGroup10 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator4 = new System.Windows.Forms.ToolStripSeparator();
this.itemSetCurrentTextures = new System.Windows.Forms.ToolStripMenuItem();
this.itemmapoptions = new System.Windows.Forms.ToolStripMenuItem(); this.itemmapoptions = new System.Windows.Forms.ToolStripMenuItem();
this.itemviewusedtags = new System.Windows.Forms.ToolStripMenuItem(); this.itemviewusedtags = new System.Windows.Forms.ToolStripMenuItem();
this.menuview = new System.Windows.Forms.ToolStripMenuItem(); this.menuview = new System.Windows.Forms.ToolStripMenuItem();
@ -217,9 +215,11 @@ namespace CodeImp.DoomBuilder.Windows
this.itemgrid16 = new System.Windows.Forms.ToolStripMenuItem(); this.itemgrid16 = new System.Windows.Forms.ToolStripMenuItem();
this.itemgrid8 = new System.Windows.Forms.ToolStripMenuItem(); this.itemgrid8 = new System.Windows.Forms.ToolStripMenuItem();
this.itemgrid4 = new System.Windows.Forms.ToolStripMenuItem(); this.itemgrid4 = new System.Windows.Forms.ToolStripMenuItem();
this.itemgrid1 = new System.Windows.Forms.ToolStripMenuItem();
this.itemgridcustom = new System.Windows.Forms.ToolStripMenuItem(); this.itemgridcustom = new System.Windows.Forms.ToolStripMenuItem();
this.zoomlabel = new System.Windows.Forms.ToolStripStatusLabel(); this.zoomlabel = new System.Windows.Forms.ToolStripStatusLabel();
this.buttonzoom = new System.Windows.Forms.ToolStripDropDownButton(); this.buttonzoom = new System.Windows.Forms.ToolStripDropDownButton();
this.itemzoom400 = new System.Windows.Forms.ToolStripMenuItem();
this.itemzoom200 = new System.Windows.Forms.ToolStripMenuItem(); this.itemzoom200 = new System.Windows.Forms.ToolStripMenuItem();
this.itemzoom100 = new System.Windows.Forms.ToolStripMenuItem(); this.itemzoom100 = new System.Windows.Forms.ToolStripMenuItem();
this.itemzoom50 = new System.Windows.Forms.ToolStripMenuItem(); this.itemzoom50 = new System.Windows.Forms.ToolStripMenuItem();
@ -240,15 +240,13 @@ namespace CodeImp.DoomBuilder.Windows
this.thinginfo = new CodeImp.DoomBuilder.Controls.ThingInfoPanel(); this.thinginfo = new CodeImp.DoomBuilder.Controls.ThingInfoPanel();
this.sectorinfo = new CodeImp.DoomBuilder.Controls.SectorInfoPanel(); this.sectorinfo = new CodeImp.DoomBuilder.Controls.SectorInfoPanel();
this.redrawtimer = new System.Windows.Forms.Timer(this.components); this.redrawtimer = new System.Windows.Forms.Timer(this.components);
this.display = new CodeImp.DoomBuilder.Controls.RenderTargetControl(); this.display = new RenderTargetControl();
this.processor = new System.Windows.Forms.Timer(this.components); this.processor = new System.Windows.Forms.Timer(this.components);
this.statusflasher = new System.Windows.Forms.Timer(this.components); this.statusflasher = new System.Windows.Forms.Timer(this.components);
this.statusresetter = new System.Windows.Forms.Timer(this.components); this.statusresetter = new System.Windows.Forms.Timer(this.components);
this.dockersspace = new System.Windows.Forms.Panel(); this.dockersspace = new System.Windows.Forms.Panel();
this.dockerspanel = new CodeImp.DoomBuilder.Controls.DockersControl(); this.dockerspanel = new CodeImp.DoomBuilder.Controls.DockersControl();
this.dockerscollapser = new System.Windows.Forms.Timer(this.components); this.dockerscollapser = new System.Windows.Forms.Timer(this.components);
this.itemgrid1 = new System.Windows.Forms.ToolStripMenuItem();
this.itemzoom400 = new System.Windows.Forms.ToolStripMenuItem();
toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator(); toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator(); toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator(); toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator();
@ -312,13 +310,13 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.seperatoreditgrid.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.seperatoreditgrid.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.seperatoreditgrid.Name = "seperatoreditgrid"; this.seperatoreditgrid.Name = "seperatoreditgrid";
this.seperatoreditgrid.Size = new System.Drawing.Size(194, 6); this.seperatoreditgrid.Size = new System.Drawing.Size(211, 6);
// //
// seperatoreditcopypaste // seperatoreditcopypaste
// //
this.seperatoreditcopypaste.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.seperatoreditcopypaste.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.seperatoreditcopypaste.Name = "seperatoreditcopypaste"; this.seperatoreditcopypaste.Name = "seperatoreditcopypaste";
this.seperatoreditcopypaste.Size = new System.Drawing.Size(194, 6); this.seperatoreditcopypaste.Size = new System.Drawing.Size(211, 6);
// //
// seperatorfile // seperatorfile
// //
@ -367,13 +365,13 @@ namespace CodeImp.DoomBuilder.Windows
// menumain // menumain
// //
this.menumain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menumain.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.menufile, this.menufile,
this.menuedit, this.menuedit,
this.menuview, this.menuview,
this.menumode, this.menumode,
this.menuprefabs, this.menuprefabs,
this.menutools, this.menutools,
this.menuhelp}); this.menuhelp});
this.menumain.Location = new System.Drawing.Point(0, 0); this.menumain.Location = new System.Drawing.Point(0, 0);
this.menumain.Name = "menumain"; this.menumain.Name = "menumain";
this.menumain.Size = new System.Drawing.Size(1012, 24); this.menumain.Size = new System.Drawing.Size(1012, 24);
@ -382,18 +380,18 @@ namespace CodeImp.DoomBuilder.Windows
// menufile // menufile
// //
this.menufile.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menufile.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.itemnewmap, this.itemnewmap,
this.itemopenmap, this.itemopenmap,
this.itemopenmapincurwad, this.itemopenmapincurwad,
this.itemclosemap, this.itemclosemap,
this.seperatorfileopen, this.seperatorfileopen,
this.itemsavemap, this.itemsavemap,
this.itemsavemapas, this.itemsavemapas,
this.itemsavemapinto, this.itemsavemapinto,
this.seperatorfilesave, this.seperatorfilesave,
this.itemnorecent, this.itemnorecent,
this.seperatorfilerecent, this.seperatorfilerecent,
this.itemexit}); this.itemexit});
this.menufile.Name = "menufile"; this.menufile.Name = "menufile";
this.menufile.Size = new System.Drawing.Size(37, 20); this.menufile.Size = new System.Drawing.Size(37, 20);
this.menufile.Text = "&File"; this.menufile.Text = "&File";
@ -481,29 +479,27 @@ namespace CodeImp.DoomBuilder.Windows
// menuedit // menuedit
// //
this.menuedit.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuedit.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.itemundo, this.itemundo,
this.itemredo, this.itemredo,
this.seperatoreditundo, this.seperatoreditundo,
this.itemcut, this.itemcut,
this.itemcopy, this.itemcopy,
this.itempaste, this.itempaste,
this.itempastespecial, this.itempastespecial,
this.seperatoreditcopypaste, this.seperatoreditcopypaste,
this.itemsnaptogrid, this.itemsnaptogrid,
this.itemautomerge, this.itemautomerge,
this.seperatoreditgeometry, this.seperatoreditgeometry,
this.itemgridinc, this.itemgridinc,
this.itemgriddec, this.itemgriddec,
this.itemgridsetup, this.itemgridsetup,
this.toolStripSeparator5, this.toolStripSeparator5,
this.addToGroup, this.addToGroup,
this.selectGroup, this.selectGroup,
this.clearGroup, this.clearGroup,
this.toolStripSeparator4, this.seperatoreditgrid,
this.itemSetCurrentTextures, this.itemmapoptions,
this.seperatoreditgrid, this.itemviewusedtags});
this.itemmapoptions,
this.itemviewusedtags});
this.menuedit.Name = "menuedit"; this.menuedit.Name = "menuedit";
this.menuedit.Size = new System.Drawing.Size(39, 20); this.menuedit.Size = new System.Drawing.Size(39, 20);
this.menuedit.Text = "&Edit"; this.menuedit.Text = "&Edit";
@ -513,7 +509,7 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.itemundo.Image = global::CodeImp.DoomBuilder.Properties.Resources.Undo; this.itemundo.Image = global::CodeImp.DoomBuilder.Properties.Resources.Undo;
this.itemundo.Name = "itemundo"; this.itemundo.Name = "itemundo";
this.itemundo.Size = new System.Drawing.Size(197, 22); this.itemundo.Size = new System.Drawing.Size(214, 22);
this.itemundo.Tag = "builder_undo"; this.itemundo.Tag = "builder_undo";
this.itemundo.Text = "&Undo"; this.itemundo.Text = "&Undo";
this.itemundo.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemundo.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -522,7 +518,7 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.itemredo.Image = global::CodeImp.DoomBuilder.Properties.Resources.Redo; this.itemredo.Image = global::CodeImp.DoomBuilder.Properties.Resources.Redo;
this.itemredo.Name = "itemredo"; this.itemredo.Name = "itemredo";
this.itemredo.Size = new System.Drawing.Size(197, 22); this.itemredo.Size = new System.Drawing.Size(214, 22);
this.itemredo.Tag = "builder_redo"; this.itemredo.Tag = "builder_redo";
this.itemredo.Text = "&Redo"; this.itemredo.Text = "&Redo";
this.itemredo.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemredo.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -531,13 +527,13 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.seperatoreditundo.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.seperatoreditundo.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.seperatoreditundo.Name = "seperatoreditundo"; this.seperatoreditundo.Name = "seperatoreditundo";
this.seperatoreditundo.Size = new System.Drawing.Size(194, 6); this.seperatoreditundo.Size = new System.Drawing.Size(211, 6);
// //
// itemcut // itemcut
// //
this.itemcut.Image = global::CodeImp.DoomBuilder.Properties.Resources.Cut; this.itemcut.Image = global::CodeImp.DoomBuilder.Properties.Resources.Cut;
this.itemcut.Name = "itemcut"; this.itemcut.Name = "itemcut";
this.itemcut.Size = new System.Drawing.Size(197, 22); this.itemcut.Size = new System.Drawing.Size(214, 22);
this.itemcut.Tag = "builder_cutselection"; this.itemcut.Tag = "builder_cutselection";
this.itemcut.Text = "Cu&t"; this.itemcut.Text = "Cu&t";
this.itemcut.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemcut.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -546,7 +542,7 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.itemcopy.Image = global::CodeImp.DoomBuilder.Properties.Resources.Copy; this.itemcopy.Image = global::CodeImp.DoomBuilder.Properties.Resources.Copy;
this.itemcopy.Name = "itemcopy"; this.itemcopy.Name = "itemcopy";
this.itemcopy.Size = new System.Drawing.Size(197, 22); this.itemcopy.Size = new System.Drawing.Size(214, 22);
this.itemcopy.Tag = "builder_copyselection"; this.itemcopy.Tag = "builder_copyselection";
this.itemcopy.Text = "&Copy"; this.itemcopy.Text = "&Copy";
this.itemcopy.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemcopy.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -555,7 +551,7 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.itempaste.Image = global::CodeImp.DoomBuilder.Properties.Resources.Paste; this.itempaste.Image = global::CodeImp.DoomBuilder.Properties.Resources.Paste;
this.itempaste.Name = "itempaste"; this.itempaste.Name = "itempaste";
this.itempaste.Size = new System.Drawing.Size(197, 22); this.itempaste.Size = new System.Drawing.Size(214, 22);
this.itempaste.Tag = "builder_pasteselection"; this.itempaste.Tag = "builder_pasteselection";
this.itempaste.Text = "&Paste"; this.itempaste.Text = "&Paste";
this.itempaste.Click += new System.EventHandler(this.InvokeTaggedAction); this.itempaste.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -564,7 +560,7 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.itempastespecial.Image = global::CodeImp.DoomBuilder.Properties.Resources.PasteSpecial; this.itempastespecial.Image = global::CodeImp.DoomBuilder.Properties.Resources.PasteSpecial;
this.itempastespecial.Name = "itempastespecial"; this.itempastespecial.Name = "itempastespecial";
this.itempastespecial.Size = new System.Drawing.Size(197, 22); this.itempastespecial.Size = new System.Drawing.Size(214, 22);
this.itempastespecial.Tag = "builder_pasteselectionspecial"; this.itempastespecial.Tag = "builder_pasteselectionspecial";
this.itempastespecial.Text = "Paste Special..."; this.itempastespecial.Text = "Paste Special...";
this.itempastespecial.Click += new System.EventHandler(this.InvokeTaggedAction); this.itempastespecial.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -575,7 +571,7 @@ namespace CodeImp.DoomBuilder.Windows
this.itemsnaptogrid.CheckState = System.Windows.Forms.CheckState.Checked; this.itemsnaptogrid.CheckState = System.Windows.Forms.CheckState.Checked;
this.itemsnaptogrid.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid4; this.itemsnaptogrid.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid4;
this.itemsnaptogrid.Name = "itemsnaptogrid"; this.itemsnaptogrid.Name = "itemsnaptogrid";
this.itemsnaptogrid.Size = new System.Drawing.Size(197, 22); this.itemsnaptogrid.Size = new System.Drawing.Size(214, 22);
this.itemsnaptogrid.Tag = "builder_togglesnap"; this.itemsnaptogrid.Tag = "builder_togglesnap";
this.itemsnaptogrid.Text = "&Snap to Grid"; this.itemsnaptogrid.Text = "&Snap to Grid";
this.itemsnaptogrid.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemsnaptogrid.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -586,7 +582,7 @@ namespace CodeImp.DoomBuilder.Windows
this.itemautomerge.CheckState = System.Windows.Forms.CheckState.Checked; this.itemautomerge.CheckState = System.Windows.Forms.CheckState.Checked;
this.itemautomerge.Image = global::CodeImp.DoomBuilder.Properties.Resources.mergegeometry2; this.itemautomerge.Image = global::CodeImp.DoomBuilder.Properties.Resources.mergegeometry2;
this.itemautomerge.Name = "itemautomerge"; this.itemautomerge.Name = "itemautomerge";
this.itemautomerge.Size = new System.Drawing.Size(197, 22); this.itemautomerge.Size = new System.Drawing.Size(214, 22);
this.itemautomerge.Tag = "builder_toggleautomerge"; this.itemautomerge.Tag = "builder_toggleautomerge";
this.itemautomerge.Text = "&Merge Geometry"; this.itemautomerge.Text = "&Merge Geometry";
this.itemautomerge.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemautomerge.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -595,12 +591,12 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.seperatoreditgeometry.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3); this.seperatoreditgeometry.Margin = new System.Windows.Forms.Padding(0, 3, 0, 3);
this.seperatoreditgeometry.Name = "seperatoreditgeometry"; this.seperatoreditgeometry.Name = "seperatoreditgeometry";
this.seperatoreditgeometry.Size = new System.Drawing.Size(194, 6); this.seperatoreditgeometry.Size = new System.Drawing.Size(211, 6);
// //
// itemgridinc // itemgridinc
// //
this.itemgridinc.Name = "itemgridinc"; this.itemgridinc.Name = "itemgridinc";
this.itemgridinc.Size = new System.Drawing.Size(197, 22); this.itemgridinc.Size = new System.Drawing.Size(214, 22);
this.itemgridinc.Tag = "builder_griddec"; this.itemgridinc.Tag = "builder_griddec";
this.itemgridinc.Text = "&Increase Grid"; this.itemgridinc.Text = "&Increase Grid";
this.itemgridinc.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemgridinc.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -608,7 +604,7 @@ namespace CodeImp.DoomBuilder.Windows
// itemgriddec // itemgriddec
// //
this.itemgriddec.Name = "itemgriddec"; this.itemgriddec.Name = "itemgriddec";
this.itemgriddec.Size = new System.Drawing.Size(197, 22); this.itemgriddec.Size = new System.Drawing.Size(214, 22);
this.itemgriddec.Tag = "builder_gridinc"; this.itemgriddec.Tag = "builder_gridinc";
this.itemgriddec.Text = "&Decrease Grid"; this.itemgriddec.Text = "&Decrease Grid";
this.itemgriddec.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemgriddec.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -617,7 +613,7 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.itemgridsetup.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid2; this.itemgridsetup.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid2;
this.itemgridsetup.Name = "itemgridsetup"; this.itemgridsetup.Name = "itemgridsetup";
this.itemgridsetup.Size = new System.Drawing.Size(197, 22); this.itemgridsetup.Size = new System.Drawing.Size(214, 22);
this.itemgridsetup.Tag = "builder_gridsetup"; this.itemgridsetup.Tag = "builder_gridsetup";
this.itemgridsetup.Text = "&Grid and Backdrop Setup..."; this.itemgridsetup.Text = "&Grid and Backdrop Setup...";
this.itemgridsetup.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemgridsetup.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -625,23 +621,23 @@ namespace CodeImp.DoomBuilder.Windows
// toolStripSeparator5 // toolStripSeparator5
// //
this.toolStripSeparator5.Name = "toolStripSeparator5"; this.toolStripSeparator5.Name = "toolStripSeparator5";
this.toolStripSeparator5.Size = new System.Drawing.Size(194, 6); this.toolStripSeparator5.Size = new System.Drawing.Size(211, 6);
// //
// addToGroup // addToGroup
// //
this.addToGroup.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.addToGroup.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.addGroup1, this.addGroup1,
this.addGroup2, this.addGroup2,
this.addGroup3, this.addGroup3,
this.addGroup4, this.addGroup4,
this.addGroup5, this.addGroup5,
this.addGroup6, this.addGroup6,
this.addGroup7, this.addGroup7,
this.addGroup8, this.addGroup8,
this.addGroup9, this.addGroup9,
this.addGroup10}); this.addGroup10});
this.addToGroup.Name = "addToGroup"; this.addToGroup.Name = "addToGroup";
this.addToGroup.Size = new System.Drawing.Size(197, 22); this.addToGroup.Size = new System.Drawing.Size(214, 22);
this.addToGroup.Text = "Add Selection to Group"; this.addToGroup.Text = "Add Selection to Group";
this.addToGroup.DropDownOpening += new System.EventHandler(this.addToGroup_DropDownOpening); this.addToGroup.DropDownOpening += new System.EventHandler(this.addToGroup_DropDownOpening);
// //
@ -728,18 +724,18 @@ namespace CodeImp.DoomBuilder.Windows
// selectGroup // selectGroup
// //
this.selectGroup.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.selectGroup.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.selectGroup1, this.selectGroup1,
this.selectGroup2, this.selectGroup2,
this.selectGroup3, this.selectGroup3,
this.selectGroup4, this.selectGroup4,
this.selectGroup5, this.selectGroup5,
this.selectGroup6, this.selectGroup6,
this.selectGroup7, this.selectGroup7,
this.selectGroup8, this.selectGroup8,
this.selectGroup9, this.selectGroup9,
this.selectGroup10}); this.selectGroup10});
this.selectGroup.Name = "selectGroup"; this.selectGroup.Name = "selectGroup";
this.selectGroup.Size = new System.Drawing.Size(197, 22); this.selectGroup.Size = new System.Drawing.Size(214, 22);
this.selectGroup.Text = "Select Group"; this.selectGroup.Text = "Select Group";
this.selectGroup.DropDownOpening += new System.EventHandler(this.selectGroup_DropDownOpening); this.selectGroup.DropDownOpening += new System.EventHandler(this.selectGroup_DropDownOpening);
// //
@ -826,18 +822,18 @@ namespace CodeImp.DoomBuilder.Windows
// clearGroup // clearGroup
// //
this.clearGroup.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.clearGroup.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.clearGroup1, this.clearGroup1,
this.clearGroup2, this.clearGroup2,
this.clearGroup3, this.clearGroup3,
this.clearGroup4, this.clearGroup4,
this.clearGroup5, this.clearGroup5,
this.clearGroup6, this.clearGroup6,
this.clearGroup7, this.clearGroup7,
this.clearGroup8, this.clearGroup8,
this.clearGroup9, this.clearGroup9,
this.clearGroup10}); this.clearGroup10});
this.clearGroup.Name = "clearGroup"; this.clearGroup.Name = "clearGroup";
this.clearGroup.Size = new System.Drawing.Size(197, 22); this.clearGroup.Size = new System.Drawing.Size(214, 22);
this.clearGroup.Text = "Clear Group"; this.clearGroup.Text = "Clear Group";
this.clearGroup.DropDownOpening += new System.EventHandler(this.selectGroup_DropDownOpening); this.clearGroup.DropDownOpening += new System.EventHandler(this.selectGroup_DropDownOpening);
// //
@ -921,24 +917,11 @@ namespace CodeImp.DoomBuilder.Windows
this.clearGroup10.Text = "10:"; this.clearGroup10.Text = "10:";
this.clearGroup10.Click += new System.EventHandler(this.InvokeTaggedAction); this.clearGroup10.Click += new System.EventHandler(this.InvokeTaggedAction);
// //
// toolStripSeparator4
//
this.toolStripSeparator4.Name = "toolStripSeparator4";
this.toolStripSeparator4.Size = new System.Drawing.Size(194, 6);
//
// itemSetCurrentTextures
//
this.itemSetCurrentTextures.Name = "itemSetCurrentTextures";
this.itemSetCurrentTextures.Size = new System.Drawing.Size(197, 22);
this.itemSetCurrentTextures.Tag = "builder_setcurrenttextures";
this.itemSetCurrentTextures.Text = "Set Default &Textures...";
this.itemSetCurrentTextures.Click += new System.EventHandler(this.InvokeTaggedAction);
//
// itemmapoptions // itemmapoptions
// //
this.itemmapoptions.Image = global::CodeImp.DoomBuilder.Properties.Resources.Properties; this.itemmapoptions.Image = global::CodeImp.DoomBuilder.Properties.Resources.Properties;
this.itemmapoptions.Name = "itemmapoptions"; this.itemmapoptions.Name = "itemmapoptions";
this.itemmapoptions.Size = new System.Drawing.Size(197, 22); this.itemmapoptions.Size = new System.Drawing.Size(214, 22);
this.itemmapoptions.Tag = "builder_mapoptions"; this.itemmapoptions.Tag = "builder_mapoptions";
this.itemmapoptions.Text = "Map &Options...."; this.itemmapoptions.Text = "Map &Options....";
this.itemmapoptions.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemmapoptions.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -947,7 +930,7 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.itemviewusedtags.Image = global::CodeImp.DoomBuilder.Properties.Resources.TagStatistics; this.itemviewusedtags.Image = global::CodeImp.DoomBuilder.Properties.Resources.TagStatistics;
this.itemviewusedtags.Name = "itemviewusedtags"; this.itemviewusedtags.Name = "itemviewusedtags";
this.itemviewusedtags.Size = new System.Drawing.Size(197, 22); this.itemviewusedtags.Size = new System.Drawing.Size(214, 22);
this.itemviewusedtags.Tag = "builder_viewusedtags"; this.itemviewusedtags.Tag = "builder_viewusedtags";
this.itemviewusedtags.Text = "View Used Tags..."; this.itemviewusedtags.Text = "View Used Tags...";
this.itemviewusedtags.Click += new System.EventHandler(this.InvokeTaggedAction); this.itemviewusedtags.Click += new System.EventHandler(this.InvokeTaggedAction);
@ -955,18 +938,18 @@ namespace CodeImp.DoomBuilder.Windows
// menuview // menuview
// //
this.menuview.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuview.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.itemthingsfilter, this.itemthingsfilter,
this.seperatorviewthings, this.seperatorviewthings,
this.itemviewnormal, this.itemviewnormal,
this.itemviewbrightness, this.itemviewbrightness,
this.itemviewfloors, this.itemviewfloors,
this.itemviewceilings, this.itemviewceilings,
this.seperatorviewviews, this.seperatorviewviews,
this.menuzoom, this.menuzoom,
this.itemfittoscreen, this.itemfittoscreen,
this.itemtoggleinfo, this.itemtoggleinfo,
this.seperatorviewzoom, this.seperatorviewzoom,
this.itemscripteditor}); this.itemscripteditor});
this.menuview.Name = "menuview"; this.menuview.Name = "menuview";
this.menuview.Size = new System.Drawing.Size(44, 20); this.menuview.Size = new System.Drawing.Size(44, 20);
this.menuview.Text = "&View"; this.menuview.Text = "&View";
@ -1030,12 +1013,12 @@ namespace CodeImp.DoomBuilder.Windows
// menuzoom // menuzoom
// //
this.menuzoom.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuzoom.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.item2zoom200, this.item2zoom200,
this.item2zoom100, this.item2zoom100,
this.item2zoom50, this.item2zoom50,
this.item2zoom25, this.item2zoom25,
this.item2zoom10, this.item2zoom10,
this.item2zoom5}); this.item2zoom5});
this.menuzoom.Image = global::CodeImp.DoomBuilder.Properties.Resources.Zoom; this.menuzoom.Image = global::CodeImp.DoomBuilder.Properties.Resources.Zoom;
this.menuzoom.Name = "menuzoom"; this.menuzoom.Name = "menuzoom";
this.menuzoom.Size = new System.Drawing.Size(209, 22); this.menuzoom.Size = new System.Drawing.Size(209, 22);
@ -1123,7 +1106,7 @@ namespace CodeImp.DoomBuilder.Windows
// menumode // menumode
// //
this.menumode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menumode.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.separatorDrawModes}); this.separatorDrawModes});
this.menumode.Name = "menumode"; this.menumode.Name = "menumode";
this.menumode.Size = new System.Drawing.Size(50, 20); this.menumode.Size = new System.Drawing.Size(50, 20);
this.menumode.Text = "&Mode"; this.menumode.Text = "&Mode";
@ -1136,10 +1119,10 @@ namespace CodeImp.DoomBuilder.Windows
// menuprefabs // menuprefabs
// //
this.menuprefabs.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuprefabs.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.iteminsertprefabfile, this.iteminsertprefabfile,
this.iteminsertpreviousprefab, this.iteminsertpreviousprefab,
this.seperatorprefabsinsert, this.seperatorprefabsinsert,
this.itemcreateprefab}); this.itemcreateprefab});
this.menuprefabs.Name = "menuprefabs"; this.menuprefabs.Name = "menuprefabs";
this.menuprefabs.Size = new System.Drawing.Size(58, 20); this.menuprefabs.Size = new System.Drawing.Size(58, 20);
this.menuprefabs.Text = "&Prefabs"; this.menuprefabs.Text = "&Prefabs";
@ -1177,19 +1160,19 @@ namespace CodeImp.DoomBuilder.Windows
// menutools // menutools
// //
this.menutools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menutools.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.itemreloadresources, this.itemreloadresources,
this.itemReloadModedef, this.itemReloadModedef,
this.itemReloadGldefs, this.itemReloadGldefs,
this.itemReloadMapinfo, this.itemReloadMapinfo,
this.itemshowerrors, this.itemshowerrors,
this.seperatortoolsresources, this.seperatortoolsresources,
this.configurationToolStripMenuItem, this.configurationToolStripMenuItem,
this.preferencesToolStripMenuItem, this.preferencesToolStripMenuItem,
this.seperatortoolsconfig, this.seperatortoolsconfig,
this.screenshotToolStripMenuItem, this.screenshotToolStripMenuItem,
this.editAreaScreenshotToolStripMenuItem, this.editAreaScreenshotToolStripMenuItem,
this.separatortoolsscreenshots, this.separatortoolsscreenshots,
this.itemtestmap}); this.itemtestmap});
this.menutools.Name = "menutools"; this.menutools.Name = "menutools";
this.menutools.Size = new System.Drawing.Size(48, 20); this.menutools.Size = new System.Drawing.Size(48, 20);
this.menutools.Text = "&Tools"; this.menutools.Text = "&Tools";
@ -1296,11 +1279,11 @@ namespace CodeImp.DoomBuilder.Windows
// menuhelp // menuhelp
// //
this.menuhelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.menuhelp.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.itemhelprefmanual, this.itemhelprefmanual,
this.itemShortcutReference, this.itemShortcutReference,
this.itemhelpeditmode, this.itemhelpeditmode,
this.seperatorhelpmanual, this.seperatorhelpmanual,
this.itemhelpabout}); this.itemhelpabout});
this.menuhelp.Name = "menuhelp"; this.menuhelp.Name = "menuhelp";
this.menuhelp.Size = new System.Drawing.Size(44, 20); this.menuhelp.Size = new System.Drawing.Size(44, 20);
this.menuhelp.Text = "&Help"; this.menuhelp.Text = "&Help";
@ -1349,44 +1332,44 @@ namespace CodeImp.DoomBuilder.Windows
this.toolbar.ContextMenuStrip = this.toolbarContextMenu; this.toolbar.ContextMenuStrip = this.toolbarContextMenu;
this.toolbar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden; this.toolbar.GripStyle = System.Windows.Forms.ToolStripGripStyle.Hidden;
this.toolbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.buttonnewmap, this.buttonnewmap,
this.buttonopenmap, this.buttonopenmap,
this.buttonsavemap, this.buttonsavemap,
this.seperatorfile, this.seperatorfile,
this.buttonscripteditor, this.buttonscripteditor,
this.seperatorscript, this.seperatorscript,
this.buttonundo, this.buttonundo,
this.buttonredo, this.buttonredo,
this.seperatorundo, this.seperatorundo,
this.buttoncut, this.buttoncut,
this.buttoncopy, this.buttoncopy,
this.buttonpaste, this.buttonpaste,
this.seperatorcopypaste, this.seperatorcopypaste,
this.buttoninsertprefabfile, this.buttoninsertprefabfile,
this.buttoninsertpreviousprefab, this.buttoninsertpreviousprefab,
this.seperatorprefabs, this.seperatorprefabs,
this.seperatormodes, this.seperatormodes,
this.buttonthingsfilter, this.buttonthingsfilter,
this.thingfilters, this.thingfilters,
this.buttonviewnormal, this.buttonviewnormal,
this.buttonviewbrightness, this.buttonviewbrightness,
this.buttonviewfloors, this.buttonviewfloors,
this.buttonviewceilings, this.buttonviewceilings,
this.seperatorviews, this.seperatorviews,
this.buttonsnaptogrid, this.buttonsnaptogrid,
this.buttonautomerge, this.buttonautomerge,
this.seperatorgeometry, this.seperatorgeometry,
this.buttontogglefx, this.buttontogglefx,
this.buttontoggledynlight, this.buttontoggledynlight,
this.buttontoggleanimatedlight, this.buttontoggleanimatedlight,
this.buttontogglemodels, this.buttontogglemodels,
this.buttonselectedmodelsonly, this.buttonselectedmodelsonly,
this.buttontogglefog, this.buttontogglefog,
this.buttontoggleeventlines, this.buttontoggleeventlines,
this.buttontogglevisualvertices, this.buttontogglevisualvertices,
this.separatorgzmodes, this.separatorgzmodes,
this.buttontest, this.buttontest,
this.seperatortesting}); this.seperatortesting});
this.toolbar.Location = new System.Drawing.Point(0, 24); this.toolbar.Location = new System.Drawing.Point(0, 24);
this.toolbar.Name = "toolbar"; this.toolbar.Name = "toolbar";
this.toolbar.Size = new System.Drawing.Size(1012, 25); this.toolbar.Size = new System.Drawing.Size(1012, 25);
@ -1395,16 +1378,16 @@ namespace CodeImp.DoomBuilder.Windows
// toolbarContextMenu // toolbarContextMenu
// //
this.toolbarContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.toolbarContextMenu.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toggleFile, this.toggleFile,
this.toggleScript, this.toggleScript,
this.toggleUndo, this.toggleUndo,
this.toggleCopy, this.toggleCopy,
this.togglePrefabs, this.togglePrefabs,
this.toggleFilter, this.toggleFilter,
this.toggleViewModes, this.toggleViewModes,
this.toggleGeometry, this.toggleGeometry,
this.toggleTesting, this.toggleTesting,
this.toggleRendering}); this.toggleRendering});
this.toolbarContextMenu.Name = "toolbarContextMenu"; this.toolbarContextMenu.Name = "toolbarContextMenu";
this.toolbarContextMenu.Size = new System.Drawing.Size(174, 224); this.toolbarContextMenu.Size = new System.Drawing.Size(174, 224);
this.toolbarContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.toolbarContextMenu_Opening); this.toolbarContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.toolbarContextMenu_Opening);
@ -1619,11 +1602,11 @@ namespace CodeImp.DoomBuilder.Windows
this.thingfilters.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; this.thingfilters.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
this.thingfilters.Enabled = false; this.thingfilters.Enabled = false;
this.thingfilters.Items.AddRange(new object[] { this.thingfilters.Items.AddRange(new object[] {
"(none)", "(none)",
"(custom)", "(custom)",
"Easy skill items only", "Easy skill items only",
"Medium skill items only", "Medium skill items only",
"Hard skill items only"}); "Hard skill items only"});
this.thingfilters.Margin = new System.Windows.Forms.Padding(1, 0, 6, 0); this.thingfilters.Margin = new System.Windows.Forms.Padding(1, 0, 6, 0);
this.thingfilters.Name = "thingfilters"; this.thingfilters.Name = "thingfilters";
this.thingfilters.Size = new System.Drawing.Size(130, 25); this.thingfilters.Size = new System.Drawing.Size(130, 25);
@ -1845,20 +1828,20 @@ namespace CodeImp.DoomBuilder.Windows
// //
this.statusbar.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.statusbar.Font = new System.Drawing.Font("Verdana", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.statusbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { this.statusbar.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.statuslabel, this.statuslabel,
this.configlabel, this.configlabel,
toolStripSeparator12, toolStripSeparator12,
this.gridlabel, this.gridlabel,
this.buttongrid, this.buttongrid,
toolStripSeparator1, toolStripSeparator1,
this.zoomlabel, this.zoomlabel,
this.buttonzoom, this.buttonzoom,
toolStripSeparator3, toolStripSeparator3,
this.xposlabel, this.xposlabel,
this.poscommalabel, this.poscommalabel,
this.yposlabel, this.yposlabel,
toolStripSeparator9, toolStripSeparator9,
this.warnsLabel}); this.warnsLabel});
this.statusbar.Location = new System.Drawing.Point(0, 670); this.statusbar.Location = new System.Drawing.Point(0, 670);
this.statusbar.Name = "statusbar"; this.statusbar.Name = "statusbar";
this.statusbar.ShowItemToolTips = true; this.statusbar.ShowItemToolTips = true;
@ -1871,7 +1854,7 @@ namespace CodeImp.DoomBuilder.Windows
this.statuslabel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft; this.statuslabel.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.statuslabel.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; this.statuslabel.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.statuslabel.Name = "statuslabel"; this.statuslabel.Name = "statuslabel";
this.statuslabel.Size = new System.Drawing.Size(309, 18); this.statuslabel.Size = new System.Drawing.Size(340, 18);
this.statuslabel.Spring = true; this.statuslabel.Spring = true;
this.statuslabel.Text = "Initializing user interface..."; this.statuslabel.Text = "Initializing user interface...";
this.statuslabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft; this.statuslabel.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
@ -1902,18 +1885,18 @@ namespace CodeImp.DoomBuilder.Windows
this.buttongrid.AutoToolTip = false; this.buttongrid.AutoToolTip = false;
this.buttongrid.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.buttongrid.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.buttongrid.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.buttongrid.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.itemgrid1024, this.itemgrid1024,
this.itemgrid512, this.itemgrid512,
this.itemgrid256, this.itemgrid256,
this.itemgrid128, this.itemgrid128,
this.itemgrid64, this.itemgrid64,
this.itemgrid32, this.itemgrid32,
this.itemgrid16, this.itemgrid16,
this.itemgrid8, this.itemgrid8,
this.itemgrid4, this.itemgrid4,
this.itemgrid1, this.itemgrid1,
toolStripMenuItem4, toolStripMenuItem4,
this.itemgridcustom}); this.itemgridcustom});
this.buttongrid.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid2_arrowup; this.buttongrid.Image = global::CodeImp.DoomBuilder.Properties.Resources.Grid2_arrowup;
this.buttongrid.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; this.buttongrid.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.buttongrid.ImageTransparentColor = System.Drawing.Color.Transparent; this.buttongrid.ImageTransparentColor = System.Drawing.Color.Transparent;
@ -1994,6 +1977,14 @@ namespace CodeImp.DoomBuilder.Windows
this.itemgrid4.Text = "4 mp"; this.itemgrid4.Text = "4 mp";
this.itemgrid4.Click += new System.EventHandler(this.itemgridsize_Click); this.itemgrid4.Click += new System.EventHandler(this.itemgridsize_Click);
// //
// itemgrid1
//
this.itemgrid1.Name = "itemgrid1";
this.itemgrid1.Size = new System.Drawing.Size(153, 22);
this.itemgrid1.Tag = "1";
this.itemgrid1.Text = "1 mp";
this.itemgrid1.Click += new System.EventHandler(this.itemgridsize_Click);
//
// itemgridcustom // itemgridcustom
// //
this.itemgridcustom.Name = "itemgridcustom"; this.itemgridcustom.Name = "itemgridcustom";
@ -2017,15 +2008,15 @@ namespace CodeImp.DoomBuilder.Windows
this.buttonzoom.AutoToolTip = false; this.buttonzoom.AutoToolTip = false;
this.buttonzoom.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image; this.buttonzoom.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.buttonzoom.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] { this.buttonzoom.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.itemzoom400, this.itemzoom400,
this.itemzoom200, this.itemzoom200,
this.itemzoom100, this.itemzoom100,
this.itemzoom50, this.itemzoom50,
this.itemzoom25, this.itemzoom25,
this.itemzoom10, this.itemzoom10,
this.itemzoom5, this.itemzoom5,
toolStripSeparator2, toolStripSeparator2,
this.itemzoomfittoscreen}); this.itemzoomfittoscreen});
this.buttonzoom.Image = global::CodeImp.DoomBuilder.Properties.Resources.Zoom_arrowup; this.buttonzoom.Image = global::CodeImp.DoomBuilder.Properties.Resources.Zoom_arrowup;
this.buttonzoom.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None; this.buttonzoom.ImageScaling = System.Windows.Forms.ToolStripItemImageScaling.None;
this.buttonzoom.ImageTransparentColor = System.Drawing.Color.Transparent; this.buttonzoom.ImageTransparentColor = System.Drawing.Color.Transparent;
@ -2034,6 +2025,14 @@ namespace CodeImp.DoomBuilder.Windows
this.buttonzoom.Size = new System.Drawing.Size(29, 21); this.buttonzoom.Size = new System.Drawing.Size(29, 21);
this.buttonzoom.Text = "Zoom"; this.buttonzoom.Text = "Zoom";
// //
// itemzoom400
//
this.itemzoom400.Name = "itemzoom400";
this.itemzoom400.Size = new System.Drawing.Size(156, 22);
this.itemzoom400.Tag = "400";
this.itemzoom400.Text = "400%";
this.itemzoom400.Click += new System.EventHandler(this.itemzoomto_Click);
//
// itemzoom200 // itemzoom200
// //
this.itemzoom200.Name = "itemzoom200"; this.itemzoom200.Name = "itemzoom200";
@ -2294,22 +2293,6 @@ namespace CodeImp.DoomBuilder.Windows
this.dockerscollapser.Interval = 200; this.dockerscollapser.Interval = 200;
this.dockerscollapser.Tick += new System.EventHandler(this.dockerscollapser_Tick); this.dockerscollapser.Tick += new System.EventHandler(this.dockerscollapser_Tick);
// //
// itemgrid1
//
this.itemgrid1.Name = "itemgrid1";
this.itemgrid1.Size = new System.Drawing.Size(153, 22);
this.itemgrid1.Tag = "1";
this.itemgrid1.Text = "1 mp";
this.itemgrid1.Click += new System.EventHandler(this.itemgridsize_Click);
//
// itemzoom400
//
this.itemzoom400.Name = "itemzoom400";
this.itemzoom400.Size = new System.Drawing.Size(156, 22);
this.itemzoom400.Tag = "400";
this.itemzoom400.Text = "400%";
this.itemzoom400.Click += new System.EventHandler(this.itemzoomto_Click);
//
// MainForm // MainForm
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -2511,8 +2494,6 @@ namespace CodeImp.DoomBuilder.Windows
private System.Windows.Forms.ToolStripSeparator separatorDrawModes; private System.Windows.Forms.ToolStripSeparator separatorDrawModes;
private System.Windows.Forms.ToolStripButton buttontoggleeventlines; private System.Windows.Forms.ToolStripButton buttontoggleeventlines;
private System.Windows.Forms.ToolStripButton buttontogglevisualvertices; private System.Windows.Forms.ToolStripButton buttontogglevisualvertices;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator4;
private System.Windows.Forms.ToolStripMenuItem itemSetCurrentTextures;
private System.Windows.Forms.ToolStripMenuItem itemviewusedtags; private System.Windows.Forms.ToolStripMenuItem itemviewusedtags;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator5; private System.Windows.Forms.ToolStripSeparator toolStripSeparator5;
private System.Windows.Forms.ToolStripMenuItem addToGroup; private System.Windows.Forms.ToolStripMenuItem addToGroup;

View file

@ -2306,7 +2306,6 @@ namespace CodeImp.DoomBuilder.Windows
itemgridsetup.Enabled = (General.Map != null); itemgridsetup.Enabled = (General.Map != null);
itemgridinc.Enabled = (General.Map != null); itemgridinc.Enabled = (General.Map != null);
itemgriddec.Enabled = (General.Map != null); itemgriddec.Enabled = (General.Map != null);
itemSetCurrentTextures.Enabled = (General.Map != null); //mxd
itemviewusedtags.Enabled = (General.Map != null); //mxd itemviewusedtags.Enabled = (General.Map != null); //mxd
addToGroup.Enabled = (General.Map != null); //mxd addToGroup.Enabled = (General.Map != null); //mxd
selectGroup.Enabled = (General.Map != null); //mxd selectGroup.Enabled = (General.Map != null); //mxd

File diff suppressed because it is too large Load diff

View file

@ -199,11 +199,6 @@ namespace CodeImp.DoomBuilder.Windows
options.StrictPatches = strictpatches.Checked; options.StrictPatches = strictpatches.Checked;
options.CopyResources(datalocations.GetResources()); options.CopyResources(datalocations.GetResources());
// Reset default drawing textures
General.Settings.DefaultTexture = null;
General.Settings.DefaultFloorTexture = null;
General.Settings.DefaultCeilingTexture = null;
// Hide window // Hide window
this.DialogResult = DialogResult.OK; this.DialogResult = DialogResult.OK;
this.Close(); this.Close();

View file

@ -355,6 +355,7 @@ namespace CodeImp.DoomBuilder.Windows
this.ShowInTaskbar = false; this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Edit Sector"; this.Text = "Edit Sector";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.SectorEditForm_FormClosing);
this.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.SectorEditForm_HelpRequested); this.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.SectorEditForm_HelpRequested);
groupeffect.ResumeLayout(false); groupeffect.ResumeLayout(false);
groupeffect.PerformLayout(); groupeffect.PerformLayout();

View file

@ -18,6 +18,7 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using CodeImp.DoomBuilder.Map; using CodeImp.DoomBuilder.Map;
using CodeImp.DoomBuilder.Types; using CodeImp.DoomBuilder.Types;
@ -40,6 +41,9 @@ namespace CodeImp.DoomBuilder.Windows
private List<SectorProperties> sectorProps; //mxd private List<SectorProperties> sectorProps; //mxd
private bool blockUpdate; //mxd private bool blockUpdate; //mxd
//mxd. Window setup stuff
private static Point location = Point.Empty;
private struct SectorProperties //mxd private struct SectorProperties //mxd
{ {
public int Brightness; public int Brightness;
@ -67,6 +71,12 @@ namespace CodeImp.DoomBuilder.Windows
// Initialize // Initialize
InitializeComponent(); InitializeComponent();
//mxd. Widow setup
if(location != Point.Empty) {
this.StartPosition = FormStartPosition.Manual;
this.Location = location;
}
// Fill effects list // Fill effects list
effect.AddInfo(General.Map.Config.SortedSectorEffects.ToArray()); effect.AddInfo(General.Map.Config.SortedSectorEffects.ToArray());
@ -241,6 +251,11 @@ namespace CodeImp.DoomBuilder.Windows
effect.Value = EffectBrowserForm.BrowseEffect(this, effect.Value); effect.Value = EffectBrowserForm.BrowseEffect(this, effect.Value);
} }
//mxd
private void SectorEditForm_FormClosing(object sender, FormClosingEventArgs e) {
location = this.Location;
}
// Help // Help
private void SectorEditForm_HelpRequested(object sender, HelpEventArgs hlpevent) { private void SectorEditForm_HelpRequested(object sender, HelpEventArgs hlpevent) {
General.ShowHelp("w_sectoredit.html"); General.ShowHelp("w_sectoredit.html");
@ -358,5 +373,6 @@ namespace CodeImp.DoomBuilder.Windows
} }
#endregion #endregion
} }
} }

View file

@ -1,174 +1,162 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="label1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="groupeffect.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="groupeffect.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label8.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label8.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label9.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label9.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="groupfloorceiling.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="groupfloorceiling.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata>
<metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label5.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata>
<metadata name="label4.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value>
</metadata> </metadata>
<metadata name="flatSelectorControl2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="flatSelectorControl2.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="flatSelectorControl1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="flatSelectorControl1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
</root> </root>

View file

@ -909,6 +909,7 @@
this.ShowInTaskbar = false; this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Edit Sector"; this.Text = "Edit Sector";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.SectorEditFormUDMF_FormClosing);
this.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.SectorEditFormUDMF_HelpRequested); this.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.SectorEditFormUDMF_HelpRequested);
groupaction.ResumeLayout(false); groupaction.ResumeLayout(false);
groupeffect.ResumeLayout(false); groupeffect.ResumeLayout(false);

View file

@ -1,9 +1,10 @@
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Drawing;
using System.Windows.Forms; using System.Windows.Forms;
using CodeImp.DoomBuilder.GZBuilder.Tools;
using CodeImp.DoomBuilder.Map; using CodeImp.DoomBuilder.Map;
using CodeImp.DoomBuilder.Types; using CodeImp.DoomBuilder.Types;
using CodeImp.DoomBuilder.GZBuilder.Tools;
namespace CodeImp.DoomBuilder.Windows namespace CodeImp.DoomBuilder.Windows
{ {
@ -22,12 +23,16 @@ namespace CodeImp.DoomBuilder.Windows
private bool blockUpdate; //mxd private bool blockUpdate; //mxd
private StepsList angleSteps; //mxd private StepsList angleSteps; //mxd
//Persistent settings //mxd. Persistent settings
private static bool linkCeilingScale; private static bool linkCeilingScale;
private static bool linkFloorScale; private static bool linkFloorScale;
private static bool useFloorLineAngles; private static bool useFloorLineAngles;
private static bool useCeilLineAngles; private static bool useCeilLineAngles;
//mxd. Window setup stuff
private static Point location = Point.Empty;
private static int activeTab;
private struct SectorProperties //mxd private struct SectorProperties //mxd
{ {
public int Brightness; public int Brightness;
@ -101,6 +106,13 @@ namespace CodeImp.DoomBuilder.Windows
public SectorEditFormUDMF() { public SectorEditFormUDMF() {
InitializeComponent(); InitializeComponent();
//mxd. Widow setup
if(location != Point.Empty) {
this.StartPosition = FormStartPosition.Manual;
this.Location = location;
if(activeTab > 0) tabs.SelectTab(activeTab);
}
// Fill flags list // Fill flags list
foreach(KeyValuePair<string, string> lf in General.Map.Config.SectorFlags) foreach(KeyValuePair<string, string> lf in General.Map.Config.SectorFlags)
flags.Add(lf.Value, lf.Key); flags.Add(lf.Value, lf.Key);
@ -461,6 +473,12 @@ namespace CodeImp.DoomBuilder.Windows
effect.Value = EffectBrowserForm.BrowseEffect(this, effect.Value); effect.Value = EffectBrowserForm.BrowseEffect(this, effect.Value);
} }
//mxd
private void SectorEditFormUDMF_FormClosing(object sender, FormClosingEventArgs e) {
location = this.Location;
activeTab = tabs.SelectedIndex;
}
private void SectorEditFormUDMF_HelpRequested(object sender, HelpEventArgs hlpevent) { private void SectorEditFormUDMF_HelpRequested(object sender, HelpEventArgs hlpevent) {
General.ShowHelp("w_sectoredit.html"); General.ShowHelp("w_sectoredit.html");
hlpevent.Handled = true; hlpevent.Handled = true;

View file

@ -1,171 +0,0 @@
namespace CodeImp.DoomBuilder.Windows
{
partial class SetCurrentTexturesForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) {
if(disposing && (components != null)) {
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent() {
this.labelWalls = new System.Windows.Forms.Label();
this.labelFloor = new System.Windows.Forms.Label();
this.labelCeiling = new System.Windows.Forms.Label();
this.bApply = new System.Windows.Forms.Button();
this.bCancel = new System.Windows.Forms.Button();
this.cbForceDefault = new System.Windows.Forms.CheckBox();
this.walls = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
this.floor = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
this.ceiling = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
this.SuspendLayout();
//
// labelWalls
//
this.labelWalls.Location = new System.Drawing.Point(194, 8);
this.labelWalls.Name = "labelWalls";
this.labelWalls.Size = new System.Drawing.Size(83, 16);
this.labelWalls.TabIndex = 11;
this.labelWalls.Text = "Walls";
this.labelWalls.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// labelFloor
//
this.labelFloor.Location = new System.Drawing.Point(103, 8);
this.labelFloor.Name = "labelFloor";
this.labelFloor.Size = new System.Drawing.Size(83, 16);
this.labelFloor.TabIndex = 8;
this.labelFloor.Text = "Floor";
this.labelFloor.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// labelCeiling
//
this.labelCeiling.Location = new System.Drawing.Point(12, 8);
this.labelCeiling.Name = "labelCeiling";
this.labelCeiling.Size = new System.Drawing.Size(83, 16);
this.labelCeiling.TabIndex = 7;
this.labelCeiling.Text = "Ceiling";
this.labelCeiling.TextAlign = System.Drawing.ContentAlignment.TopCenter;
//
// bApply
//
this.bApply.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.bApply.Location = new System.Drawing.Point(103, 185);
this.bApply.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.bApply.Name = "bApply";
this.bApply.Size = new System.Drawing.Size(174, 26);
this.bApply.TabIndex = 0;
this.bApply.Text = "OK";
this.bApply.UseVisualStyleBackColor = true;
this.bApply.Click += new System.EventHandler(this.bApply_Click);
//
// bCancel
//
this.bCancel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.bCancel.DialogResult = System.Windows.Forms.DialogResult.Cancel;
this.bCancel.Location = new System.Drawing.Point(12, 185);
this.bCancel.Margin = new System.Windows.Forms.Padding(4, 3, 4, 3);
this.bCancel.Name = "bCancel";
this.bCancel.Size = new System.Drawing.Size(83, 26);
this.bCancel.TabIndex = 1;
this.bCancel.Text = "Cancel";
this.bCancel.UseVisualStyleBackColor = true;
this.bCancel.Click += new System.EventHandler(this.bCancel_Click);
//
// cbForceDefault
//
this.cbForceDefault.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.cbForceDefault.AutoSize = true;
this.cbForceDefault.Location = new System.Drawing.Point(13, 147);
this.cbForceDefault.Name = "cbForceDefault";
this.cbForceDefault.Size = new System.Drawing.Size(252, 32);
this.cbForceDefault.TabIndex = 13;
this.cbForceDefault.Text = "Use these textures instead of textures from \r\nneighbouring geometry when creating" +
" a sector\r\n";
this.cbForceDefault.UseVisualStyleBackColor = true;
this.cbForceDefault.CheckedChanged += new System.EventHandler(this.cbForceDefault_CheckedChanged);
//
// walls
//
this.walls.Location = new System.Drawing.Point(194, 27);
this.walls.Name = "walls";
this.walls.Required = false;
this.walls.Size = new System.Drawing.Size(83, 112);
this.walls.TabIndex = 12;
this.walls.TextureName = "";
//
// floor
//
this.floor.Location = new System.Drawing.Point(103, 27);
this.floor.Name = "floor";
this.floor.Required = false;
this.floor.Size = new System.Drawing.Size(83, 112);
this.floor.TabIndex = 10;
this.floor.TextureName = "";
//
// ceiling
//
this.ceiling.Location = new System.Drawing.Point(12, 27);
this.ceiling.Name = "ceiling";
this.ceiling.Required = false;
this.ceiling.Size = new System.Drawing.Size(83, 112);
this.ceiling.TabIndex = 9;
this.ceiling.TextureName = "";
//
// SetCurrentTexturesForm
//
this.AcceptButton = this.bApply;
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Dpi;
this.CancelButton = this.bCancel;
this.ClientSize = new System.Drawing.Size(289, 216);
this.Controls.Add(this.cbForceDefault);
this.Controls.Add(this.walls);
this.Controls.Add(this.floor);
this.Controls.Add(this.ceiling);
this.Controls.Add(this.labelWalls);
this.Controls.Add(this.labelFloor);
this.Controls.Add(this.labelCeiling);
this.Controls.Add(this.bCancel);
this.Controls.Add(this.bApply);
this.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedToolWindow;
this.Margin = new System.Windows.Forms.Padding(2, 3, 2, 3);
this.Name = "SetCurrentTexturesForm";
this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.Manual;
this.Text = "Default textures:";
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.Button bApply;
private System.Windows.Forms.Button bCancel;
private CodeImp.DoomBuilder.Controls.TextureSelectorControl walls;
private CodeImp.DoomBuilder.Controls.TextureSelectorControl floor;
private CodeImp.DoomBuilder.Controls.TextureSelectorControl ceiling;
private System.Windows.Forms.CheckBox cbForceDefault;
private System.Windows.Forms.Label labelWalls;
private System.Windows.Forms.Label labelFloor;
private System.Windows.Forms.Label labelCeiling;
}
}

View file

@ -1,46 +0,0 @@
using System;
using System.Drawing;
using System.Windows.Forms;
namespace CodeImp.DoomBuilder.Windows
{
public partial class SetCurrentTexturesForm : Form
{
public SetCurrentTexturesForm() {
this.Location = new Point(Cursor.Position.X - this.Width / 2, Cursor.Position.Y - this.Height / 2);
InitializeComponent();
// Initialize image selectors
ceiling.Initialize();
floor.Initialize();
walls.Initialize();
ceiling.TextureName = General.Settings.DefaultCeilingTexture;
floor.TextureName = General.Settings.DefaultFloorTexture;
walls.TextureName = General.Settings.DefaultTexture;
cbForceDefault.Checked = General.Settings.GZForceDefaultTextures;
cbForceDefault_CheckedChanged(this, EventArgs.Empty);
}
private void bCancel_Click(object sender, EventArgs e) {
Close();
}
private void bApply_Click(object sender, EventArgs e) {
General.Settings.DefaultCeilingTexture = string.IsNullOrEmpty(ceiling.TextureName) ? "-" : ceiling.TextureName;
General.Settings.DefaultFloorTexture = string.IsNullOrEmpty(floor.TextureName) ? "-" : floor.TextureName;
General.Settings.DefaultTexture = string.IsNullOrEmpty(walls.TextureName) ? "-" : walls.TextureName;
General.Settings.GZForceDefaultTextures = cbForceDefault.Checked;
Close();
}
private void cbForceDefault_CheckedChanged(object sender, EventArgs e) {
ceiling.Enabled = cbForceDefault.Checked;
floor.Enabled = cbForceDefault.Checked;
walls.Enabled = cbForceDefault.Checked;
labelCeiling.Enabled = cbForceDefault.Checked;
labelFloor.Enabled = cbForceDefault.Checked;
labelWalls.Enabled = cbForceDefault.Checked;
}
}
}

View file

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -87,6 +87,7 @@ namespace CodeImp.DoomBuilder.Windows
this.tvTextureSets.Size = new System.Drawing.Size(200, 576); this.tvTextureSets.Size = new System.Drawing.Size(200, 576);
this.tvTextureSets.TabIndex = 4; this.tvTextureSets.TabIndex = 4;
this.tvTextureSets.TabStop = false; this.tvTextureSets.TabStop = false;
this.tvTextureSets.KeyUp += new System.Windows.Forms.KeyEventHandler(this.tvTextureSets_KeyUp);
this.tvTextureSets.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.tvTextureSets_NodeMouseClick); this.tvTextureSets.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.tvTextureSets_NodeMouseClick);
// //
// browser // browser

View file

@ -448,5 +448,13 @@ namespace CodeImp.DoomBuilder.Windows
selectedset = e.Node; selectedset = e.Node;
FillImagesList(); FillImagesList();
} }
//mxd
private void tvTextureSets_KeyUp(object sender, KeyEventArgs e) {
if(tvTextureSets.SelectedNode != selectedset) {
selectedset = tvTextureSets.SelectedNode;
FillImagesList();
}
}
} }
} }

View file

@ -125,7 +125,7 @@
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAc ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAAc
DwAAAk1TRnQBSQFMAgEBBwEAAcwBAAHMAQABEAEAARYBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo DwAAAk1TRnQBSQFMAgEBBwEAAdQBAAHUAQABEAEAARYBAAT/AQkBAAj/AUIBTQE2AQQGAAE2AQQCAAEo
AwABQAMAASwDAAEBAQABCAYAAQsYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA AwABQAMAASwDAAEBAQABCAYAAQsYAAGAAgABgAMAAoABAAGAAwABgAEAAYABAAKAAgADwAEAAcAB3AHA
AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5 AQAB8AHKAaYBAAEzBQABMwEAATMBAAEzAQACMwIAAxYBAAMcAQADIgEAAykBAANVAQADTQEAA0IBAAM5
AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA AQABgAF8Af8BAAJQAf8BAAGTAQAB1gEAAf8B7AHMAQABxgHWAe8BAAHWAucBAAGQAakBrQIAAf8BMwMA

View file

@ -694,6 +694,7 @@ namespace CodeImp.DoomBuilder.Windows
this.ShowInTaskbar = false; this.ShowInTaskbar = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Edit Thing"; this.Text = "Edit Thing";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.ThingEditForm_FormClosing);
this.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.ThingEditForm_HelpRequested); this.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.ThingEditForm_HelpRequested);
groupBox1.ResumeLayout(false); groupBox1.ResumeLayout(false);
groupBox2.ResumeLayout(false); groupBox2.ResumeLayout(false);

View file

@ -57,6 +57,10 @@ namespace CodeImp.DoomBuilder.Windows
private List<ThingProperties> thingProps; //mxd private List<ThingProperties> thingProps; //mxd
//mxd. Window setup stuff
private static Point location = Point.Empty;
private static int activeTab;
private struct ThingProperties //mxd private struct ThingProperties //mxd
{ {
public int Type; public int Type;
@ -84,6 +88,17 @@ namespace CodeImp.DoomBuilder.Windows
// Initialize // Initialize
InitializeComponent(); InitializeComponent();
//mxd. Widow setup
if(location != Point.Empty) {
this.StartPosition = FormStartPosition.Manual;
this.Location = location;
if(activeTab > 0 && activeTab < tabs.TabCount) {
tabs.SelectTab(activeTab);
} else {
activeTab = 0;
}
}
// Fill flags list // Fill flags list
foreach(KeyValuePair<string, string> tf in General.Map.Config.ThingFlags) foreach(KeyValuePair<string, string> tf in General.Map.Config.ThingFlags)
flags.Add(tf.Value, tf.Key); flags.Add(tf.Value, tf.Key);
@ -557,6 +572,12 @@ namespace CodeImp.DoomBuilder.Windows
fieldslist.Focus(); fieldslist.Focus();
} }
//mxd
private void ThingEditForm_FormClosing(object sender, FormClosingEventArgs e) {
location = this.Location;
activeTab = tabs.SelectedIndex;
}
// Help // Help
private void ThingEditForm_HelpRequested(object sender, HelpEventArgs hlpevent) private void ThingEditForm_HelpRequested(object sender, HelpEventArgs hlpevent)
{ {
@ -693,5 +714,6 @@ namespace CodeImp.DoomBuilder.Windows
} }
#endregion #endregion
} }
} }

View file

@ -1,165 +1,165 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="groupBox1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="groupBox1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="groupBox1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="groupBox1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="groupBox2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="groupBox2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label7.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label7.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label7.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label7.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="tabeffects.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="tabeffects.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="actiongroup.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="actiongroup.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="hexenpanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="hexenpanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="arg1label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="arg1label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="arg0label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="arg0label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="arg2label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="arg2label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="doompanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="doompanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="groupBox3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="groupBox3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="fieldslist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="fieldslist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
</root> </root>

View file

@ -302,6 +302,7 @@ namespace CodeImp.DoomBuilder.Windows
this.Opacity = 0; this.Opacity = 0;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Edit Vertex"; this.Text = "Edit Vertex";
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.VertexEditForm_FormClosing);
this.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.VertexEditForm_HelpRequested); this.HelpRequested += new System.Windows.Forms.HelpEventHandler(this.VertexEditForm_HelpRequested);
tabproperties.ResumeLayout(false); tabproperties.ResumeLayout(false);
this.groupposition.ResumeLayout(false); this.groupposition.ResumeLayout(false);

View file

@ -22,6 +22,7 @@ using System.Windows.Forms;
using CodeImp.DoomBuilder.Geometry; using CodeImp.DoomBuilder.Geometry;
using CodeImp.DoomBuilder.Map; using CodeImp.DoomBuilder.Map;
using CodeImp.DoomBuilder.GZBuilder.Tools; using CodeImp.DoomBuilder.GZBuilder.Tools;
using System.Drawing;
#endregion #endregion
@ -47,6 +48,10 @@ namespace CodeImp.DoomBuilder.Windows
private bool blockUpdate; //mxd private bool blockUpdate; //mxd
private List<VertexProperties> vertexProps; //mxd private List<VertexProperties> vertexProps; //mxd
//mxd. Window setup stuff
private static Point location = Point.Empty;
private static int activeTab;
private struct VertexProperties //mxd private struct VertexProperties //mxd
{ {
public float X; public float X;
@ -71,6 +76,17 @@ namespace CodeImp.DoomBuilder.Windows
{ {
InitializeComponent(); InitializeComponent();
//mxd. Widow setup
if(location != Point.Empty) {
this.StartPosition = FormStartPosition.Manual;
this.Location = location;
if(activeTab > 0 && activeTab < tabs.TabCount) {
tabs.SelectTab(activeTab);
} else {
activeTab = 0;
}
}
if(General.Map.FormatInterface.HasCustomFields) { //mxd if(General.Map.FormatInterface.HasCustomFields) { //mxd
// Initialize custom fields editor // Initialize custom fields editor
fieldslist.Setup("vertex"); fieldslist.Setup("vertex");
@ -322,6 +338,12 @@ namespace CodeImp.DoomBuilder.Windows
fieldslist.Focus(); fieldslist.Focus();
} }
//mxd
private void VertexEditForm_FormClosing(object sender, FormClosingEventArgs e) {
location = this.Location;
activeTab = tabs.SelectedIndex;
}
// Help requested // Help requested
private void VertexEditForm_HelpRequested(object sender, HelpEventArgs hlpevent) private void VertexEditForm_HelpRequested(object sender, HelpEventArgs hlpevent)
{ {

View file

@ -1,162 +1,162 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="tabproperties.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="tabproperties.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="tabproperties.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="tabproperties.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="groupposition.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="groupposition.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label2.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label3.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label1.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label1.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="label6.GenerateMember" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>False</value> <value>False</value>
</metadata> </metadata>
<metadata name="tabs.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="tabs.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="fieldslist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="fieldslist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="cancel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="cancel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="apply.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="apply.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
<metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> <metadata name="$this.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value> <value>True</value>
</metadata> </metadata>
</root> </root>

View file

@ -276,6 +276,12 @@
<Compile Include="Interface\EditSelectionPanel.Designer.cs"> <Compile Include="Interface\EditSelectionPanel.Designer.cs">
<DependentUpon>EditSelectionPanel.cs</DependentUpon> <DependentUpon>EditSelectionPanel.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Interface\SectorDrawingOptionsPanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Interface\SectorDrawingOptionsPanel.Designer.cs">
<DependentUpon>SectorDrawingOptionsPanel.cs</DependentUpon>
</Compile>
<Compile Include="Interface\WavefrontSettingsForm.cs"> <Compile Include="Interface\WavefrontSettingsForm.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
@ -386,6 +392,9 @@
<EmbeddedResource Include="Resources\FloorAlign.png" /> <EmbeddedResource Include="Resources\FloorAlign.png" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="Interface\SectorDrawingOptionsPanel.resx">
<DependentUpon>SectorDrawingOptionsPanel.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Interface\WavefrontSettingsForm.resx"> <EmbeddedResource Include="Interface\WavefrontSettingsForm.resx">
<DependentUpon>WavefrontSettingsForm.cs</DependentUpon> <DependentUpon>WavefrontSettingsForm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>

View file

@ -180,7 +180,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.ClassicModes
} }
// Make the drawing // Make the drawing
if(!Tools.DrawLines(verts, General.Settings.GZForceDefaultTextures, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate)) //mxd if(!Tools.DrawLines(verts, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate)) //mxd
{ {
// Drawing failed // Drawing failed
// NOTE: I have to call this twice, because the first time only cancels this volatile mode // NOTE: I have to call this twice, because the first time only cancels this volatile mode

View file

@ -471,7 +471,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
General.Interface.DisplayStatus(StatusType.Action, "Created " + a + word + " drawing."); General.Interface.DisplayStatus(StatusType.Action, "Created " + a + word + " drawing.");
// Make the drawing // Make the drawing
if(!Tools.DrawLines(points, General.Settings.GZForceDefaultTextures, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate)) //mxd if(!Tools.DrawLines(points, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate)) //mxd
{ {
// Drawing failed // Drawing failed
// NOTE: I have to call this twice, because the first time only cancels this volatile mode // NOTE: I have to call this twice, because the first time only cancels this volatile mode

View file

@ -261,7 +261,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.ClassicModes
General.Interface.DisplayStatus(StatusType.Action, "Created " + a + word + " " + shapeName+"."); General.Interface.DisplayStatus(StatusType.Action, "Created " + a + word + " " + shapeName+".");
// Make the drawing // Make the drawing
if (!Tools.DrawLines(points, General.Settings.GZForceDefaultTextures, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate)) { if (!Tools.DrawLines(points, true, BuilderPlug.Me.AutoAlignTextureOffsetsOnCreate)) {
// Drawing failed // Drawing failed
// NOTE: I have to call this twice, because the first time only cancels this volatile mode // NOTE: I have to call this twice, because the first time only cancels this volatile mode
General.Map.UndoRedo.WithdrawUndo(); General.Map.UndoRedo.WithdrawUndo();

View file

@ -428,7 +428,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
private void vertexEditForm_OnValuesChanged(object sender, EventArgs e) { private void vertexEditForm_OnValuesChanged(object sender, EventArgs e) {
// Update entire display // Update entire display
General.Map.Map.Update(); General.Map.Map.Update();
//General.Map.Renderer2D.Update3dFloorIndicators();
General.Interface.RedrawDisplay(); General.Interface.RedrawDisplay();
} }

View file

@ -91,9 +91,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
General.Settings.FindDefaultDrawSettings(); General.Settings.FindDefaultDrawSettings();
switch (part) switch (part)
{ {
case SidedefPart.Upper: side.SetTextureHigh(General.Settings.DefaultTexture); break; case SidedefPart.Upper: side.SetTextureHigh(General.Map.Options.DefaultWallTexture); break;
case SidedefPart.Middle: side.SetTextureMid(General.Settings.DefaultTexture); break; case SidedefPart.Middle: side.SetTextureMid(General.Map.Options.DefaultWallTexture); break;
case SidedefPart.Lower: side.SetTextureLow(General.Settings.DefaultTexture); break; case SidedefPart.Lower: side.SetTextureLow(General.Map.Options.DefaultWallTexture); break;
} }
General.Map.Map.Update(); General.Map.Map.Update();

View file

@ -79,9 +79,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
General.Settings.FindDefaultDrawSettings(); General.Settings.FindDefaultDrawSettings();
if(ceiling) if(ceiling)
sector.SetCeilTexture(General.Settings.DefaultCeilingTexture); sector.SetCeilTexture(General.Map.Options.DefaultCeilingTexture);
else else
sector.SetFloorTexture(General.Settings.DefaultFloorTexture); sector.SetFloorTexture(General.Map.Options.DefaultFloorTexture);
General.Map.Map.Update(); General.Map.Map.Update();
return true; return true;

View file

@ -105,9 +105,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
General.Settings.FindDefaultDrawSettings(); General.Settings.FindDefaultDrawSettings();
switch(part) switch(part)
{ {
case SidedefPart.Upper: side.SetTextureHigh(General.Settings.DefaultTexture); break; case SidedefPart.Upper: side.SetTextureHigh(General.Map.Options.DefaultWallTexture); break;
case SidedefPart.Middle: side.SetTextureMid(General.Settings.DefaultTexture); break; case SidedefPart.Middle: side.SetTextureMid(General.Map.Options.DefaultWallTexture); break;
case SidedefPart.Lower: side.SetTextureLow(General.Settings.DefaultTexture); break; case SidedefPart.Lower: side.SetTextureLow(General.Map.Options.DefaultWallTexture); break;
} }
General.Map.Map.Update(); General.Map.Map.Update();

View file

@ -76,6 +76,8 @@ namespace CodeImp.DoomBuilder.BuilderModes
// Dockers // Dockers
private UndoRedoPanel undoredopanel; private UndoRedoPanel undoredopanel;
private Docker undoredodocker; private Docker undoredodocker;
private SectorDrawingOptionsPanel drawingOverridesPanel; //mxd
private Docker drawingOverridesDocker; //mxd
//mxd //mxd
private ToolStripMenuItem exportToObjMenuItem; private ToolStripMenuItem exportToObjMenuItem;
@ -219,6 +221,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
undoredodocker = new Docker("undoredo", "Undo / Redo", undoredopanel); undoredodocker = new Docker("undoredo", "Undo / Redo", undoredopanel);
General.Interface.AddDocker(undoredodocker); General.Interface.AddDocker(undoredodocker);
//mxd. Load Sector Drawing Overrides docker
drawingOverridesPanel = new SectorDrawingOptionsPanel();
drawingOverridesDocker = new Docker("drawingoverrides", "Draw Settings", drawingOverridesPanel);
//mxd. Export to .obj //mxd. Export to .obj
exportToObjMenuItem = new ToolStripMenuItem("Export to .obj..."); exportToObjMenuItem = new ToolStripMenuItem("Export to .obj...");
exportToObjMenuItem.Tag = "exporttoobj"; exportToObjMenuItem.Tag = "exporttoobj";
@ -279,6 +285,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
{ {
// Clean up // Clean up
General.Interface.RemoveDocker(undoredodocker); General.Interface.RemoveDocker(undoredodocker);
General.Interface.RemoveDocker(drawingOverridesDocker); //mxd
//mxd //mxd
General.Interface.RemoveMenu(exportToObjMenuItem); General.Interface.RemoveMenu(exportToObjMenuItem);
@ -454,6 +461,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
undoredopanel.SetBeginDescription("New Map"); undoredopanel.SetBeginDescription("New Map");
undoredopanel.UpdateList(); undoredopanel.UpdateList();
//mxd
General.Interface.AddDocker(drawingOverridesDocker);
drawingOverridesPanel.Setup();
//mxd //mxd
exportToObjMenuItem.Enabled = true; exportToObjMenuItem.Enabled = true;
snapModeMenuItem.Enabled = true; snapModeMenuItem.Enabled = true;
@ -470,6 +481,10 @@ namespace CodeImp.DoomBuilder.BuilderModes
undoredopanel.SetBeginDescription("Opened Map"); undoredopanel.SetBeginDescription("Opened Map");
undoredopanel.UpdateList(); undoredopanel.UpdateList();
//mxd
General.Interface.AddDocker(drawingOverridesDocker);
drawingOverridesPanel.Setup();
//mxd //mxd
exportToObjMenuItem.Enabled = true; exportToObjMenuItem.Enabled = true;
snapModeMenuItem.Enabled = true; snapModeMenuItem.Enabled = true;
@ -487,6 +502,9 @@ namespace CodeImp.DoomBuilder.BuilderModes
base.OnMapCloseEnd(); base.OnMapCloseEnd();
undoredopanel.UpdateList(); undoredopanel.UpdateList();
//mxd
General.Interface.RemoveDocker(drawingOverridesDocker);
//mxd //mxd
exportToObjMenuItem.Enabled = false; exportToObjMenuItem.Enabled = false;
snapModeMenuItem.Enabled = false; snapModeMenuItem.Enabled = false;

View file

@ -59,21 +59,11 @@ namespace CodeImp.DoomBuilder.BuilderModes
this.label10 = new System.Windows.Forms.Label(); this.label10 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label(); this.label1 = new System.Windows.Forms.Label();
this.heightbysidedef = new System.Windows.Forms.ComboBox(); this.heightbysidedef = new System.Windows.Forms.ComboBox();
this.groupBox4 = new System.Windows.Forms.GroupBox();
this.defaultbrightness = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.label11 = new System.Windows.Forms.Label();
this.defaultceilheight = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.label12 = new System.Windows.Forms.Label();
this.defaultfloorheight = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.label13 = new System.Windows.Forms.Label();
this.label14 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.tabs.SuspendLayout(); this.tabs.SuspendLayout();
this.taboptions.SuspendLayout(); this.taboptions.SuspendLayout();
this.groupBox3.SuspendLayout(); this.groupBox3.SuspendLayout();
this.groupBox2.SuspendLayout(); this.groupBox2.SuspendLayout();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.groupBox4.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
// tabs // tabs
@ -91,7 +81,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
// //
// taboptions // taboptions
// //
this.taboptions.Controls.Add(this.groupBox4);
this.taboptions.Controls.Add(this.groupBox3); this.taboptions.Controls.Add(this.groupBox3);
this.taboptions.Controls.Add(this.groupBox2); this.taboptions.Controls.Add(this.groupBox2);
this.taboptions.Controls.Add(this.groupBox1); this.taboptions.Controls.Add(this.groupBox1);
@ -239,7 +228,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
this.groupBox2.Controls.Add(this.label7); this.groupBox2.Controls.Add(this.label7);
this.groupBox2.Location = new System.Drawing.Point(6, 104); this.groupBox2.Location = new System.Drawing.Point(6, 104);
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(272, 151); this.groupBox2.Size = new System.Drawing.Size(272, 287);
this.groupBox2.TabIndex = 17; this.groupBox2.TabIndex = 17;
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
this.groupBox2.Text = " Ranges "; this.groupBox2.Text = " Ranges ";
@ -251,7 +240,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
this.splitlinedefsrange.AllowRelative = false; this.splitlinedefsrange.AllowRelative = false;
this.splitlinedefsrange.ButtonStep = 5; this.splitlinedefsrange.ButtonStep = 5;
this.splitlinedefsrange.ButtonStepFloat = 1F; this.splitlinedefsrange.ButtonStepFloat = 1F;
this.splitlinedefsrange.Location = new System.Drawing.Point(156, 111); this.splitlinedefsrange.Location = new System.Drawing.Point(156, 117);
this.splitlinedefsrange.Name = "splitlinedefsrange"; this.splitlinedefsrange.Name = "splitlinedefsrange";
this.splitlinedefsrange.Size = new System.Drawing.Size(59, 24); this.splitlinedefsrange.Size = new System.Drawing.Size(59, 24);
this.splitlinedefsrange.StepValues = null; this.splitlinedefsrange.StepValues = null;
@ -264,7 +253,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
this.stitchrange.AllowRelative = false; this.stitchrange.AllowRelative = false;
this.stitchrange.ButtonStep = 5; this.stitchrange.ButtonStep = 5;
this.stitchrange.ButtonStepFloat = 1F; this.stitchrange.ButtonStepFloat = 1F;
this.stitchrange.Location = new System.Drawing.Point(156, 81); this.stitchrange.Location = new System.Drawing.Point(156, 85);
this.stitchrange.Name = "stitchrange"; this.stitchrange.Name = "stitchrange";
this.stitchrange.Size = new System.Drawing.Size(59, 24); this.stitchrange.Size = new System.Drawing.Size(59, 24);
this.stitchrange.StepValues = null; this.stitchrange.StepValues = null;
@ -277,7 +266,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
this.highlightthingsrange.AllowRelative = false; this.highlightthingsrange.AllowRelative = false;
this.highlightthingsrange.ButtonStep = 5; this.highlightthingsrange.ButtonStep = 5;
this.highlightthingsrange.ButtonStepFloat = 1F; this.highlightthingsrange.ButtonStepFloat = 1F;
this.highlightthingsrange.Location = new System.Drawing.Point(156, 51); this.highlightthingsrange.Location = new System.Drawing.Point(156, 53);
this.highlightthingsrange.Name = "highlightthingsrange"; this.highlightthingsrange.Name = "highlightthingsrange";
this.highlightthingsrange.Size = new System.Drawing.Size(59, 24); this.highlightthingsrange.Size = new System.Drawing.Size(59, 24);
this.highlightthingsrange.StepValues = null; this.highlightthingsrange.StepValues = null;
@ -299,7 +288,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
// label8 // label8
// //
this.label8.AutoSize = true; this.label8.AutoSize = true;
this.label8.Location = new System.Drawing.Point(221, 116); this.label8.Location = new System.Drawing.Point(221, 122);
this.label8.Name = "label8"; this.label8.Name = "label8";
this.label8.Size = new System.Drawing.Size(35, 14); this.label8.Size = new System.Drawing.Size(35, 14);
this.label8.TabIndex = 15; this.label8.TabIndex = 15;
@ -308,7 +297,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
// label2 // label2
// //
this.label2.AutoSize = true; this.label2.AutoSize = true;
this.label2.Location = new System.Drawing.Point(33, 86); this.label2.Location = new System.Drawing.Point(33, 90);
this.label2.Name = "label2"; this.label2.Name = "label2";
this.label2.Size = new System.Drawing.Size(117, 14); this.label2.Size = new System.Drawing.Size(117, 14);
this.label2.TabIndex = 4; this.label2.TabIndex = 4;
@ -318,7 +307,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
// label3 // label3
// //
this.label3.AutoSize = true; this.label3.AutoSize = true;
this.label3.Location = new System.Drawing.Point(221, 86); this.label3.Location = new System.Drawing.Point(221, 90);
this.label3.Name = "label3"; this.label3.Name = "label3";
this.label3.Size = new System.Drawing.Size(35, 14); this.label3.Size = new System.Drawing.Size(35, 14);
this.label3.TabIndex = 6; this.label3.TabIndex = 6;
@ -327,7 +316,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
// label9 // label9
// //
this.label9.AutoSize = true; this.label9.AutoSize = true;
this.label9.Location = new System.Drawing.Point(47, 115); this.label9.Location = new System.Drawing.Point(47, 121);
this.label9.Name = "label9"; this.label9.Name = "label9";
this.label9.Size = new System.Drawing.Size(103, 14); this.label9.Size = new System.Drawing.Size(103, 14);
this.label9.TabIndex = 13; this.label9.TabIndex = 13;
@ -347,7 +336,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
// label6 // label6
// //
this.label6.AutoSize = true; this.label6.AutoSize = true;
this.label6.Location = new System.Drawing.Point(221, 55); this.label6.Location = new System.Drawing.Point(221, 57);
this.label6.Name = "label6"; this.label6.Name = "label6";
this.label6.Size = new System.Drawing.Size(35, 14); this.label6.Size = new System.Drawing.Size(35, 14);
this.label6.TabIndex = 12; this.label6.TabIndex = 12;
@ -365,7 +354,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
// label7 // label7
// //
this.label7.AutoSize = true; this.label7.AutoSize = true;
this.label7.Location = new System.Drawing.Point(36, 56); this.label7.Location = new System.Drawing.Point(36, 58);
this.label7.Name = "label7"; this.label7.Name = "label7";
this.label7.Size = new System.Drawing.Size(114, 14); this.label7.Size = new System.Drawing.Size(114, 14);
this.label7.TabIndex = 10; this.label7.TabIndex = 10;
@ -432,110 +421,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
this.heightbysidedef.Size = new System.Drawing.Size(309, 22); this.heightbysidedef.Size = new System.Drawing.Size(309, 22);
this.heightbysidedef.TabIndex = 0; this.heightbysidedef.TabIndex = 0;
// //
// groupBox4
//
this.groupBox4.Controls.Add(this.label15);
this.groupBox4.Controls.Add(this.label14);
this.groupBox4.Controls.Add(this.defaultfloorheight);
this.groupBox4.Controls.Add(this.label13);
this.groupBox4.Controls.Add(this.defaultceilheight);
this.groupBox4.Controls.Add(this.label12);
this.groupBox4.Controls.Add(this.defaultbrightness);
this.groupBox4.Controls.Add(this.label11);
this.groupBox4.Location = new System.Drawing.Point(6, 261);
this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(272, 130);
this.groupBox4.TabIndex = 19;
this.groupBox4.TabStop = false;
this.groupBox4.Text = " Default sector values";
//
// defaultbrightness
//
this.defaultbrightness.AllowDecimal = false;
this.defaultbrightness.AllowNegative = false;
this.defaultbrightness.AllowRelative = false;
this.defaultbrightness.ButtonStep = 5;
this.defaultbrightness.ButtonStepFloat = 1F;
this.defaultbrightness.Location = new System.Drawing.Point(156, 23);
this.defaultbrightness.Name = "defaultbrightness";
this.defaultbrightness.Size = new System.Drawing.Size(59, 24);
this.defaultbrightness.StepValues = null;
this.defaultbrightness.TabIndex = 21;
//
// label11
//
this.label11.AutoSize = true;
this.label11.Location = new System.Drawing.Point(52, 28);
this.label11.Name = "label11";
this.label11.Size = new System.Drawing.Size(98, 14);
this.label11.TabIndex = 20;
this.label11.Text = "Default brightness:";
this.label11.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// defaultceilheight
//
this.defaultceilheight.AllowDecimal = false;
this.defaultceilheight.AllowNegative = false;
this.defaultceilheight.AllowRelative = false;
this.defaultceilheight.ButtonStep = 5;
this.defaultceilheight.ButtonStepFloat = 1F;
this.defaultceilheight.Location = new System.Drawing.Point(156, 53);
this.defaultceilheight.Name = "defaultceilheight";
this.defaultceilheight.Size = new System.Drawing.Size(59, 24);
this.defaultceilheight.StepValues = null;
this.defaultceilheight.TabIndex = 23;
//
// label12
//
this.label12.AutoSize = true;
this.label12.Location = new System.Drawing.Point(41, 58);
this.label12.Name = "label12";
this.label12.Size = new System.Drawing.Size(109, 14);
this.label12.TabIndex = 22;
this.label12.Text = "Default ceiling height:";
this.label12.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// defaultfloorheight
//
this.defaultfloorheight.AllowDecimal = false;
this.defaultfloorheight.AllowNegative = false;
this.defaultfloorheight.AllowRelative = false;
this.defaultfloorheight.ButtonStep = 5;
this.defaultfloorheight.ButtonStepFloat = 1F;
this.defaultfloorheight.Location = new System.Drawing.Point(156, 83);
this.defaultfloorheight.Name = "defaultfloorheight";
this.defaultfloorheight.Size = new System.Drawing.Size(59, 24);
this.defaultfloorheight.StepValues = null;
this.defaultfloorheight.TabIndex = 25;
//
// label13
//
this.label13.AutoSize = true;
this.label13.Location = new System.Drawing.Point(49, 88);
this.label13.Name = "label13";
this.label13.Size = new System.Drawing.Size(101, 14);
this.label13.TabIndex = 24;
this.label13.Text = "Default floor height:";
this.label13.TextAlign = System.Drawing.ContentAlignment.TopRight;
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(221, 58);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(27, 14);
this.label14.TabIndex = 20;
this.label14.Text = "m.u.";
//
// label15
//
this.label15.AutoSize = true;
this.label15.Location = new System.Drawing.Point(221, 88);
this.label15.Name = "label15";
this.label15.Size = new System.Drawing.Size(27, 14);
this.label15.TabIndex = 26;
this.label15.Text = "m.u.";
//
// PreferencesForm // PreferencesForm
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
@ -556,8 +441,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
this.groupBox2.PerformLayout(); this.groupBox2.PerformLayout();
this.groupBox1.ResumeLayout(false); this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout(); this.groupBox1.PerformLayout();
this.groupBox4.ResumeLayout(false);
this.groupBox4.PerformLayout();
this.ResumeLayout(false); this.ResumeLayout(false);
} }
@ -595,14 +478,5 @@ namespace CodeImp.DoomBuilder.BuilderModes
private System.Windows.Forms.CheckBox autoalignDraggedSidedefsOffsetX; private System.Windows.Forms.CheckBox autoalignDraggedSidedefsOffsetX;
private System.Windows.Forms.CheckBox dontMoveGeometryOutsideBounds; private System.Windows.Forms.CheckBox dontMoveGeometryOutsideBounds;
private System.Windows.Forms.CheckBox syncSelection; private System.Windows.Forms.CheckBox syncSelection;
private System.Windows.Forms.GroupBox groupBox4;
private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox defaultbrightness;
private System.Windows.Forms.Label label11;
private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox defaultfloorheight;
private System.Windows.Forms.Label label13;
private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox defaultceilheight;
private System.Windows.Forms.Label label12;
private System.Windows.Forms.Label label15;
private System.Windows.Forms.Label label14;
} }
} }

View file

@ -27,8 +27,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
{ {
#region ================== Variables #region ================== Variables
//private PreferencesController controller;
#endregion #endregion
#region ================== Properties #region ================== Properties
@ -59,9 +57,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
autoalignDraggedSidedefsOffsetX.Checked = BuilderPlug.Me.AutoAlignTextureOffsetsOnDrag; //mxd autoalignDraggedSidedefsOffsetX.Checked = BuilderPlug.Me.AutoAlignTextureOffsetsOnDrag; //mxd
dontMoveGeometryOutsideBounds.Checked = BuilderPlug.Me.DontMoveGeometryOutsideMapBoundary; //mxd dontMoveGeometryOutsideBounds.Checked = BuilderPlug.Me.DontMoveGeometryOutsideMapBoundary; //mxd
syncSelection.Checked = BuilderPlug.Me.SyncSelection; //mxd syncSelection.Checked = BuilderPlug.Me.SyncSelection; //mxd
defaultbrightness.Text = General.Settings.DefaultBrightness.ToString(); //mxd
defaultceilheight.Text = General.Settings.DefaultCeilingHeight.ToString();//mxd
defaultfloorheight.Text = General.Settings.DefaultFloorHeight.ToString(); //mxd
} }
#endregion #endregion
@ -88,16 +83,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
General.Settings.WritePluginSetting("autoaligntextureoffsetsondrag", autoalignDraggedSidedefsOffsetX.Checked);//mxd General.Settings.WritePluginSetting("autoaligntextureoffsetsondrag", autoalignDraggedSidedefsOffsetX.Checked);//mxd
General.Settings.WritePluginSetting("dontmovegeometryoutsidemapboundary", dontMoveGeometryOutsideBounds.Checked);//mxd General.Settings.WritePluginSetting("dontmovegeometryoutsidemapboundary", dontMoveGeometryOutsideBounds.Checked);//mxd
General.Settings.WritePluginSetting("syncselection", syncSelection.Checked);//mxd General.Settings.WritePluginSetting("syncselection", syncSelection.Checked);//mxd
//default sector values
General.Settings.DefaultBrightness = General.Clamp(defaultbrightness.GetResult(192), 0, 255);
int ceilHeight = defaultceilheight.GetResult(128);
int floorHeight = defaultfloorheight.GetResult(0);
if(ceilHeight < floorHeight) General.Swap(ref ceilHeight, ref floorHeight);
General.Settings.DefaultCeilingHeight = ceilHeight;
General.Settings.DefaultFloorHeight = floorHeight;
} }
// When Cancel is pressed on the preferences dialog // When Cancel is pressed on the preferences dialog
@ -112,8 +97,6 @@ namespace CodeImp.DoomBuilder.BuilderModes
// This sets up the form with the preferences controller // This sets up the form with the preferences controller
public void Setup(PreferencesController controller) public void Setup(PreferencesController controller)
{ {
//this.controller = controller;
// Add tab pages // Add tab pages
foreach(TabPage p in tabs.TabPages) foreach(TabPage p in tabs.TabPages)
{ {

View file

@ -0,0 +1,275 @@
namespace CodeImp.DoomBuilder.BuilderModes.Interface
{
partial class SectorDrawingOptionsPanel
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing) {
if(disposing && (components != null)) {
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent() {
this.groupBox1 = new System.Windows.Forms.GroupBox();
this.cbOverrideCeilingTexture = new System.Windows.Forms.CheckBox();
this.groupBox2 = new System.Windows.Forms.GroupBox();
this.cbOverrideFloorTexture = new System.Windows.Forms.CheckBox();
this.cbOverrideWallTexture = new System.Windows.Forms.CheckBox();
this.cbFloorHeight = new System.Windows.Forms.CheckBox();
this.cbCeilHeight = new System.Windows.Forms.CheckBox();
this.cbBrightness = new System.Windows.Forms.CheckBox();
this.label14 = new System.Windows.Forms.Label();
this.label1 = new System.Windows.Forms.Label();
this.brightness = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.floorHeight = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.ceilHeight = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
this.walls = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
this.floor = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
this.ceiling = new CodeImp.DoomBuilder.Controls.TextureSelectorControl();
this.groupBox1.SuspendLayout();
this.groupBox2.SuspendLayout();
this.SuspendLayout();
//
// groupBox1
//
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox1.Controls.Add(this.cbOverrideWallTexture);
this.groupBox1.Controls.Add(this.cbOverrideFloorTexture);
this.groupBox1.Controls.Add(this.walls);
this.groupBox1.Controls.Add(this.cbOverrideCeilingTexture);
this.groupBox1.Controls.Add(this.floor);
this.groupBox1.Controls.Add(this.ceiling);
this.groupBox1.Location = new System.Drawing.Point(3, 3);
this.groupBox1.Name = "groupBox1";
this.groupBox1.Size = new System.Drawing.Size(243, 138);
this.groupBox1.TabIndex = 0;
this.groupBox1.TabStop = false;
this.groupBox1.Text = "Texture overrides:";
//
// cbOverrideCeilingTexture
//
this.cbOverrideCeilingTexture.AutoSize = true;
this.cbOverrideCeilingTexture.Location = new System.Drawing.Point(7, 19);
this.cbOverrideCeilingTexture.Name = "cbOverrideCeilingTexture";
this.cbOverrideCeilingTexture.Size = new System.Drawing.Size(57, 17);
this.cbOverrideCeilingTexture.TabIndex = 20;
this.cbOverrideCeilingTexture.Text = "Ceiling";
this.cbOverrideCeilingTexture.UseVisualStyleBackColor = true;
this.cbOverrideCeilingTexture.CheckedChanged += new System.EventHandler(this.cbOverrideCeilingTexture_CheckedChanged);
//
// groupBox2
//
this.groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.groupBox2.Controls.Add(this.label1);
this.groupBox2.Controls.Add(this.label14);
this.groupBox2.Controls.Add(this.cbBrightness);
this.groupBox2.Controls.Add(this.brightness);
this.groupBox2.Controls.Add(this.floorHeight);
this.groupBox2.Controls.Add(this.cbCeilHeight);
this.groupBox2.Controls.Add(this.cbFloorHeight);
this.groupBox2.Controls.Add(this.ceilHeight);
this.groupBox2.Location = new System.Drawing.Point(3, 147);
this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(243, 118);
this.groupBox2.TabIndex = 21;
this.groupBox2.TabStop = false;
this.groupBox2.Text = "Geometry overrides:";
//
// cbOverrideFloorTexture
//
this.cbOverrideFloorTexture.AutoSize = true;
this.cbOverrideFloorTexture.Location = new System.Drawing.Point(88, 19);
this.cbOverrideFloorTexture.Name = "cbOverrideFloorTexture";
this.cbOverrideFloorTexture.Size = new System.Drawing.Size(49, 17);
this.cbOverrideFloorTexture.TabIndex = 21;
this.cbOverrideFloorTexture.Text = "Floor";
this.cbOverrideFloorTexture.UseVisualStyleBackColor = true;
this.cbOverrideFloorTexture.CheckedChanged += new System.EventHandler(this.cbOverrideFloorTexture_CheckedChanged);
//
// cbOverrideWallTexture
//
this.cbOverrideWallTexture.AutoSize = true;
this.cbOverrideWallTexture.Location = new System.Drawing.Point(170, 19);
this.cbOverrideWallTexture.Name = "cbOverrideWallTexture";
this.cbOverrideWallTexture.Size = new System.Drawing.Size(52, 17);
this.cbOverrideWallTexture.TabIndex = 22;
this.cbOverrideWallTexture.Text = "Walls";
this.cbOverrideWallTexture.UseVisualStyleBackColor = true;
this.cbOverrideWallTexture.CheckedChanged += new System.EventHandler(this.cbOverrideWallTexture_CheckedChanged);
//
// cbFloorHeight
//
this.cbFloorHeight.AutoSize = true;
this.cbFloorHeight.Location = new System.Drawing.Point(7, 52);
this.cbFloorHeight.Name = "cbFloorHeight";
this.cbFloorHeight.Size = new System.Drawing.Size(84, 17);
this.cbFloorHeight.TabIndex = 23;
this.cbFloorHeight.Text = "Floor height:";
this.cbFloorHeight.UseVisualStyleBackColor = true;
this.cbFloorHeight.CheckedChanged += new System.EventHandler(this.cbFloorHeight_CheckedChanged);
//
// cbCeilHeight
//
this.cbCeilHeight.AutoSize = true;
this.cbCeilHeight.Location = new System.Drawing.Point(7, 23);
this.cbCeilHeight.Name = "cbCeilHeight";
this.cbCeilHeight.Size = new System.Drawing.Size(92, 17);
this.cbCeilHeight.TabIndex = 24;
this.cbCeilHeight.Text = "Ceiling height:";
this.cbCeilHeight.UseVisualStyleBackColor = true;
this.cbCeilHeight.CheckedChanged += new System.EventHandler(this.cbCeilHeight_CheckedChanged);
//
// cbBrightness
//
this.cbBrightness.AutoSize = true;
this.cbBrightness.Location = new System.Drawing.Point(7, 82);
this.cbBrightness.Name = "cbBrightness";
this.cbBrightness.Size = new System.Drawing.Size(78, 17);
this.cbBrightness.TabIndex = 27;
this.cbBrightness.Text = "Brightness:";
this.cbBrightness.UseVisualStyleBackColor = true;
this.cbBrightness.CheckedChanged += new System.EventHandler(this.cbBrightness_CheckedChanged);
//
// label14
//
this.label14.AutoSize = true;
this.label14.Location = new System.Drawing.Point(182, 24);
this.label14.Name = "label14";
this.label14.Size = new System.Drawing.Size(27, 13);
this.label14.TabIndex = 28;
this.label14.Text = "m.u.";
//
// label1
//
this.label1.AutoSize = true;
this.label1.Location = new System.Drawing.Point(182, 53);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(27, 13);
this.label1.TabIndex = 29;
this.label1.Text = "m.u.";
//
// brightness
//
this.brightness.AllowDecimal = false;
this.brightness.AllowNegative = false;
this.brightness.AllowRelative = false;
this.brightness.ButtonStep = 16;
this.brightness.ButtonStepFloat = 1F;
this.brightness.Location = new System.Drawing.Point(105, 78);
this.brightness.Name = "brightness";
this.brightness.Size = new System.Drawing.Size(72, 24);
this.brightness.StepValues = null;
this.brightness.TabIndex = 26;
this.brightness.WhenTextChanged += new System.EventHandler(this.brightness_WhenTextChanged);
//
// floorHeight
//
this.floorHeight.AllowDecimal = false;
this.floorHeight.AllowNegative = true;
this.floorHeight.AllowRelative = false;
this.floorHeight.ButtonStep = 16;
this.floorHeight.ButtonStepFloat = 1F;
this.floorHeight.Location = new System.Drawing.Point(105, 48);
this.floorHeight.Name = "floorHeight";
this.floorHeight.Size = new System.Drawing.Size(72, 24);
this.floorHeight.StepValues = null;
this.floorHeight.TabIndex = 25;
this.floorHeight.WhenTextChanged += new System.EventHandler(this.floorHeight_WhenTextChanged);
//
// ceilHeight
//
this.ceilHeight.AllowDecimal = false;
this.ceilHeight.AllowNegative = true;
this.ceilHeight.AllowRelative = false;
this.ceilHeight.ButtonStep = 16;
this.ceilHeight.ButtonStepFloat = 1F;
this.ceilHeight.Location = new System.Drawing.Point(105, 18);
this.ceilHeight.Name = "ceilHeight";
this.ceilHeight.Size = new System.Drawing.Size(72, 24);
this.ceilHeight.StepValues = null;
this.ceilHeight.TabIndex = 11;
this.ceilHeight.WhenTextChanged += new System.EventHandler(this.ceilHeight_WhenTextChanged);
//
// walls
//
this.walls.Location = new System.Drawing.Point(168, 41);
this.walls.Name = "walls";
this.walls.Required = false;
this.walls.Size = new System.Drawing.Size(68, 90);
this.walls.TabIndex = 19;
this.walls.TextureName = "";
this.walls.OnValueChanged += new System.EventHandler(this.walls_OnValueChanged);
//
// floor
//
this.floor.Location = new System.Drawing.Point(87, 41);
this.floor.Name = "floor";
this.floor.Required = false;
this.floor.Size = new System.Drawing.Size(68, 90);
this.floor.TabIndex = 17;
this.floor.TextureName = "";
this.floor.OnValueChanged += new System.EventHandler(this.floor_OnValueChanged);
//
// ceiling
//
this.ceiling.Location = new System.Drawing.Point(6, 41);
this.ceiling.Name = "ceiling";
this.ceiling.Required = false;
this.ceiling.Size = new System.Drawing.Size(68, 90);
this.ceiling.TabIndex = 16;
this.ceiling.TextureName = "";
this.ceiling.OnValueChanged += new System.EventHandler(this.ceiling_OnValueChanged);
//
// SectorDrawingOptionsPanel
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.groupBox2);
this.Controls.Add(this.groupBox1);
this.Name = "SectorDrawingOptionsPanel";
this.Size = new System.Drawing.Size(249, 600);
this.groupBox1.ResumeLayout(false);
this.groupBox1.PerformLayout();
this.groupBox2.ResumeLayout(false);
this.groupBox2.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.GroupBox groupBox1;
private System.Windows.Forms.CheckBox cbOverrideCeilingTexture;
private CodeImp.DoomBuilder.Controls.TextureSelectorControl walls;
private CodeImp.DoomBuilder.Controls.TextureSelectorControl floor;
private CodeImp.DoomBuilder.Controls.TextureSelectorControl ceiling;
private System.Windows.Forms.GroupBox groupBox2;
private System.Windows.Forms.CheckBox cbOverrideWallTexture;
private System.Windows.Forms.CheckBox cbOverrideFloorTexture;
private System.Windows.Forms.CheckBox cbBrightness;
private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox brightness;
private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox floorHeight;
private System.Windows.Forms.CheckBox cbCeilHeight;
private System.Windows.Forms.CheckBox cbFloorHeight;
private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox ceilHeight;
private System.Windows.Forms.Label label1;
private System.Windows.Forms.Label label14;
}
}

View file

@ -0,0 +1,113 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace CodeImp.DoomBuilder.BuilderModes.Interface
{
public partial class SectorDrawingOptionsPanel : UserControl
{
#region Constructor / Setup
public SectorDrawingOptionsPanel() {
InitializeComponent();
}
public void Setup() {
ceilHeight.Text = General.Map.Options.DefaultCeilingHeight.ToString();
floorHeight.Text = General.Map.Options.DefaultFloorHeight.ToString();
brightness.StepValues = General.Map.Config.BrightnessLevels;
brightness.Text = General.Map.Options.DefaultBrightness.ToString();
ceiling.TextureName = General.Map.Options.DefaultCeilingTexture;
floor.TextureName = General.Map.Options.DefaultFloorTexture;
walls.TextureName = General.Map.Options.DefaultWallTexture;
cbOverrideCeilingTexture.Checked = General.Map.Options.OverrideCeilingTexture;
cbOverrideFloorTexture.Checked = General.Map.Options.OverrideFloorTexture;
cbOverrideWallTexture.Checked = General.Map.Options.OverrideWallTexture;
cbCeilHeight.Checked = General.Map.Options.OverrideCeilingHeight;
cbFloorHeight.Checked = General.Map.Options.OverrideFloorHeight;
cbBrightness.Checked = General.Map.Options.OverrideBrightness;
ceiling.Enabled = cbOverrideCeilingTexture.Checked;
floor.Enabled = cbOverrideFloorTexture.Checked;
walls.Enabled = cbOverrideWallTexture.Checked;
ceilHeight.Enabled = cbCeilHeight.Checked;
floorHeight.Enabled = cbFloorHeight.Checked;
brightness.Enabled = cbBrightness.Checked;
}
#endregion
#region Checkbox Events
private void cbOverrideCeilingTexture_CheckedChanged(object sender, EventArgs e) {
ceiling.Enabled = cbOverrideCeilingTexture.Checked;
General.Map.Options.OverrideCeilingTexture = cbOverrideCeilingTexture.Checked;
}
private void cbOverrideFloorTexture_CheckedChanged(object sender, EventArgs e) {
floor.Enabled = cbOverrideFloorTexture.Checked;
General.Map.Options.OverrideFloorTexture = cbOverrideFloorTexture.Checked;
}
private void cbOverrideWallTexture_CheckedChanged(object sender, EventArgs e) {
walls.Enabled = cbOverrideWallTexture.Checked;
General.Map.Options.OverrideWallTexture = cbOverrideWallTexture.Checked;
}
private void cbCeilHeight_CheckedChanged(object sender, EventArgs e) {
ceilHeight.Enabled = cbCeilHeight.Checked;
General.Map.Options.OverrideCeilingHeight = cbCeilHeight.Checked;
}
private void cbFloorHeight_CheckedChanged(object sender, EventArgs e) {
floorHeight.Enabled = cbFloorHeight.Checked;
General.Map.Options.OverrideFloorHeight = cbFloorHeight.Checked;
}
private void cbBrightness_CheckedChanged(object sender, EventArgs e) {
brightness.Enabled = cbBrightness.Checked;
General.Map.Options.OverrideBrightness = cbBrightness.Checked;
}
#endregion
#region Inputs Events
private void ceilHeight_WhenTextChanged(object sender, EventArgs e) {
General.Map.Options.DefaultCeilingHeight = ceilHeight.GetResult(General.Map.Options.DefaultCeilingHeight);
}
private void floorHeight_WhenTextChanged(object sender, EventArgs e) {
General.Map.Options.DefaultFloorHeight = floorHeight.GetResult(General.Map.Options.DefaultFloorHeight);
}
private void brightness_WhenTextChanged(object sender, EventArgs e) {
General.Map.Options.DefaultBrightness = General.Clamp(brightness.GetResult(General.Map.Options.DefaultBrightness), 0, 255);
}
private void ceiling_OnValueChanged(object sender, EventArgs e) {
General.Map.Options.DefaultCeilingTexture = ceiling.TextureName;
}
private void floor_OnValueChanged(object sender, EventArgs e) {
General.Map.Options.DefaultFloorTexture = floor.TextureName;
}
private void walls_OnValueChanged(object sender, EventArgs e) {
General.Map.Options.DefaultWallTexture = walls.TextureName;
}
/*private void SectorDrawingOptionsPanel_MouseLeave(object sender, EventArgs e) {
General.Interface.FocusDisplay();
}*/
#endregion
}
}

View file

@ -0,0 +1,120 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View file

@ -549,7 +549,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
mode.CreateUndo("Create middle texture"); mode.CreateUndo("Create middle texture");
mode.SetActionResult("Created middle texture."); mode.SetActionResult("Created middle texture.");
General.Settings.FindDefaultDrawSettings(); General.Settings.FindDefaultDrawSettings();
Sidedef.SetTextureMid(General.Settings.DefaultTexture); Sidedef.SetTextureMid(General.Map.Options.DefaultWallTexture);
// Update // Update
Sector.Changed = true; Sector.Changed = true;
@ -557,7 +557,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
// Other side as well // Other side as well
if(string.IsNullOrEmpty(Sidedef.Other.MiddleTexture) || (Sidedef.Other.MiddleTexture == "-")) if(string.IsNullOrEmpty(Sidedef.Other.MiddleTexture) || (Sidedef.Other.MiddleTexture == "-"))
{ {
Sidedef.Other.SetTextureMid(General.Settings.DefaultTexture); Sidedef.Other.SetTextureMid(General.Map.Options.DefaultWallTexture);
// Update // Update
VisualSector othersector = mode.GetVisualSector(Sidedef.Other.Sector); VisualSector othersector = mode.GetVisualSector(Sidedef.Other.Sector);

View file

@ -30,8 +30,8 @@
this.btnClearSearch = new System.Windows.Forms.Button(); this.btnClearSearch = new System.Windows.Forms.Button();
this.tbSearch = new System.Windows.Forms.TextBox(); this.tbSearch = new System.Windows.Forms.TextBox();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.updatetimer = new System.Windows.Forms.Timer(this.components);
this.bExportToFile = new System.Windows.Forms.Button(); this.bExportToFile = new System.Windows.Forms.Button();
this.updatetimer = new System.Windows.Forms.Timer(this.components);
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
// //
@ -53,7 +53,6 @@
this.treeView.AfterLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeView_AfterLabelEdit); this.treeView.AfterLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeView_AfterLabelEdit);
this.treeView.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView_NodeMouseClick); this.treeView.NodeMouseClick += new System.Windows.Forms.TreeNodeMouseClickEventHandler(this.treeView_NodeMouseClick);
this.treeView.BeforeLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeView_BeforeLabelEdit); this.treeView.BeforeLabelEdit += new System.Windows.Forms.NodeLabelEditEventHandler(this.treeView_BeforeLabelEdit);
this.treeView.MouseLeave += new System.EventHandler(this.treeView_MouseLeave);
// //
// imageList1 // imageList1
// //
@ -195,11 +194,6 @@
this.tbSearch.TabIndex = 7; this.tbSearch.TabIndex = 7;
this.tbSearch.TextChanged += new System.EventHandler(this.tbSearch_TextChanged); this.tbSearch.TextChanged += new System.EventHandler(this.tbSearch_TextChanged);
// //
// updatetimer
//
this.updatetimer.Interval = 750;
this.updatetimer.Tick += new System.EventHandler(this.updatetimer_Tick);
//
// bExportToFile // bExportToFile
// //
this.bExportToFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left) this.bExportToFile.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
@ -214,6 +208,11 @@
this.bExportToFile.UseVisualStyleBackColor = true; this.bExportToFile.UseVisualStyleBackColor = true;
this.bExportToFile.Click += new System.EventHandler(this.bExportToFile_Click); this.bExportToFile.Click += new System.EventHandler(this.bExportToFile_Click);
// //
// updatetimer
//
this.updatetimer.Interval = 750;
this.updatetimer.Tick += new System.EventHandler(this.updatetimer_Tick);
//
// TagExplorer // TagExplorer
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F); this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);

View file

@ -58,7 +58,6 @@ namespace CodeImp.DoomBuilder.TagExplorer
if (udmf) { if (udmf) {
cbCommentsOnly.Checked = General.Settings.ReadPluginSetting("commentsonly", false); cbCommentsOnly.Checked = General.Settings.ReadPluginSetting("commentsonly", false);
treeView.LabelEdit = true;
toolTip1.SetToolTip(tbSearch, "Enter text to find comment\r\nEnter # + tag number to show only specified tag. Example: #667\r\nEnter $ + effect number to show only specified effect. Example: $80"); toolTip1.SetToolTip(tbSearch, "Enter text to find comment\r\nEnter # + tag number to show only specified tag. Example: #667\r\nEnter $ + effect number to show only specified effect. Example: $80");
toolTip1.SetToolTip(treeView, "Double-click item to edit item's comment\r\nRight-click item to open item's Properties"); toolTip1.SetToolTip(treeView, "Double-click item to edit item's comment\r\nRight-click item to open item's Properties");
} else { } else {
@ -548,20 +547,22 @@ namespace CodeImp.DoomBuilder.TagExplorer
selection.Index = info.Index; selection.Index = info.Index;
if (e.Button == MouseButtons.Right) { //open element properties if (e.Button == MouseButtons.Right) { //open element properties
bool updateDisplay = false;
switch (info.Type) { switch (info.Type) {
case NodeInfoType.THING: case NodeInfoType.THING:
Thing t = General.Map.Map.GetThingByIndex(info.Index); Thing t = General.Map.Map.GetThingByIndex(info.Index);
if (t != null) General.Interface.ShowEditThings(new List<Thing>() { t }); updateDisplay = (t != null && General.Interface.ShowEditThings(new List<Thing>() { t }) == DialogResult.OK);
break; break;
case NodeInfoType.SECTOR: case NodeInfoType.SECTOR:
Sector s = General.Map.Map.GetSectorByIndex(info.Index); Sector s = General.Map.Map.GetSectorByIndex(info.Index);
if (s != null) General.Interface.ShowEditSectors(new List<Sector>() { s }); updateDisplay = (s != null && General.Interface.ShowEditSectors(new List<Sector>() { s }) == DialogResult.OK);
break; break;
case NodeInfoType.LINEDEF: case NodeInfoType.LINEDEF:
Linedef l = General.Map.Map.GetLinedefByIndex(info.Index); Linedef l = General.Map.Map.GetLinedefByIndex(info.Index);
if (l != null) General.Interface.ShowEditLinedefs(new List<Linedef>() { l }); updateDisplay = (l != null && General.Interface.ShowEditLinedefs(new List<Linedef>() { l }) == DialogResult.OK);
break; break;
default: default:
@ -569,8 +570,12 @@ namespace CodeImp.DoomBuilder.TagExplorer
break; break;
} }
General.Map.Map.Update(); if(updateDisplay) {
updateTree(true); // Update entire display
General.Map.Map.Update();
General.Interface.RedrawDisplay();
updateTree(true);
}
} else { } else {
//select element? //select element?
@ -660,6 +665,7 @@ namespace CodeImp.DoomBuilder.TagExplorer
NodeInfo info = e.Node.Tag as NodeInfo; NodeInfo info = e.Node.Tag as NodeInfo;
if (info == null) return; if (info == null) return;
treeView.LabelEdit = true;
e.Node.Text = info.Comment; //set node text to comment e.Node.Text = info.Comment; //set node text to comment
e.Node.BeginEdit(); //begin editing e.Node.BeginEdit(); //begin editing
} }
@ -667,11 +673,10 @@ namespace CodeImp.DoomBuilder.TagExplorer
//we don't want to edit categories if we are in UDMF //we don't want to edit categories if we are in UDMF
private void treeView_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e) { private void treeView_BeforeLabelEdit(object sender, NodeLabelEditEventArgs e) {
if (!udmf || e.Node.Tag == null) { if (!udmf || !treeView.LabelEdit || e.Node.Tag == null) {
e.CancelEdit = true; e.CancelEdit = true;
return; return;
} }
treeView.MouseLeave -= treeView_MouseLeave;
} }
//map should be in UDMF format, or we wouldn't be here //map should be in UDMF format, or we wouldn't be here
@ -682,17 +687,12 @@ namespace CodeImp.DoomBuilder.TagExplorer
//to set comment manually we actually have to cancel edit... //to set comment manually we actually have to cancel edit...
e.CancelEdit = true; e.CancelEdit = true;
e.Node.EndEdit(true); e.Node.EndEdit(true);
treeView.LabelEdit = false;
//apply comment //apply comment
if(e.Label != null) info.Comment = e.Label; if(e.Label != null) info.Comment = e.Label;
e.Node.Text = info.GetName(ref comment, currentSortMode); e.Node.Text = info.GetName(ref comment, currentSortMode);
e.Node.ForeColor = string.IsNullOrEmpty(info.Comment) ? Color.Black : commentColor; e.Node.ForeColor = string.IsNullOrEmpty(info.Comment) ? Color.Black : commentColor;
treeView.MouseLeave += new EventHandler(treeView_MouseLeave);
}
private void treeView_MouseLeave(object sender, EventArgs e) {
General.Interface.FocusDisplay();
} }
//It is called every time a dialog window closes. //It is called every time a dialog window closes.
@ -702,7 +702,6 @@ namespace CodeImp.DoomBuilder.TagExplorer
private void btnClearSearch_Click(object sender, EventArgs e) { private void btnClearSearch_Click(object sender, EventArgs e) {
tbSearch.Clear(); tbSearch.Clear();
General.Interface.FocusDisplay();
} }
private void tbSearch_TextChanged(object sender, EventArgs e) { private void tbSearch_TextChanged(object sender, EventArgs e) {

View file

@ -1,239 +1,239 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<root> <root>
<!-- <!--
Microsoft ResX Schema Microsoft ResX Schema
Version 2.0 Version 2.0
The primary goals of this format is to allow a simple XML format The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes various data types are done through the TypeConverter classes
associated with the data types. associated with the data types.
Example: Example:
... ado.net/XML headers & schema ... ... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader> <resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader> <resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader> <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader> <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data> <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data> <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value> <value>[base64 mime encoded serialized .NET Framework object]</value>
</data> </data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value> <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment> <comment>This is a comment</comment>
</data> </data>
There are any number of "resheader" rows that contain simple There are any number of "resheader" rows that contain simple
name/value pairs. name/value pairs.
Each data row contains a name, and value. The row also contains a Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture. text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the Classes that don't support this are serialized and stored with the
mimetype set. mimetype set.
The mimetype is used for serialized objects, and tells the The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly: extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below. read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64 mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64 mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64 mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter : using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding. : and then encoded with base64 encoding.
--> -->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" /> <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true"> <xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType> <xsd:complexType>
<xsd:choice maxOccurs="unbounded"> <xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata"> <xsd:element name="metadata">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" /> <xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" /> <xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" /> <xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" /> <xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="assembly"> <xsd:element name="assembly">
<xsd:complexType> <xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" /> <xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" /> <xsd:attribute name="name" type="xsd:string" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="data"> <xsd:element name="data">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" /> <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" /> <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" /> <xsd:attribute ref="xml:space" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
<xsd:element name="resheader"> <xsd:element name="resheader">
<xsd:complexType> <xsd:complexType>
<xsd:sequence> <xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" /> <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence> </xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" /> <xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:choice> </xsd:choice>
</xsd:complexType> </xsd:complexType>
</xsd:element> </xsd:element>
</xsd:schema> </xsd:schema>
<resheader name="resmimetype"> <resheader name="resmimetype">
<value>text/microsoft-resx</value> <value>text/microsoft-resx</value>
</resheader> </resheader>
<resheader name="version"> <resheader name="version">
<value>2.0</value> <value>2.0</value>
</resheader> </resheader>
<resheader name="reader"> <resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="imageList1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value> <value>17, 17</value>
</metadata> </metadata>
<data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64"> <data name="imageList1.ImageStream" mimetype="application/x-microsoft.net.object.binary.base64">
<value> <value>
AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w AAEAAAD/////AQAAAAAAAAAMAgAAAFdTeXN0ZW0uV2luZG93cy5Gb3JtcywgVmVyc2lvbj0yLjAuMC4w
LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0 LCBDdWx0dXJlPW5ldXRyYWwsIFB1YmxpY0tleVRva2VuPWI3N2E1YzU2MTkzNGUwODkFAQAAACZTeXN0
ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA+ ZW0uV2luZG93cy5Gb3Jtcy5JbWFnZUxpc3RTdHJlYW1lcgEAAAAERGF0YQcCAgAAAAkDAAAADwMAAAA+
FwAAAk1TRnQBSQFMAgEBBgEAAVABAAFQAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA FwAAAk1TRnQBSQFMAgEBBgEAAVgBAAFYAQABEAEAARABAAT/ASEBAAj/AUIBTQE2BwABNgMAASgDAAFA
AwABIAMAAQEBAAEgBgABIBYAAxIBGQMSARkDEgEZNAADEgEZAxIBGQMSARmwAAMwAUwBAAE/AecB/wEA AwABIAMAAQEBAAEgBgABIBYAAxIBGQMSARkDEgEZNAADEgEZAxIBGQMSARmwAAMwAUwBAAE+AecB/wEA
ASsBoQH/AzABTAMSARksAAMwAUwBswFtASMB/wF3AUcBGQH/AzABTAMSARmsAAEcAVwC/wEUAVYC/wEA ASoBoQH/AzABTAMSARksAAMwAUwBswFsASIB/wF2AUYBGAH/AzABTAMSARmsAAEbAVsC/wETAVUC/wEA
ATgBzgH/AQABKwGhAf8DEgEZLAAB4AGHASsB/wHZAYYBKgH/AZ4BYQEgAf8BdwFHARkB/wMSARmsAAFw ATcBzgH/AQABKgGhAf8DEgEZLAAB4AGHASoB/wHZAYYBKQH/AZ4BYAEfAf8BdgFGARgB/wMSARmsAAFv
AZsC/wHoAe8C/wEUAVYC/wEAAT8B5wH/AxIBGSwAAf4BtAFoAv8B/QHlAf8B2QGGASoB/wGzAW0BIwH/ AZsC/wHoAe8C/wETAVUC/wEAAT4B5wH/AxIBGSwAAf4BtAFnAv8B/QHlAf8B2QGGASkB/wGzAWwBIgH/
AxIBGawAAzABTAFwAZsC/wEcAVwC/wOJAf8DRAH/AyMBMygAAzABTAH+AbQBaAH/AeABhwErAf8BowGJ AxIBGawAAzABTAFvAZsC/wEbAVsC/wOJAf8DQwH/AyMBMygAAzABTAH+AbQBZwH/AeABhwEqAf8BowGJ
AW0B/wNEAf8DIwEzsAADIwEzA7wB/wOBAf8DRAH/AyMBMwgAAyMBMwMjATMDIwEzGAADIwEzA7wB/wOB AWwB/wNDAf8DIwEzsAADIwEzA7wB/wOBAf8DQwH/AyMBMwgAAyMBMwMjATMDIwEzGAADIwEzA7wB/wOB
Af8DRAH/AyMBMwgAAyMBMwMjATMDIwEznAADIwEzA80B/wOUAf8DRAH/AyMBMwMwAUwDRAH/A5QB/wMj Af8DQwH/AyMBMwgAAyMBMwMjATMDIwEznAADIwEzA80B/wOUAf8DQwH/AyMBMwMwAUwDQwH/A5QB/wMj
ATMcAAMjATMDzQH/A5QB/wNEAf8DIwEzAzABTANEAf8DlAH/AyMBM6AAAyMBMwPNAf8DlAH/A0QB/wNE ATMcAAMjATMDzQH/A5QB/wNDAf8DIwEzAzABTANDAf8DlAH/AyMBM6AAAyMBMwPNAf8DlAH/A0MB/wND
Af8DlAH/AyMBMyQAAyMBMwPNAf8DlAH/A0QB/wNEAf8DlAH/AyMBM6gAAyMBMwO4Af8DlAH/A4EB/wMj Af8DlAH/AyMBMyQAAyMBMwPNAf8DlAH/A0MB/wNDAf8DlAH/AyMBM6gAAyMBMwO4Af8DlAH/A4EB/wMj
ATMsAAMjATMDuAH/A5QB/wOBAf8DIwEzsAADIwEzA88B/wOUAf8DRAH/AyMBMywAAyMBMwPPAf8DlAH/ ATMsAAMjATMDuAH/A5QB/wOBAf8DIwEzsAADIwEzA88B/wOUAf8DQwH/AyMBMywAAyMBMwPPAf8DlAH/
A0QB/wMjATOwAAMjATMDwwH/A5QB/wNEAf8DIwEzLAADIwEzA8MB/wOUAf8DRAH/AyMBM7AAAyMBMwO8 A0MB/wMjATOwAAMjATMDwwH/A5QB/wNDAf8DIwEzLAADIwEzA8MB/wOUAf8DQwH/AyMBM7AAAyMBMwO8
Af8DlAH/A0QB/wMSARkDEgEZAxIBGSQAAyMBMwO8Af8DlAH/A0QB/wMSARkDEgEZAxIBGagAAyMBMwPZ Af8DlAH/A0MB/wMSARkDEgEZAxIBGSQAAyMBMwO8Af8DlAH/A0MB/wMSARkDEgEZAxIBGagAAyMBMwPZ
Af8DtwH/AQABPwHnAf8BAAErAaEB/wMwAUwDEgEZJAADIwEzA9kB/wHRAbcBnQH/AbMBbQEjAf8BdwFH Af8DtwH/AQABPgHnAf8BAAEqAaEB/wMwAUwDEgEZJAADIwEzA9kB/wHRAbcBnQH/AbMBbAEiAf8BdgFG
ARkB/wMwAUwDEgEZqAADIwEzARwBXAL/ARQBVgL/AQABOAHOAf8BAAErAaEB/wMSARkoAAMjATMB4AGH ARgB/wMwAUwDEgEZqAADIwEzARsBWwL/ARMBVQL/AQABNwHOAf8BAAEqAaEB/wMSARkoAAMjATMB4AGH
ASsB/wHZAYYBKgH/AZ4BYQEgAf8BdwFHARkB/wMSARmsAAFwAZsC/wHoAe8C/wEUAVYC/wEAAT8B5wH/ ASoB/wHZAYYBKQH/AZ4BYAEfAf8BdgFGARgB/wMSARmsAAFvAZsC/wHoAe8C/wETAVUC/wEAAT4B5wH/
AxIBGSwAAf4BtAFoAv8B/QHlAf8B2QGGASoB/wGzAW0BIwH/AxIBGawAAzABTAFwAZsC/wEcAVwC/wMw AxIBGSwAAf4BtAFnAv8B/QHlAf8B2QGGASkB/wGzAWwBIgH/AxIBGawAAzABTAFvAZsC/wEbAVsC/wMw
AUwwAAMwAUwB/gG0AWgB/wHgAYcBKwH/AzABTJgAAwgBCwMfAS0DJwE7AycBOwMnATsDHgErAxIBGAMS AUwwAAMwAUwB/gG0AWcB/wHgAYcBKgH/AzABTJgAAwgBCwMfAS0DJwE7AycBOwMnATsDHgErAxIBGAMS
ARggAAMIAQsDHwEtAycBOwMnATsDJwE7Ax4BKwMSARgDEgEYEAADEgEZAxIBGQMSARkgAAMSARkDEgEZ ARggAAMIAQsDHwEtAycBOwMnATsDJwE7Ax4BKwMSARgDEgEYEAADEgEZAxIBGQMSARkgAAMSARkDEgEZ
AxIBGQgAAxIBGQMSARkDEgEZIAADEgEZAxIBGQMSARkUAAM4AVwCXwFhAegBIgEqAYEB/wEcASMBcAH/ AxIBGQgAAxIBGQMSARkDEgEZIAADEgEZAxIBGQMSARkUAAM4AVwCXwFgAegBIQEpAYEB/wEbASIBbwH/
ARsBIgFtAf8BGgEhAWYB/wJaAWAB5AM4AVwDJwE7AxIBGBgAAzgBXAFjAl8B6AGBAVUBIgH/AXABTQEc ARoBIQFsAf8BGQEgAWUB/wJaAWAB5AM4AVwDJwE7AxIBGBgAAzgBXAFhAl8B6AGBAVQBIQH/AW8BTAEb
Af8BbQFLARsB/wFmAUYBGgH/AWECWgHkAzgBXAMnATsDEgEYCAADMAFMASQBMwGyAf8BGgEnAXYB/wMw Af8BbAFKARoB/wFlAUUBGQH/AWECWgHkAzgBXAMnATsDEgEYCAADMAFMASMBMgGyAf8BGQEmAXUB/wMw
AUwDEgEZAxIBGQMSARkDEgEZAxIBGQMSARkDEgEZAzABTAEkATMBsgH/ARoBJwF2Af8DMAFMAxIBGQMw AUwDEgEZAxIBGQMSARkDEgEZAxIBGQMSARkDEgEZAzABTAEjATIBsgH/ARkBJgF1Af8DMAFMAxIBGQMw
AUwBsgFtASQB/wF2AUcBGgH/AzABTAMSARkDEgEZAxIBGQMSARkDEgEZAxIBGQMSARkDMAFMAbIBbQEk AUwBsgFsASMB/wF1AUYBGQH/AzABTAMSARkDEgEZAxIBGQMSARkDEgEZAxIBGQMSARkDMAFMAbIBbAEj
Af8BdgFHARoB/wMwAUwDEgEZDAADWgHFATIBPgG7Af8BMAE8AbwB/wEvATsBugH/AS4BOgG3Af8BLAE2 Af8BdQFGARkB/wMwAUwDEgEZDAADWgHFATEBPQG7Af8BLwE7AbwB/wEuAToBugH/AS0BOQG3Af8BKwE1
AbQB/wEqATUBrAH/ASUBLQGUAf8BGwEjAXAB/wNaAb0DJwE7AxIBGBAAA1oBxQG7AYMBMgH/AbwBggEw AbQB/wEpATQBrAH/ASQBLAGUAf8BGgEiAW8B/wNaAb0DJwE7AxIBGBAAA1oBxQG7AYMBMQH/AbwBggEv
Af8BugGBAS8B/wG3AYEBLgH/AbQBgQEsAf8BrAFzASoB/wGUAWUBJQH/AXABTAEbAf8DWgG9AycBOwMS Af8BugGBAS4B/wG3AYEBLQH/AbQBgQErAf8BrAFyASkB/wGUAWQBJAH/AW8BSwEaAf8DWgG9AycBOwMS
ARgEAAEtAUUB3wH/ASsBPwHYAf8BIAEsAZ0B/wEaAScBdgH/Az0B/wM9Af8DPQH/Az0B/wM9Af8DPQH/ ARgEAAEsAUQB3wH/ASoBPgHYAf8BHwErAZ0B/wEZASYBdQH/AzwB/wM8Af8DPAH/AzwB/wM8Af8DPAH/
Az0B/wEtAUUB3wH/ASsBPwHYAf8BIAEsAZ0B/wEaAScBdgH/AxIBGQHfAYcBLQH/AdgBhgErAf8BnQFh AzwB/wEsAUQB3wH/ASoBPgHYAf8BHwErAZ0B/wEZASYBdQH/AxIBGQHfAYcBLAH/AdgBhgEqAf8BnQFg
ASAB/wF2AUcBGgH/Az0B/wM9Af8DPQH/Az0B/wM9Af8DPQH/Az0B/wHfAYcBLQH/AdgBhgErAf8BnQFh AR8B/wF1AUYBGQH/AzwB/wM8Af8DPAH/AzwB/wM8Af8DPAH/AzwB/wHfAYcBLAH/AdgBhgEqAf8BnQFg
ASAB/wF2AUcBGgH/AxIBGQgAA1kBvgE3AUQB0wH/ATwBSwHoAf8BQAFOAfMB/wE/AU4B8AH/AT4BTgHv AR8B/wF1AUYBGQH/AxIBGQgAA1kBvgE2AUMB0wH/ATsBSgHoAf8BPwFNAfMB/wE+AU0B8AH/AT0BTQHv
Af8BPgFOAe8B/wE9AUsB7QH/AToBSQHiAf8BMAE8AbsB/wEgAScBgQH/A1oBvQMnATsDEgEYCAADWQG+ Af8BPQFNAe8B/wE8AUoB7QH/ATkBSAHiAf8BLwE7AbsB/wEfASYBgQH/A1oBvQMnATsDEgEYCAADWQG+
AdMBkwE3Af8B6AGhATwB/wHzAaoBQAH/AfABpwE/Af8B7wGlAT4B/wHvAaUBPgH/Ae0BpQE9Af8B4gGc AdMBkwE2Af8B6AGhATsB/wHzAaoBPwH/AfABpwE+Af8B7wGlAT0B/wHvAaUBPQH/Ae0BpQE8Af8B4gGc
AToB/wG7AYIBMAH/AYEBVwEgAf8DWgG9AycBOwMSARgBaQGBAf0B/wHsAeUC/wErAT8B2AH/ASQBMwGy ATkB/wG7AYIBLwH/AYEBVgEfAf8DWgG9AycBOwMSARgBaAGBAf0B/wHsAeUC/wEqAT4B2AH/ASMBMgGy
Af8DuAH/A7gB/wO4Af8DuAH/A7gB/wOmAf8DmAH/AWkBgQH9Af8B7AHlAv8BKwE/AdgB/wEkATMBsgH/ Af8DuAH/A7gB/wO4Af8DuAH/A7gB/wOmAf8DmAH/AWgBgQH9Af8B7AHlAv8BKgE+AdgB/wEjATIBsgH/
AxIBGQH9AbQBaQL/Af0B5QH/AdgBhgErAf8BsgFtASQB/wO4Af8DuAH/A7gB/wO4Af8DuAH/A6YB/wOY AxIBGQH9AbQBaAL/Af0B5QH/AdgBhgEqAf8BsgFsASMB/wO4Af8DuAH/A7gB/wO4Af8DuAH/A6YB/wOY
Af8B/QG0AWkC/wH9AeUB/wHYAYYBKwH/AbIBbQEkAf8DEgEZBAADOAFcAUABTgHjAf8BPwFNAfEB/wEv Af8B/QG0AWgC/wH9AeUB/wHYAYYBKgH/AbIBbAEjAf8DEgEZBAADOAFcAT8BTQHjAf8BPgFMAfEB/wEu
AToBswH/AS0BOAGrAf8BPQFLAeoB/wFCAVIB+gH/AUEBUAH2Af8BPwFNAfEB/wE/AU4B8AH/ATwBSgHq ATkBswH/ASwBNwGrAf8BPAFKAeoB/wFBAVEB+gH/AUABTwH2Af8BPgFMAfEB/wE+AU0B8AH/ATsBSQHq
Af8BLwE6Ab4B/wEfASUBgQH/AzgBXAMSARgEAAM4AVwB4wGgAUAB/wHxAagBPwH/AbMBgQEvAf8BqwF0 Af8BLgE5Ab4B/wEeASQBgQH/AzgBXAMSARgEAAM4AVwB4wGgAT8B/wHxAagBPgH/AbMBgQEuAf8BqwFz
AS0B/wHqAaMBPQH/AfoBrgFCAf8B9gGsAUEB/wHxAagBPwH/AfABpwE/Af8B6gGjATwB/wG+AYQBLwH/ ASwB/wHqAaMBPAH/AfoBrgFBAf8B9gGsAUAB/wHxAagBPgH/AfABpwE+Af8B6gGjATsB/wG+AYQBLgH/
AYEBVgEfAf8DOAFcAxIBGAMwAUwBaQGBAf0B/wEtAUUB3wH/AzABTAwAA7gB/wNOAZkIAAMwAUwBaQGB AYEBVQEeAf8DOAFcAxIBGAMwAUwBaAGBAf0B/wEsAUQB3wH/AzABTAwAA7gB/wNOAZkIAAMwAUwBaAGB
Af0B/wEtAUUB3wH/AzABTAQAAzABTAH9AbQBaQH/Ad8BhwEtAf8DMAFMDAADuAH/A04BmQgAAzABTAH9 Af0B/wEsAUQB3wH/AzABTAQAAzABTAH9AbQBaAH/Ad8BhwEsAf8DMAFMDAADuAH/A04BmQgAAzABTAH9
AbQBaQH/Ad8BhwEtAf8DMAFMCAADXwHbAU8BXQH2Af8BSQFYAv8BLwE6AbEB/wMAAf8BCAEKASQB/wEd AbQBaAH/Ad8BhwEsAf8DMAFMCAADXwHbAU4BXAH2Af8BSAFXAv8BLgE5AbEB/wMAAf8BBwEJASMB/wEc
ASQBcAH/ATQBPwHCAf8BPwFPAfEB/wFCAVIB+gH/AUABUAH0Af8BOQFHAeQB/wEqATUBrAH/AlwBZAHn ASMBbwH/ATMBPgHCAf8BPgFOAfEB/wFBAVEB+gH/AT8BTwH0Af8BOAFGAeQB/wEpATQBrAH/AlwBZAHn
Ax4BKwQAA18B2wH2AbEBTwL/AbQBSQH/AbEBeAEvAf8DAAH/ASQBGQEIAf8BcAFNAR0B/wHCAYgBNAH/ Ax4BKwQAA18B2wH2AbEBTgL/AbQBSAH/AbEBdwEuAf8DAAH/ASMBGAEHAf8BbwFMARwB/wHCAYgBMwH/
AfEBpwE/Af8B+gGuAUIB/wH0AakBQAH/AeQBngE5Af8BrAFzASoB/wFkAWIBXAHnAx4BKwQAA5gB/wNE AfEBpwE+Af8B+gGuAUEB/wH0AakBPwH/AeQBngE4Af8BrAFyASkB/wFkAWIBXAHnAx4BKwQAA5gB/wND
Af8DEgEZDAADpQH/A04BmQwAA5gB/wM9Af8DEgEZCAADmAH/A0QB/wMSARkMAAOlAf8DTgGZDAADmAH/ Af8DEgEZDAADpQH/A04BmQwAA5gB/wM8Af8DEgEZCAADmAH/A0MB/wMSARkMAAOlAf8DTgGZDAADmAH/
Az0B/wMSARkIAAFMAVoC/wFkAXIC/wFTAWAB+wH/AUUBUwHoAf8BCAEJARoB/wMAAf8DAAH/AwAB/wEM AzwB/wMSARkIAAFLAVkC/wFjAXEC/wFSAV8B+wH/AUQBUgHoAf8BBwEIARkB/wMAAf8DAAH/AwAB/wEL
AQ8BMwH/ASIBKgGEAf8BNgFCAc4B/wE+AU0B7wH/ATQBQAHMAf8BIwEsAYoB/wMnATsEAAH/AbYBTAL/ AQ4BMgH/ASEBKQGEAf8BNQFBAc4B/wE9AUwB7wH/ATMBPwHMAf8BIgErAYoB/wMnATsEAAH/AbYBSwL/
Ab4BZAH/AfsBtwFTAf8B6AGlAUUB/wEaARMBCAH/AwAB/wMAAf8DAAH/ATMBIwEMAf8BhAFZASIB/wHO Ab4BYwH/AfsBtwFSAf8B6AGlAUQB/wEZARIBBwH/AwAB/wMAAf8DAAH/ATIBIgELAf8BhAFYASEB/wHO
AZABNgH/Ae8BpgE+Af8BzAGOATQB/wGKAV0BIwH/AycBOwQAA6YB/wNEAf8DEgEZIAADpgH/Az0B/wMS AZABNQH/Ae8BpgE9Af8BzAGOATMB/wGKAVwBIgH/AycBOwQAA6YB/wNDAf8DEgEZIAADpgH/AzwB/wMS
ARkIAAOmAf8DRAH/AxIBGSAAA6YB/wM9Af8DEgEZBAADIwEzAV8BbAL/AXUBhAL/AV0BaQH5Af8BTwFe ARkIAAOmAf8DQwH/AxIBGSAAA6YB/wM8Af8DEgEZBAADIwEzAV4BawL/AXQBhAL/AVwBaAH5Af8BTgFd
AfwB/wEgASgBdQH/AwAB/wMAAf8DAAH/AQYBBwENAf8BGQEgAV8B/wEpATIBnQH/ATwBSQHkAf8BOQFI AfwB/wEfAScBdAH/AwAB/wMAAf8DAAH/AQUBBgEMAf8BGAEfAV4B/wEoATEBnQH/ATsBSAHkAf8BOAFH
AeEB/wEmAS8BnAH/AycBOwMjATMB/wG9AV8C/wHGAXUB/wH5AboBXQH/AfwBtAFPAf8BdQFRASAB/wMA AeEB/wElAS4BnAH/AycBOwMjATMB/wG9AV4C/wHGAXQB/wH5AboBXAH/AfwBtAFOAf8BdAFQAR8B/wMA
Af8DAAH/AwAB/wENAQoBBgH/AV8BQQEZAf8BnQFrASkB/wHkAaABPAH/AeEBmwE5Af8BnAFpASYB/wMn Af8DAAH/AwAB/wEMAQkBBQH/AV4BQAEYAf8BnQFqASgB/wHkAaABOwH/AeEBmwE4Af8BnAFoASUB/wMn
ATsEAAOwAf8DRAH/A04BmQNOAZkUAANOAZkDTgGZA7AB/wM9Af8DEgEZCAADsAH/A0QB/wNOAZkDTgGZ ATsEAAOwAf8DQwH/A04BmQNOAZkUAANOAZkDTgGZA7AB/wM8Af8DEgEZCAADsAH/A0MB/wNOAZkDTgGZ
FAADTgGZA04BmQOwAf8DPQH/AxIBGQQAAyMBMwFpAXYC/wGBAYwC/wFeAWwB+AH/AU0BXQH7Af8BNQFB FAADTgGZA04BmQOwAf8DPAH/AxIBGQQAAyMBMwFoAXUC/wGBAYwC/wFdAWsB+AH/AUwBXAH7Af8BNAFA
AcsB/wIBAQMB/wMAAf8DAAH/ARIBFgFFAf8BQgFRAfkB/wFCAVIB+gH/AT8BTgHwAf8BOQFHAeMB/wEn AcsB/wIAAQIB/wMAAf8DAAH/AREBFQFEAf8BQQFQAfkB/wFBAVEB+gH/AT4BTQHwAf8BOAFGAeMB/wEm
ATEBogH/AycBOwMjATMB/wHBAWkC/wHKAYEB/wH4AbgBXgH/AfsBsgFNAf8BywGOATUB/wEDAQIBAQH/ ATABogH/AycBOwMjATMB/wHBAWgC/wHKAYEB/wH4AbgBXQH/AfsBsgFMAf8BywGOATQB/wECAQEBAAH/
AwAB/wMAAf8BRQEwARIB/wH5Aa4BQgH/AfoBrgFCAf8B8AGnAT8B/wHjAZ0BOQH/AaIBbQEnAf8DJwE7 AwAB/wMAAf8BRAEvAREB/wH5Aa4BQQH/AfoBrgFBAf8B8AGnAT4B/wHjAZ0BOAH/AaIBbAEmAf8DJwE7
BAADuAH/A7gB/wO4Af8DpQH/FAADpQH/A7gB/wO4Af8DPQH/AxIBGQgAA7gB/wO4Af8DuAH/A6UB/xQA BAADuAH/A7gB/wO4Af8DpQH/FAADpQH/A7gB/wO4Af8DPAH/AxIBGQgAA7gB/wO4Af8DuAH/A6UB/xQA
A6UB/wO4Af8DuAH/Az0B/wMSARkIAAFnAXYC/wGOAZcC/wFmAXEB/gH/AU8BXgH1Af8BRQFTAfgB/wER A6UB/wO4Af8DuAH/AzwB/wMSARkIAAFmAXUC/wGOAZcC/wFlAXAB/gH/AU4BXQH1Af8BRAFSAfgB/wEQ
ARYBRQH/AQMBAgEEAf8BHgEmAXQB/wMAAf8BFQEbAVQB/wE/AU4B8AH/AUABTgHzAf8BNwFFAdoB/wEp ARUBRAH/AQIBAQEDAf8BHQElAXMB/wMAAf8BFAEaAVMB/wE+AU0B8AH/AT8BTQHzAf8BNgFEAdoB/wEo
ATIBnwH/AyIBMQQAAf8BvwFnAv8B0AGOAf8B/gHBAWYB/wH1AbABTwH/AfgBrwFFAf8BRQEvAREB/wIE ATEBnwH/AyIBMQQAAf8BvwFmAv8B0AGOAf8B/gHBAWUB/wH1AbABTgH/AfgBrwFEAf8BRAEuARAB/wID
AQIB/wF0AU8BHgH/AwAB/wFUATkBFQH/AfABpwE/Af8B8wGqAUAB/wHaAZcBNwH/AZ8BbQEpAf8DIgEx AQEB/wFzAU4BHQH/AwAB/wFTATgBFAH/AfABpwE+Af8B8wGqAT8B/wHaAZcBNgH/AZ8BbAEoAf8DIgEx
BAADuAH/A0QB/wMSARkgAAO4Af8DPQH/AxIBGQgAA7gB/wNEAf8DEgEZIAADuAH/Az0B/wMSARkIAANf BAADuAH/A0MB/wMSARkgAAO4Af8DPAH/AxIBGQgAA7gB/wNDAf8DEgEZIAADuAH/AzwB/wMSARkIAANf
AdsBlgGgAv8BhgGQAv8BZwF0AfkB/wFSAWAB/gH/ASoBNAGdAf8BEAEVAUEB/wFEAVQC/wEoATEBmAH/ AdsBlgGgAv8BhgGQAv8BZgFzAfkB/wFRAV8B/gH/ASkBMwGdAf8BDwEUAUAB/wFDAVMC/wEnATABmAH/
AwAB/wEVARsBVAH/AT4BTQHtAf8BNwFEAdUB/wJcAWIB6gMMARAEAANfAdsB/wHSAZYC/wHMAYYB/wH5 AwAB/wEUARoBUwH/AT0BTAHtAf8BNgFDAdUB/wJcAWEB6gMMARAEAANfAdsB/wHSAZYC/wHMAYYB/wH5
AbwBZwH/Af4BuAFSAf8BnQFrASoB/wFBASwBEAL/AbIBRAH/AZgBaAEoAf8DAAH/AVQBOQEVAf8B7QGl AbwBZgH/Af4BuAFRAf8BnQFqASkB/wFAASsBDwL/AbIBQwH/AZgBZwEnAf8DAAH/AVMBOAEUAf8B7QGl
AT4B/wHVAZQBNwH/AWMBXwFcAeoDDAEQBAADuAH/A0QB/wMSARkgAAO4Af8DPQH/AxIBGQgAA7gB/wNE AT0B/wHVAZQBNgH/AWIBXgFcAeoDDAEQBAADuAH/A0MB/wMSARkgAAO4Af8DPAH/AxIBGQgAA7gB/wND
Af8DEgEZIAADuAH/Az0B/wMSARkIAAM4AVwBmAGiAv8BngGnAv8BcAGBAv8BXAFpAfkB/wFHAVIB5AH/ Af8DEgEZIAADuAH/AzwB/wMSARkIAAM4AVwBmAGiAv8BngGnAv8BbwGBAv8BWwFoAfkB/wFGAVEB5AH/
ATgBQwG+Af8BSAFYAfgB/wFKAVgB/QH/ATEBOQGcAf8DAAH/AS4BOAGxAf8BOgFHAd4B/wM4AVwIAAM4 ATcBQgG+Af8BRwFXAfgB/wFJAVcB/QH/ATABOAGcAf8DAAH/AS0BNwGxAf8BOQFGAd4B/wM4AVwIAAM4
AVwB/wHTAZgC/wHWAZ4C/wHFAXAB/wH5AbkBXAH/AeQBpQFHAf8BvgGHATgB/wH4Aa4BSAH/Af0BtAFK AVwB/wHTAZgC/wHWAZ4C/wHFAW8B/wH5AbkBWwH/AeQBpQFGAf8BvgGHATcB/wH4Aa4BRwH/Af0BtAFJ
Af8BnAFuATEB/wMAAf8BsQGAAS4B/wHeAZsBOgH/AzgBXAgAA7gB/wNEAf8DEgEZDAADpQH/A04BmQwA Af8BnAFtATAB/wMAAf8BsQGAAS0B/wHeAZsBOQH/AzgBXAgAA7gB/wNDAf8DEgEZDAADpQH/A04BmQwA
A7gB/wM9Af8DEgEZCAADuAH/A0QB/wMSARkMAAOlAf8DTgGZDAADuAH/Az0B/wMSARkMAANVAbIBqAGx A7gB/wM8Af8DEgEZCAADuAH/A0MB/wMSARkMAAOlAf8DTgGZDAADuAH/AzwB/wMSARkMAANVAbIBqAGx
Av8BiQGTAv8BdgGDAv8BbQGAAfwB/wFiAW4B9gH/AVwBaAH2Af8BWwFnAfUB/wFXAWQB+wH/AToBRAHC Av8BiQGTAv8BdQGDAv8BbAGAAfwB/wFhAW0B9gH/AVsBZwH2Af8BWgFmAfUB/wFWAWMB+wH/ATkBQwHC
Af8BOwFJAeAB/wNbAcYQAANVAbIB/wHZAagC/wHOAYkC/wHIAXYB/wH8AcEBbQH/AfYBuQFiAf8B9gG3 Af8BOgFIAeAB/wNbAcYQAANVAbIB/wHZAagC/wHOAYkC/wHIAXUB/wH8AcEBbAH/AfYBuQFhAf8B9gG3
AVwB/wH1AbYBWwH/AfsBuAFXAf8BwgGLAToB/wHgAZwBOwH/A1sBxggAAzABTAEkATMBsgH/ARoBJwF2 AVsB/wH1AbYBWgH/AfsBuAFWAf8BwgGLATkB/wHgAZwBOgH/A1sBxggAAzABTAEjATIBsgH/ARkBJgF1
Af8DMAFMAxIBGQMSARkDEgEZA7gB/wNOAZkDEgEZAxIBGQMwAUwBJAEzAbIB/wEaAScBdgH/AzABTAMS Af8DMAFMAxIBGQMSARkDEgEZA7gB/wNOAZkDEgEZAxIBGQMwAUwBIwEyAbIB/wEZASYBdQH/AzABTAMS
ARkDMAFMAbIBbQEkAf8BdgFHARoB/wMwAUwDEgEZAxIBGQMSARkDuAH/A04BmQMSARkDEgEZAzABTAGy ARkDMAFMAbIBbAEjAf8BdQFGARkB/wMwAUwDEgEZAxIBGQMSARkDuAH/A04BmQMSARkDEgEZAzABTAGy
AW0BJAH/AXYBRwEaAf8DMAFMAxIBGQwAA1YBsQGfAakC/wGXAaIC/wGLAZUC/wFxAYIC/wFfAW4B/QH/ AWwBIwH/AXUBRgEZAf8DMAFMAxIBGQwAA1YBsQGfAakC/wGXAaIC/wGLAZUC/wFwAYIC/wFeAW0B/QH/
AVUBYgH5Af8BSQFYAfcB/wFCAVIB+gH/A1oBvRgAA1YBsQH/AdUBnwL/AdEBlwL/Ac8BiwL/AcMBcQH/ AVQBYQH5Af8BSAFXAfcB/wFBAVEB+gH/A1oBvRgAA1YBsQH/AdUBnwL/AdEBlwL/Ac8BiwL/AcMBcAH/
Af0BugFfAf8B+QG2AVUB/wH3Aa8BSQH/AfoBrQFCAf8DWgG9DAABLQFFAd8B/wErAT8B2AH/ASABLAGd Af0BugFeAf8B+QG2AVQB/wH3Aa8BSAH/AfoBrQFBAf8DWgG9DAABLAFEAd8B/wEqAT4B2AH/AR8BKwGd
Af8BGgEnAXYB/wNEAf8DRAH/A0QB/wO4Af8DRAH/A0QB/wNEAf8BLQFFAd8B/wErAT8B2AH/ASABLAGd Af8BGQEmAXUB/wNDAf8DQwH/A0MB/wO4Af8DQwH/A0MB/wNDAf8BLAFEAd8B/wEqAT4B2AH/AR8BKwGd
Af8BGgEnAXYB/wMSARkB3wGHAS0B/wHYAYYBKwH/AZ0BYQEgAf8BdgFHARoB/wNEAf8DRAH/A0QB/wO4 Af8BGQEmAXUB/wMSARkB3wGHASwB/wHYAYYBKgH/AZ0BYAEfAf8BdQFGARkB/wNDAf8DQwH/A0MB/wO4
Af8DRAH/A0QB/wNEAf8B3wGHAS0B/wHYAYYBKwH/AZ0BYQEgAf8BdgFHARoB/wMSARkQAAM4AVwDXgHY Af8DQwH/A0MB/wNDAf8B3wGHASwB/wHYAYYBKgH/AZ0BYAEfAf8BdQFGARkB/wMSARkQAAM4AVwDXgHY
AXgBhwL/AYMBjQL/AXEBgwL/AVwBagL/A14B2AM4AVwgAAM4AVwDXgHYAf8BxwF4Av8BzAGDAv8BwgFx AXcBhwL/AYMBjQL/AXABgwL/AVsBaQL/A14B2AM4AVwgAAM4AVwDXgHYAf8BxwF3Av8BzAGDAv8BwgFw
Av8BvAFcAf8DXgHYAzgBXBAAAWkBgQH9Af8B7AHlAv8BKwE/AdgB/wEkATMBsgH/A7gB/wO4Af8DuAH/ Av8BvAFbAf8DXgHYAzgBXBAAAWgBgQH9Af8B7AHlAv8BKgE+AdgB/wEjATIBsgH/A7gB/wO4Af8DuAH/
A7gB/wO4Af8DpgH/A5gB/wFpAYEB/QH/AewB5QL/ASsBPwHYAf8BJAEzAbIB/wMSARkB/QG0AWkC/wH9 A7gB/wO4Af8DpgH/A5gB/wFoAYEB/QH/AewB5QL/ASoBPgHYAf8BIwEyAbIB/wMSARkB/QG0AWgC/wH9
AeUB/wHYAYYBKwH/AbIBbQEkAf8DuAH/A7gB/wO4Af8DuAH/A7gB/wOmAf8DmAH/Af0BtAFpAv8B/QHl AeUB/wHYAYYBKgH/AbIBbAEjAf8DuAH/A7gB/wO4Af8DuAH/A7gB/wOmAf8DmAH/Af0BtAFoAv8B/QHl
Af8B2AGGASsB/wGyAW0BJAH/AxIBGRwAAyMBMwMjATM4AAMjATMDIwEzHAADMAFMAWkBgQH9Af8BLQFF Af8B2AGGASoB/wGyAWwBIwH/AxIBGRwAAyMBMwMjATM4AAMjATMDIwEzHAADMAFMAWgBgQH9Af8BLAFE
Ad8B/wMwAUwcAAMwAUwBaQGBAf0B/wEtAUUB3wH/AzABTAQAAzABTAH9AbQBaQH/Ad8BhwEtAf8DMAFM Ad8B/wMwAUwcAAMwAUwBaAGBAf0B/wEsAUQB3wH/AzABTAQAAzABTAH9AbQBaAH/Ad8BhwEsAf8DMAFM
HAADMAFMAf0BtAFpAf8B3wGHAS0B/wMwAUwEAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYA HAADMAFMAf0BtAFoAf8B3wGHASwB/wMwAUwEAAFCAU0BPgcAAT4DAAEoAwABQAMAASADAAEBAQABAQYA
AQEWAAP/AQABjwH/AY8B/wQAAQcB/wEHAf8EAAEHAf8BBwH/BAABBwH/AQcB/wQAAQMB/wEDAf8EAAHB AQEWAAP/AQABjwH/AY8B/wQAAQcB/wEHAf8EAAEHAf8BBwH/BAABBwH/AQcB/wQAAQMB/wEDAf8EAAHB
AY8BwQGPBAAB4AEPAeABDwQAAfABHwHwAR8EAAH4AT8B+AE/BAAB/AEfAfwBHwQAAf4BDwH+AQ8EAAH/ AY8BwQGPBAAB4AEPAeABDwQAAfABHwHwAR8EAAH4AT8B+AE/BAAB/AEfAfwBHwQAAf4BDwH+AQ8EAAH/
AQEB/wEBBAAB/wGAAf8BgAQAAf8BwAH/AcAEAAH/AeAB/wHgBAAB/wHhAf8B4QQAAfgBBwH4AQcBjwHx AQEB/wEBBAAB/wGAAf8BgAQAAf8BwAH/AcAEAAH/AeAB/wHgBAAB/wHhAf8B4QQAAfgBBwH4AQcBjwHx
AY8B8QHwAQMB8AEDBAAB4AEBAeABAQQAAcABAAHABQABgAEAAYABAAEOAWEBDgFhAYABAAGAAQABjgFx AY8B8QHwAQMB8AEDBAAB4AEBAeABAQQAAcABAAHABQABgAEAAYABAAEOAWEBDgFhAYABAAGAAQABjgFx
AY4BcQGAAQABgAEAAY8B8QGPAfEEAAGHAcEBhwHBBAABhwHBAYcBwQGAAQABgAEAAY8B8QGPAfEBgAEA AY4BcQGAAQABgAEAAY8B8QGPAfEEAAGHAcEBhwHBBAABhwHBAYcBwQGAAQABgAEAAY8B8QGPAfEBgAEA
AYABAAGPAfEBjwHxAYABAQGAAQEBjgFxAY4BcQHAAQMBwAEDBAAB4AEHAeABBwQAAfABDwHwAQ8EAAH+ AYABAAGPAfEBjwHxAYABAQGAAQEBjgFxAY4BcQHAAQMBwAEDBAAB4AEHAeABBwQAAfABDwHwAQ8EAAH+
AX8B/gF/AQ8B4QEPAeEL AX8B/gF/AQ8B4QEPAeEL
</value> </value>
</data> </data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>122, 17</value> <value>122, 17</value>
</metadata> </metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>122, 17</value> <value>122, 17</value>
</metadata> </metadata>
<metadata name="updatetimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="updatetimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>219, 17</value> <value>219, 17</value>
</metadata> </metadata>
</root> </root>