mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-01-31 21:00:56 +00:00
Sector edit form: Add triggertag and triggerer fields
This commit is contained in:
parent
c8c73a7c80
commit
24b045fbef
7 changed files with 138 additions and 49 deletions
|
@ -251,6 +251,7 @@ mapformat_udmf
|
|||
}
|
||||
|
||||
damagetypes = "Generic Water Fire Lava Electric Spike DeathPitTilt DeathPitNoTilt Instakill SpecialStage";
|
||||
triggerertypes = "Player AllPlayers Mobj";
|
||||
|
||||
// LINEDEF FLAGS
|
||||
linedefflags
|
||||
|
|
|
@ -244,24 +244,6 @@ universalfields
|
|||
type = 1;
|
||||
default = 0.90625;
|
||||
}
|
||||
|
||||
triggertag
|
||||
{
|
||||
type = 15;
|
||||
default = 0;
|
||||
}
|
||||
|
||||
triggerer
|
||||
{
|
||||
type = 0;
|
||||
default = 0;
|
||||
enum
|
||||
{
|
||||
0 = "Player";
|
||||
1 = "All players";
|
||||
2 = "Object";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
linedef
|
||||
|
|
|
@ -192,6 +192,9 @@ namespace CodeImp.DoomBuilder.Config
|
|||
//mxd. Internal sounds. These logical sound names won't trigger a warning when they are not bound to actual sounds in SOUNDINFO.
|
||||
private HashSet<string> internalsoundnames;
|
||||
|
||||
//Triggerer types
|
||||
private HashSet<string> triggerertypes;
|
||||
|
||||
//mxd. Stuff to ignore
|
||||
private HashSet<string> ignoreddirectories;
|
||||
private HashSet<string> ignoredextensions;
|
||||
|
@ -348,6 +351,9 @@ namespace CodeImp.DoomBuilder.Config
|
|||
//mxd. Internal sounds
|
||||
internal HashSet<string> InternalSoundNames { get { return internalsoundnames; } }
|
||||
|
||||
//Triggerer types
|
||||
internal IEnumerable<string> TriggererTypes { get { return triggerertypes; } }
|
||||
|
||||
//mxd. Stuff to ignore
|
||||
internal HashSet<string> IgnoredFileExtensions { get { return ignoredextensions; } }
|
||||
internal HashSet<string> IgnoredDirectoryNames { get { return ignoreddirectories; } }
|
||||
|
@ -529,7 +535,8 @@ namespace CodeImp.DoomBuilder.Config
|
|||
char[] splitter = {' '};
|
||||
damagetypes = new HashSet<string>(cfg.ReadSetting("damagetypes", "None").Split(splitter, StringSplitOptions.RemoveEmptyEntries), StringComparer.OrdinalIgnoreCase);
|
||||
internalsoundnames = new HashSet<string>(cfg.ReadSetting("internalsoundnames", string.Empty).Split(splitter, StringSplitOptions.RemoveEmptyEntries), StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
triggerertypes = new HashSet<string>(cfg.ReadSetting("triggerertypes", string.Empty).Split(splitter, StringSplitOptions.RemoveEmptyEntries), StringComparer.OrdinalIgnoreCase);
|
||||
|
||||
//mxd. Load stuff to ignore
|
||||
ignoreddirectories = new HashSet<string>(cfg.ReadSetting("ignoreddirectories", string.Empty).Split(splitter, StringSplitOptions.RemoveEmptyEntries), StringComparer.OrdinalIgnoreCase);
|
||||
ignoredextensions = new HashSet<string>(cfg.ReadSetting("ignoredextensions", string.Empty).Split(splitter, StringSplitOptions.RemoveEmptyEntries), StringComparer.OrdinalIgnoreCase);
|
||||
|
|
|
@ -84,6 +84,8 @@ uifields
|
|||
color_floor = 0;
|
||||
lightalpha = 0;
|
||||
fadealpha = 0;
|
||||
triggertag = 15;
|
||||
triggerer = 2;
|
||||
}
|
||||
|
||||
thing
|
||||
|
|
126
Source/Core/Windows/SectorEditFormSRB2.Designer.cs
generated
126
Source/Core/Windows/SectorEditFormSRB2.Designer.cs
generated
|
@ -42,6 +42,9 @@
|
|||
System.Windows.Forms.Label label5;
|
||||
System.Windows.Forms.Label labelLightAlpha;
|
||||
System.Windows.Forms.Label labelFadeAlpha;
|
||||
System.Windows.Forms.GroupBox grouptriggers;
|
||||
System.Windows.Forms.Label labelTriggerer;
|
||||
System.Windows.Forms.Label labelTriggerTag;
|
||||
this.tagsselector = new CodeImp.DoomBuilder.Controls.TagsSelector();
|
||||
this.resetdamagetype = new System.Windows.Forms.Button();
|
||||
this.brightness = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
|
||||
|
@ -54,12 +57,14 @@
|
|||
this.sectorheightlabel = new System.Windows.Forms.Label();
|
||||
this.sectorheight = new System.Windows.Forms.Label();
|
||||
this.floorheight = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
|
||||
this.triggerer = new System.Windows.Forms.ComboBox();
|
||||
this.tabs = new System.Windows.Forms.TabControl();
|
||||
this.tabproperties = new System.Windows.Forms.TabPage();
|
||||
this.groupBox3 = new System.Windows.Forms.GroupBox();
|
||||
this.flags = new CodeImp.DoomBuilder.Controls.CheckboxArrayControl();
|
||||
this.tabColors = new System.Windows.Forms.TabPage();
|
||||
this.groupBox8 = new System.Windows.Forms.GroupBox();
|
||||
this.fadeAlpha = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
|
||||
this.lightAlpha = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
|
||||
this.lightColor = new CodeImp.DoomBuilder.Controls.ColorFieldsControl();
|
||||
this.fadeColor = new CodeImp.DoomBuilder.Controls.ColorFieldsControl();
|
||||
|
@ -104,7 +109,7 @@
|
|||
this.cancel = new System.Windows.Forms.Button();
|
||||
this.apply = new System.Windows.Forms.Button();
|
||||
this.tooltip = new System.Windows.Forms.ToolTip(this.components);
|
||||
this.fadeAlpha = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
|
||||
this.triggerTag = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
|
||||
groupaction = new System.Windows.Forms.GroupBox();
|
||||
groupeffect = new System.Windows.Forms.GroupBox();
|
||||
label16 = new System.Windows.Forms.Label();
|
||||
|
@ -117,9 +122,13 @@
|
|||
label5 = new System.Windows.Forms.Label();
|
||||
labelLightAlpha = new System.Windows.Forms.Label();
|
||||
labelFadeAlpha = new System.Windows.Forms.Label();
|
||||
grouptriggers = new System.Windows.Forms.GroupBox();
|
||||
labelTriggerer = new System.Windows.Forms.Label();
|
||||
labelTriggerTag = new System.Windows.Forms.Label();
|
||||
groupaction.SuspendLayout();
|
||||
groupeffect.SuspendLayout();
|
||||
groupfloorceiling.SuspendLayout();
|
||||
grouptriggers.SuspendLayout();
|
||||
this.tabs.SuspendLayout();
|
||||
this.tabproperties.SuspendLayout();
|
||||
this.groupBox3.SuspendLayout();
|
||||
|
@ -428,6 +437,47 @@
|
|||
labelLightAlpha.TabIndex = 18;
|
||||
labelLightAlpha.Text = "Light alpha:";
|
||||
//
|
||||
// labelFadeAlpha
|
||||
//
|
||||
labelFadeAlpha.AutoSize = true;
|
||||
labelFadeAlpha.Location = new System.Drawing.Point(6, 118);
|
||||
labelFadeAlpha.Name = "labelFadeAlpha";
|
||||
labelFadeAlpha.Size = new System.Drawing.Size(63, 13);
|
||||
labelFadeAlpha.TabIndex = 20;
|
||||
labelFadeAlpha.Text = "Fade alpha:";
|
||||
//
|
||||
// grouptriggers
|
||||
//
|
||||
grouptriggers.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
grouptriggers.Controls.Add(labelTriggerTag);
|
||||
grouptriggers.Controls.Add(this.triggerTag);
|
||||
grouptriggers.Controls.Add(labelTriggerer);
|
||||
grouptriggers.Controls.Add(this.triggerer);
|
||||
grouptriggers.Location = new System.Drawing.Point(287, 186);
|
||||
grouptriggers.Name = "grouptriggers";
|
||||
grouptriggers.Size = new System.Drawing.Size(254, 138);
|
||||
grouptriggers.TabIndex = 8;
|
||||
grouptriggers.TabStop = false;
|
||||
grouptriggers.Text = "Triggers";
|
||||
//
|
||||
// labelTriggerer
|
||||
//
|
||||
labelTriggerer.Location = new System.Drawing.Point(6, 48);
|
||||
labelTriggerer.Name = "labelTriggerer";
|
||||
labelTriggerer.Size = new System.Drawing.Size(74, 14);
|
||||
labelTriggerer.TabIndex = 7;
|
||||
labelTriggerer.Text = "Triggerer:";
|
||||
labelTriggerer.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// triggerer
|
||||
//
|
||||
this.triggerer.FormattingEnabled = true;
|
||||
this.triggerer.Location = new System.Drawing.Point(86, 44);
|
||||
this.triggerer.Name = "triggerer";
|
||||
this.triggerer.Size = new System.Drawing.Size(167, 21);
|
||||
this.triggerer.TabIndex = 8;
|
||||
//
|
||||
// tabs
|
||||
//
|
||||
this.tabs.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||
|
@ -450,6 +500,7 @@
|
|||
//
|
||||
// tabproperties
|
||||
//
|
||||
this.tabproperties.Controls.Add(grouptriggers);
|
||||
this.tabproperties.Controls.Add(this.groupBox3);
|
||||
this.tabproperties.Controls.Add(groupaction);
|
||||
this.tabproperties.Controls.Add(groupeffect);
|
||||
|
@ -513,6 +564,25 @@
|
|||
this.groupBox8.TabStop = false;
|
||||
this.groupBox8.Text = "Global sector colors";
|
||||
//
|
||||
// fadeAlpha
|
||||
//
|
||||
this.fadeAlpha.AllowDecimal = false;
|
||||
this.fadeAlpha.AllowExpressions = false;
|
||||
this.fadeAlpha.AllowNegative = false;
|
||||
this.fadeAlpha.AllowRelative = false;
|
||||
this.fadeAlpha.ButtonStep = 1;
|
||||
this.fadeAlpha.ButtonStepBig = 1F;
|
||||
this.fadeAlpha.ButtonStepFloat = 1F;
|
||||
this.fadeAlpha.ButtonStepSmall = 1F;
|
||||
this.fadeAlpha.ButtonStepsUseModifierKeys = true;
|
||||
this.fadeAlpha.ButtonStepsWrapAround = false;
|
||||
this.fadeAlpha.Location = new System.Drawing.Point(74, 113);
|
||||
this.fadeAlpha.Name = "fadeAlpha";
|
||||
this.fadeAlpha.Size = new System.Drawing.Size(81, 24);
|
||||
this.fadeAlpha.StepValues = null;
|
||||
this.fadeAlpha.TabIndex = 21;
|
||||
this.fadeAlpha.WhenTextChanged += new System.EventHandler(this.fadeAlpha_WhenTextChanged);
|
||||
//
|
||||
// lightAlpha
|
||||
//
|
||||
this.lightAlpha.AllowDecimal = false;
|
||||
|
@ -635,7 +705,7 @@
|
|||
//
|
||||
// floorAngleControl
|
||||
//
|
||||
this.floorAngleControl.Angle = -1980;
|
||||
this.floorAngleControl.Angle = -2160;
|
||||
this.floorAngleControl.AngleOffset = 90;
|
||||
this.floorAngleControl.DoomAngleClamping = false;
|
||||
this.floorAngleControl.Location = new System.Drawing.Point(6, 156);
|
||||
|
@ -832,7 +902,7 @@
|
|||
//
|
||||
// ceilAngleControl
|
||||
//
|
||||
this.ceilAngleControl.Angle = -1980;
|
||||
this.ceilAngleControl.Angle = -2160;
|
||||
this.ceilAngleControl.AngleOffset = 90;
|
||||
this.ceilAngleControl.DoomAngleClamping = false;
|
||||
this.ceilAngleControl.Location = new System.Drawing.Point(6, 156);
|
||||
|
@ -1097,33 +1167,32 @@
|
|||
this.tooltip.InitialDelay = 10;
|
||||
this.tooltip.ReshowDelay = 100;
|
||||
//
|
||||
// fadeAlpha
|
||||
// triggerTag
|
||||
//
|
||||
this.fadeAlpha.AllowDecimal = false;
|
||||
this.fadeAlpha.AllowExpressions = false;
|
||||
this.fadeAlpha.AllowNegative = false;
|
||||
this.fadeAlpha.AllowRelative = false;
|
||||
this.fadeAlpha.ButtonStep = 1;
|
||||
this.fadeAlpha.ButtonStepBig = 1F;
|
||||
this.fadeAlpha.ButtonStepFloat = 1F;
|
||||
this.fadeAlpha.ButtonStepSmall = 1F;
|
||||
this.fadeAlpha.ButtonStepsUseModifierKeys = true;
|
||||
this.fadeAlpha.ButtonStepsWrapAround = false;
|
||||
this.fadeAlpha.Location = new System.Drawing.Point(74, 113);
|
||||
this.fadeAlpha.Name = "fadeAlpha";
|
||||
this.fadeAlpha.Size = new System.Drawing.Size(81, 24);
|
||||
this.fadeAlpha.StepValues = null;
|
||||
this.fadeAlpha.TabIndex = 21;
|
||||
this.fadeAlpha.WhenTextChanged += new System.EventHandler(this.fadeAlpha_WhenTextChanged);
|
||||
this.triggerTag.AllowDecimal = false;
|
||||
this.triggerTag.AllowExpressions = false;
|
||||
this.triggerTag.AllowNegative = false;
|
||||
this.triggerTag.AllowRelative = false;
|
||||
this.triggerTag.ButtonStep = 1;
|
||||
this.triggerTag.ButtonStepBig = 1F;
|
||||
this.triggerTag.ButtonStepFloat = 1F;
|
||||
this.triggerTag.ButtonStepSmall = 1F;
|
||||
this.triggerTag.ButtonStepsUseModifierKeys = true;
|
||||
this.triggerTag.ButtonStepsWrapAround = false;
|
||||
this.triggerTag.Location = new System.Drawing.Point(86, 14);
|
||||
this.triggerTag.Name = "triggerTag";
|
||||
this.triggerTag.Size = new System.Drawing.Size(81, 24);
|
||||
this.triggerTag.StepValues = null;
|
||||
this.triggerTag.TabIndex = 20;
|
||||
//
|
||||
// labelFadeAlpha
|
||||
// labelTriggerTag
|
||||
//
|
||||
labelFadeAlpha.AutoSize = true;
|
||||
labelFadeAlpha.Location = new System.Drawing.Point(6, 118);
|
||||
labelFadeAlpha.Name = "labelFadeAlpha";
|
||||
labelFadeAlpha.Size = new System.Drawing.Size(63, 13);
|
||||
labelFadeAlpha.TabIndex = 20;
|
||||
labelFadeAlpha.Text = "Fade alpha:";
|
||||
labelTriggerTag.Location = new System.Drawing.Point(6, 19);
|
||||
labelTriggerTag.Name = "labelTriggerTag";
|
||||
labelTriggerTag.Size = new System.Drawing.Size(74, 14);
|
||||
labelTriggerTag.TabIndex = 21;
|
||||
labelTriggerTag.Text = "Trigger tag:";
|
||||
labelTriggerTag.TextAlign = System.Drawing.ContentAlignment.TopRight;
|
||||
//
|
||||
// SectorEditFormSRB2
|
||||
//
|
||||
|
@ -1151,6 +1220,7 @@
|
|||
groupeffect.PerformLayout();
|
||||
groupfloorceiling.ResumeLayout(false);
|
||||
groupfloorceiling.PerformLayout();
|
||||
grouptriggers.ResumeLayout(false);
|
||||
this.tabs.ResumeLayout(false);
|
||||
this.tabproperties.ResumeLayout(false);
|
||||
this.groupBox3.ResumeLayout(false);
|
||||
|
@ -1236,5 +1306,7 @@
|
|||
private System.Windows.Forms.GroupBox groupBox8;
|
||||
private Controls.ButtonsNumericTextbox lightAlpha;
|
||||
private Controls.ButtonsNumericTextbox fadeAlpha;
|
||||
private System.Windows.Forms.ComboBox triggerer;
|
||||
private Controls.ButtonsNumericTextbox triggerTag;
|
||||
}
|
||||
}
|
|
@ -24,6 +24,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
#region ================== Constants
|
||||
|
||||
private const string NO_DAMAGETYPE = "None"; //mxd
|
||||
private const string TRIGGERER_DEFAULT = "Player";
|
||||
|
||||
#endregion
|
||||
|
||||
|
@ -183,6 +184,10 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
damagetype.Items.Add(NO_DAMAGETYPE);
|
||||
damagetype.Items.AddRange(General.Map.Data.DamageTypes);
|
||||
|
||||
//Fill triggerer list
|
||||
List<string> ttypes = new List<string>(General.Map.Config.TriggererTypes);
|
||||
triggerer.Items.AddRange(ttypes.ToArray());
|
||||
|
||||
// Initialize custom fields editor
|
||||
fieldslist.Setup("sector");
|
||||
|
||||
|
@ -293,6 +298,8 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
|
||||
// Misc
|
||||
gravity.Text = sc.Fields.GetValue("gravity", 1.0).ToString();
|
||||
triggerTag.Text = sc.Fields.GetValue("triggertag", 0).ToString();
|
||||
triggerer.Text = sc.Fields.GetValue("triggerer", TRIGGERER_DEFAULT);
|
||||
|
||||
// Sector colors
|
||||
fadeColor.SetValueFrom(sc.Fields, true);
|
||||
|
@ -382,6 +389,9 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
|
||||
// Misc
|
||||
if(s.Fields.GetValue("gravity", 1.0).ToString() != gravity.Text) gravity.Text = "";
|
||||
if (s.Fields.GetValue("triggertag", 0).ToString() != triggerTag.Text) triggerTag.Text = "";
|
||||
if (triggerer.SelectedIndex > -1 && s.Fields.GetValue("triggerer", TRIGGERER_DEFAULT) != triggerer.Text)
|
||||
triggerer.SelectedIndex = -1;
|
||||
|
||||
// Sector colors
|
||||
fadeColor.SetValueFrom(s.Fields, false);
|
||||
|
@ -665,6 +675,12 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
if(!string.IsNullOrEmpty(gravity.Text))
|
||||
UniFields.SetFloat(s.Fields, "gravity", gravity.GetResultFloat(s.Fields.GetValue("gravity", 1.0)), 1.0);
|
||||
|
||||
if (!string.IsNullOrEmpty(triggerTag.Text))
|
||||
UniFields.SetInteger(s.Fields, "triggertag", triggerTag.GetResult(s.Fields.GetValue("triggertag", 0)), 0);
|
||||
|
||||
if (!string.IsNullOrEmpty(triggerer.Text))
|
||||
UniFields.SetString(s.Fields, "triggerer", triggerer.Text, TRIGGERER_DEFAULT);
|
||||
|
||||
// Clear horizontal slopes
|
||||
double diff = Math.Abs(Math.Round(s.FloorSlopeOffset) - s.FloorSlopeOffset);
|
||||
if (Math.Abs(s.FloorSlope.z) == 1.0 && diff < 0.000000001)
|
||||
|
|
|
@ -181,12 +181,21 @@
|
|||
<metadata name="labelLightAlpha.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="tabproperties.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="labelFadeAlpha.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="grouptriggers.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="labelTriggerTag.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="labelTriggerer.GenerateMember" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>False</value>
|
||||
</metadata>
|
||||
<metadata name="tabproperties.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<data name="resetfloorlight.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
|
|
Loading…
Reference in a new issue