mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-01-18 14:31:50 +00:00
UDMF: added "waterzone" sector flag.
UDMF: added "gravity" thing property to UI. MAPINFO parser: removed unneeded error notification.
This commit is contained in:
parent
1eb9807ee2
commit
0123e8df6e
7 changed files with 92 additions and 25 deletions
|
@ -65,6 +65,7 @@ sectorflags
|
|||
silent = "Silent";
|
||||
hidden = "Not shown on automap";
|
||||
nofallingdamage = "No falling damage";
|
||||
waterzone = "Sector is under water and swimmable";
|
||||
norespawn = "Players can't respawn in this sector";
|
||||
dropactors = "Actors drop with instantly moving floors";
|
||||
}
|
||||
|
|
|
@ -113,6 +113,7 @@ Note: All <bool> fields default to false unless mentioned otherwise.
|
|||
blockprojectiles = <bool>;// Line blocks all projectiles
|
||||
blockuse = <bool>; // Line blocks all use actions
|
||||
blocksight = <bool>; // Line blocks monster line of sight
|
||||
blockhitscan = <bool>; // Line blocks hitscan attacks
|
||||
locknumber = <int>; // Line special is locked
|
||||
arg0str = <string>; // Alternate string-based version of arg0
|
||||
|
||||
|
@ -186,6 +187,7 @@ Note: All <bool> fields default to false unless mentioned otherwise.
|
|||
soundsequence = <string>; // The sound sequence to play when this sector moves. Placing a
|
||||
// sound sequence thing in the sector will override this property.
|
||||
hidden = <bool>; // if true this sector will not be drawn on the textured automap.
|
||||
waterzone = <bool>; // Sector is under water and swimmable
|
||||
|
||||
* Note about dropactors
|
||||
|
||||
|
@ -203,6 +205,8 @@ Note: All <bool> fields default to false unless mentioned otherwise.
|
|||
// Parameter is the conversation ID, 0 meaning none.
|
||||
countsecret = <bool>; // Picking up this actor counts as a secret.
|
||||
arg0str = <string>; // Alternate string-based version of arg0
|
||||
gravity = <float>; // Set per-actor gravity. Positive values are multiplied with the class's property,
|
||||
// negative values are used as their absolute. Default = 1.0.
|
||||
|
||||
* Note about arg0str
|
||||
|
||||
|
@ -328,6 +332,9 @@ Added back locknumber property.
|
|||
1.20 25.02.2012
|
||||
Added arg0str thing property.
|
||||
|
||||
1.21 09.08.2013
|
||||
Added waterzone sector property.
|
||||
|
||||
===============================================================================
|
||||
EOF
|
||||
===============================================================================
|
||||
|
|
|
@ -65,8 +65,6 @@ namespace CodeImp.DoomBuilder.GZBuilder.GZDoom {
|
|||
|
||||
//sky1 or sky2
|
||||
if (token == "sky1" || token == "sky2") {
|
||||
//Form1.Trace("Got sky " + token);
|
||||
|
||||
string skyType = token;
|
||||
SkipWhitespace(true);
|
||||
token = StripTokenQuotes(ReadToken()).ToLowerInvariant();
|
||||
|
@ -135,7 +133,6 @@ namespace CodeImp.DoomBuilder.GZBuilder.GZDoom {
|
|||
float scrollSpeed = 0;
|
||||
if (!ReadSignedFloat(token, ref scrollSpeed)) {
|
||||
// Not numeric!
|
||||
General.ErrorLogger.Add(ErrorType.Error, "Unexpected token found in '" + sourcename + "' at line " + GetCurrentLineNumber() + ": expected " + skyType + " scroll speed value, but got '" + token + "'");
|
||||
datastream.Seek(-token.Length - 1, SeekOrigin.Current); //step back and try parsing this token again
|
||||
continue;
|
||||
}
|
||||
|
|
|
@ -61,6 +61,7 @@ uifields
|
|||
thing
|
||||
{
|
||||
arg0str;
|
||||
conversation;
|
||||
conversation;
|
||||
gravity;
|
||||
}
|
||||
}
|
64
Source/Core/Windows/ThingEditForm.Designer.cs
generated
64
Source/Core/Windows/ThingEditForm.Designer.cs
generated
|
@ -32,6 +32,8 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
System.Windows.Forms.GroupBox groupBox2;
|
||||
System.Windows.Forms.Label label7;
|
||||
this.thingtype = new CodeImp.DoomBuilder.Controls.ThingBrowserControl();
|
||||
this.gravity = new CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox();
|
||||
this.labelGravity = new System.Windows.Forms.Label();
|
||||
this.cbRandomAngle = new System.Windows.Forms.CheckBox();
|
||||
this.cbAbsoluteHeight = new System.Windows.Forms.CheckBox();
|
||||
this.label2 = new System.Windows.Forms.Label();
|
||||
|
@ -119,6 +121,8 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
groupBox2.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
|
||||
| System.Windows.Forms.AnchorStyles.Right)));
|
||||
groupBox2.Controls.Add(this.gravity);
|
||||
groupBox2.Controls.Add(this.labelGravity);
|
||||
groupBox2.Controls.Add(this.cbRandomAngle);
|
||||
groupBox2.Controls.Add(this.cbAbsoluteHeight);
|
||||
groupBox2.Controls.Add(this.label2);
|
||||
|
@ -130,17 +134,39 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
groupBox2.Controls.Add(this.zlabel);
|
||||
groupBox2.Controls.Add(this.anglecontrol);
|
||||
groupBox2.Controls.Add(this.labelAngle);
|
||||
groupBox2.Location = new System.Drawing.Point(397, 246);
|
||||
groupBox2.Location = new System.Drawing.Point(394, 216);
|
||||
groupBox2.Name = "groupBox2";
|
||||
groupBox2.Size = new System.Drawing.Size(249, 134);
|
||||
groupBox2.Size = new System.Drawing.Size(252, 164);
|
||||
groupBox2.TabIndex = 2;
|
||||
groupBox2.TabStop = false;
|
||||
groupBox2.Text = " Coordination ";
|
||||
//
|
||||
// gravity
|
||||
//
|
||||
this.gravity.AllowDecimal = true;
|
||||
this.gravity.AllowNegative = true;
|
||||
this.gravity.AllowRelative = false;
|
||||
this.gravity.ButtonStep = 8;
|
||||
this.gravity.ButtonStepFloat = 0.1F;
|
||||
this.gravity.Location = new System.Drawing.Point(61, 118);
|
||||
this.gravity.Name = "gravity";
|
||||
this.gravity.Size = new System.Drawing.Size(72, 24);
|
||||
this.gravity.StepValues = null;
|
||||
this.gravity.TabIndex = 19;
|
||||
//
|
||||
// labelGravity
|
||||
//
|
||||
this.labelGravity.Location = new System.Drawing.Point(5, 123);
|
||||
this.labelGravity.Name = "labelGravity";
|
||||
this.labelGravity.Size = new System.Drawing.Size(50, 14);
|
||||
this.labelGravity.TabIndex = 18;
|
||||
this.labelGravity.Text = "Gravity:";
|
||||
this.labelGravity.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
//
|
||||
// cbRandomAngle
|
||||
//
|
||||
this.cbRandomAngle.AutoSize = true;
|
||||
this.cbRandomAngle.Location = new System.Drawing.Point(38, 114);
|
||||
this.cbRandomAngle.Location = new System.Drawing.Point(151, 19);
|
||||
this.cbRandomAngle.Name = "cbRandomAngle";
|
||||
this.cbRandomAngle.Size = new System.Drawing.Size(94, 18);
|
||||
this.cbRandomAngle.TabIndex = 17;
|
||||
|
@ -151,7 +177,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
// cbAbsoluteHeight
|
||||
//
|
||||
this.cbAbsoluteHeight.AutoSize = true;
|
||||
this.cbAbsoluteHeight.Location = new System.Drawing.Point(38, 93);
|
||||
this.cbAbsoluteHeight.Location = new System.Drawing.Point(37, 94);
|
||||
this.cbAbsoluteHeight.Name = "cbAbsoluteHeight";
|
||||
this.cbAbsoluteHeight.Size = new System.Drawing.Size(102, 18);
|
||||
this.cbAbsoluteHeight.TabIndex = 16;
|
||||
|
@ -161,7 +187,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// label2
|
||||
//
|
||||
this.label2.Location = new System.Drawing.Point(12, 21);
|
||||
this.label2.Location = new System.Drawing.Point(5, 21);
|
||||
this.label2.Name = "label2";
|
||||
this.label2.Size = new System.Drawing.Size(50, 14);
|
||||
this.label2.TabIndex = 15;
|
||||
|
@ -170,9 +196,9 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// label1
|
||||
//
|
||||
this.label1.Location = new System.Drawing.Point(9, 46);
|
||||
this.label1.Location = new System.Drawing.Point(5, 46);
|
||||
this.label1.Name = "label1";
|
||||
this.label1.Size = new System.Drawing.Size(53, 14);
|
||||
this.label1.Size = new System.Drawing.Size(50, 14);
|
||||
this.label1.TabIndex = 14;
|
||||
this.label1.Text = "Y:";
|
||||
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
|
@ -184,7 +210,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.posX.AllowRelative = true;
|
||||
this.posX.ButtonStep = 8;
|
||||
this.posX.ButtonStepFloat = 1F;
|
||||
this.posX.Location = new System.Drawing.Point(68, 16);
|
||||
this.posX.Location = new System.Drawing.Point(61, 16);
|
||||
this.posX.Name = "posX";
|
||||
this.posX.Size = new System.Drawing.Size(72, 24);
|
||||
this.posX.StepValues = null;
|
||||
|
@ -198,7 +224,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.posY.AllowRelative = true;
|
||||
this.posY.ButtonStep = 8;
|
||||
this.posY.ButtonStepFloat = 1F;
|
||||
this.posY.Location = new System.Drawing.Point(68, 41);
|
||||
this.posY.Location = new System.Drawing.Point(61, 41);
|
||||
this.posY.Name = "posY";
|
||||
this.posY.Size = new System.Drawing.Size(72, 24);
|
||||
this.posY.StepValues = null;
|
||||
|
@ -212,7 +238,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.posZ.AllowRelative = true;
|
||||
this.posZ.ButtonStep = 8;
|
||||
this.posZ.ButtonStepFloat = 1F;
|
||||
this.posZ.Location = new System.Drawing.Point(68, 66);
|
||||
this.posZ.Location = new System.Drawing.Point(61, 66);
|
||||
this.posZ.Name = "posZ";
|
||||
this.posZ.Size = new System.Drawing.Size(72, 24);
|
||||
this.posZ.StepValues = null;
|
||||
|
@ -226,7 +252,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.angle.AllowRelative = true;
|
||||
this.angle.ButtonStep = 1;
|
||||
this.angle.ButtonStepFloat = 1F;
|
||||
this.angle.Location = new System.Drawing.Point(186, 16);
|
||||
this.angle.Location = new System.Drawing.Point(186, 41);
|
||||
this.angle.Name = "angle";
|
||||
this.angle.Size = new System.Drawing.Size(57, 24);
|
||||
this.angle.StepValues = null;
|
||||
|
@ -235,9 +261,9 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
//
|
||||
// zlabel
|
||||
//
|
||||
this.zlabel.Location = new System.Drawing.Point(6, 71);
|
||||
this.zlabel.Location = new System.Drawing.Point(5, 71);
|
||||
this.zlabel.Name = "zlabel";
|
||||
this.zlabel.Size = new System.Drawing.Size(56, 14);
|
||||
this.zlabel.Size = new System.Drawing.Size(50, 14);
|
||||
this.zlabel.TabIndex = 9;
|
||||
this.zlabel.Text = "Height:";
|
||||
this.zlabel.TextAlign = System.Drawing.ContentAlignment.MiddleRight;
|
||||
|
@ -247,7 +273,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.anglecontrol.BackColor = System.Drawing.SystemColors.Control;
|
||||
this.anglecontrol.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.anglecontrol.Font = new System.Drawing.Font("Arial", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
|
||||
this.anglecontrol.Location = new System.Drawing.Point(153, 46);
|
||||
this.anglecontrol.Location = new System.Drawing.Point(152, 71);
|
||||
this.anglecontrol.Name = "anglecontrol";
|
||||
this.anglecontrol.Size = new System.Drawing.Size(84, 84);
|
||||
this.anglecontrol.TabIndex = 2;
|
||||
|
@ -257,7 +283,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
// labelAngle
|
||||
//
|
||||
this.labelAngle.AutoSize = true;
|
||||
this.labelAngle.Location = new System.Drawing.Point(149, 21);
|
||||
this.labelAngle.Location = new System.Drawing.Point(149, 46);
|
||||
this.labelAngle.Name = "labelAngle";
|
||||
this.labelAngle.Size = new System.Drawing.Size(38, 14);
|
||||
this.labelAngle.TabIndex = 8;
|
||||
|
@ -310,7 +336,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.spritetex.BackColor = System.Drawing.SystemColors.AppWorkspace;
|
||||
this.spritetex.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Zoom;
|
||||
this.spritetex.BorderStyle = System.Windows.Forms.BorderStyle.Fixed3D;
|
||||
this.spritetex.Location = new System.Drawing.Point(284, 252);
|
||||
this.spritetex.Location = new System.Drawing.Point(284, 222);
|
||||
this.spritetex.Name = "spritetex";
|
||||
this.spritetex.Size = new System.Drawing.Size(104, 100);
|
||||
this.spritetex.TabIndex = 22;
|
||||
|
@ -323,7 +349,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.settingsgroup.Controls.Add(this.flags);
|
||||
this.settingsgroup.Location = new System.Drawing.Point(284, 6);
|
||||
this.settingsgroup.Name = "settingsgroup";
|
||||
this.settingsgroup.Size = new System.Drawing.Size(362, 234);
|
||||
this.settingsgroup.Size = new System.Drawing.Size(362, 204);
|
||||
this.settingsgroup.TabIndex = 1;
|
||||
this.settingsgroup.TabStop = false;
|
||||
this.settingsgroup.Text = " Settings ";
|
||||
|
@ -337,7 +363,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
this.flags.Columns = 3;
|
||||
this.flags.Location = new System.Drawing.Point(19, 19);
|
||||
this.flags.Name = "flags";
|
||||
this.flags.Size = new System.Drawing.Size(337, 208);
|
||||
this.flags.Size = new System.Drawing.Size(337, 178);
|
||||
this.flags.TabIndex = 0;
|
||||
this.flags.VerticalSpacing = 1;
|
||||
//
|
||||
|
@ -732,5 +758,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox conversationID;
|
||||
private System.Windows.Forms.Label labelID;
|
||||
private System.Windows.Forms.ComboBox scriptNumbers;
|
||||
private CodeImp.DoomBuilder.Controls.ButtonsNumericTextbox gravity;
|
||||
private System.Windows.Forms.Label labelGravity;
|
||||
}
|
||||
}
|
|
@ -104,6 +104,8 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
// Hide unused controls
|
||||
labelID.Visible = false; //mxd
|
||||
conversationID.Visible = false; //mxd
|
||||
labelGravity.Visible = false; //mxd
|
||||
gravity.Visible = false; //mxd
|
||||
}
|
||||
|
||||
// Tag/Effects?
|
||||
|
@ -185,6 +187,7 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
if(General.Map.FormatInterface.HasCustomFields) {
|
||||
fieldslist.SetValues(ft.Fields, true);
|
||||
conversationID.Text = ft.Fields.GetValue("conversation", 0).ToString();
|
||||
gravity.Text = ft.Fields.GetValue("gravity", 1.0f).ToString();
|
||||
arg0str = ft.Fields.GetValue("arg0str", string.Empty);
|
||||
haveArg0Str = !string.IsNullOrEmpty(arg0str);
|
||||
}
|
||||
|
@ -256,6 +259,9 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
if(t.Fields.GetValue("conversation", 0).ToString() != conversationID.Text)
|
||||
conversationID.Text = "";
|
||||
|
||||
if(t.Fields.GetValue("gravity", 1.0f).ToString() != gravity.Text)
|
||||
gravity.Text = "";
|
||||
|
||||
if (arg0str != t.Fields.GetValue("arg0str", string.Empty)) {
|
||||
haveArg0Str = true;
|
||||
arg0str = string.Empty;
|
||||
|
@ -487,6 +493,9 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
|
||||
if(!string.IsNullOrEmpty(conversationID.Text))
|
||||
UDMFTools.SetInteger(t.Fields, "conversation", conversationID.GetResult(t.Fields.GetValue("conversation", 0)), 0, false);
|
||||
|
||||
if(!string.IsNullOrEmpty(gravity.Text))
|
||||
UDMFTools.SetFloat(t.Fields, "gravity", gravity.GetResultFloat(t.Fields.GetValue("gravity", 1.0f)), 1.0f, false);
|
||||
}
|
||||
|
||||
// Update settings
|
||||
|
|
|
@ -138,9 +138,36 @@
|
|||
<metadata name="actiongroup.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="groupBox3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="fieldslist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="actiongroup.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="hexenpanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="doompanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="hexenpanel.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="arg1label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="arg0label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="arg2label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="arg1label.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
@ -156,9 +183,6 @@
|
|||
<metadata name="groupBox3.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="tabcustom.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
<metadata name="fieldslist.Locked" type="System.Boolean, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
|
||||
<value>True</value>
|
||||
</metadata>
|
||||
|
|
Loading…
Reference in a new issue