From 6c8e6be72674f1d0c0928e76a23695b12ba870d1 Mon Sep 17 00:00:00 2001 From: dexy Date: Wed, 1 Dec 2021 17:37:07 +1100 Subject: [PATCH] Changed field names in CScenarioChainingNode --- .../GameFiles/MetaTypes/MetaNames.cs | 2 + .../GameFiles/MetaTypes/MetaTypes.cs | 18 ++-- .../GameFiles/MetaTypes/PsoTypes.cs | 4 +- CodeWalker.Core/World/Scenarios.cs | 12 +-- .../Panels/EditScenarioNodePanel.Designer.cs | 96 +++++++++---------- .../Project/Panels/EditScenarioNodePanel.cs | 42 ++++---- CodeWalker/Project/ProjectForm.cs | 8 +- 7 files changed, 92 insertions(+), 90 deletions(-) diff --git a/CodeWalker.Core/GameFiles/MetaTypes/MetaNames.cs b/CodeWalker.Core/GameFiles/MetaTypes/MetaNames.cs index fa29202..b0b167e 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/MetaNames.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/MetaNames.cs @@ -3356,6 +3356,8 @@ namespace CodeWalker.GameFiles Chains = 3254907796, ChainingGraph = 3696045377, rage__spdSphere = 1062159465, + HasIncomingEdges = 407126079, + HasOutgoingEdges = 1308720135, EdgeIds = 934700563, TypeNames = 3057471271, GroupNames = 2506712617, diff --git a/CodeWalker.Core/GameFiles/MetaTypes/MetaTypes.cs b/CodeWalker.Core/GameFiles/MetaTypes/MetaTypes.cs index 192bcb1..168ec24 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/MetaTypes.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/MetaTypes.cs @@ -404,8 +404,8 @@ namespace CodeWalker.GameFiles new MetaStructureEntryInfo_s(MetaName.Position, 0, MetaStructureEntryDataType.Float_XYZ, 0, 0, 0), new MetaStructureEntryInfo_s((MetaName)2602393771, 16, MetaStructureEntryDataType.Hash, 0, 0, 0), new MetaStructureEntryInfo_s(MetaName.ScenarioType, 20, MetaStructureEntryDataType.Hash, 0, 0, 0), - new MetaStructureEntryInfo_s((MetaName)407126079, 24, MetaStructureEntryDataType.Boolean, 0, 0, 0), - new MetaStructureEntryInfo_s((MetaName)1308720135, 25, MetaStructureEntryDataType.Boolean, 0, 0, 0) + new MetaStructureEntryInfo_s(MetaName.HasIncomingEdges, 24, MetaStructureEntryDataType.Boolean, 0, 0, 0), + new MetaStructureEntryInfo_s(MetaName.HasOutgoingEdges, 25, MetaStructureEntryDataType.Boolean, 0, 0, 0) ); case MetaName.CScenarioChainingEdge: return new MetaStructureInfo(MetaName.CScenarioChainingEdge, 2004985940, 256, 8, @@ -5287,16 +5287,16 @@ namespace CodeWalker.GameFiles { public Vector3 Position { get; set; } //0 0: Float_XYZ: 0: Position public float Unused0 { get; set; }//12 - public MetaHash Unk_2602393771 { get; set; } //16 16: Hash: 0: 2602393771 + public MetaHash Unk_2602393771 { get; set; } //16 16: Hash: 0: 2602393771 prop name, eg. prop_parknmeter_01, prop_atm_01, prop_bench_01a public MetaHash ScenarioType { get; set; } //20 20: Hash: 0: ScenarioType - public byte Unk_407126079_NotFirst { get; set; } //24 24: Boolean: 0: 407126079 //can move backwards? (not first node) - public byte Unk_1308720135_NotLast { get; set; } //25 25: Boolean: 0: 1308720135 //can move forwards? (not last node) + public byte HasIncomingEdges { get; set; } //24 24: Boolean: 0: HasIncomingEdges (not first node) + public byte HasOutgoingEdges { get; set; } //25 25: Boolean: 0: HasOutgoingEdges (not last node) public ushort Unused1 { get; set; }//26 public uint Unused2 { get; set; }//28 public override string ToString() { - return //Unk_407126079.ToString() + ", " + Unk_1308720135.ToString() + ", " + + return ScenarioType.ToString() + ", " + Unk_2602393771.ToString(); } } @@ -5310,11 +5310,11 @@ namespace CodeWalker.GameFiles public CScenarioChainingNode Data { get { return _Data; } set { _Data = value; } } public Vector3 Position { get { return _Data.Position; } set { _Data.Position = value; } } - public MetaHash Unk1 { get { return _Data.Unk_2602393771; } set { _Data.Unk_2602393771 = value; } } + public MetaHash PropHash { get { return _Data.Unk_2602393771; } set { _Data.Unk_2602393771 = value; } } public MetaHash TypeHash { get { return _Data.ScenarioType; } set { _Data.ScenarioType = value; } } public ScenarioTypeRef Type { get; set; } - public bool NotFirst { get { return _Data.Unk_407126079_NotFirst == 1; } set { _Data.Unk_407126079_NotFirst = (byte)(value ? 1 : 0); } } - public bool NotLast { get { return _Data.Unk_1308720135_NotLast == 1; } set { _Data.Unk_1308720135_NotLast = (byte)(value ? 1 : 0); } } + public bool HasIncomingEdges { get { return _Data.HasIncomingEdges == 1; } set { _Data.HasIncomingEdges = (byte)(value ? 1 : 0); } } + public bool HasOutgoingEdges { get { return _Data.HasOutgoingEdges == 1; } set { _Data.HasOutgoingEdges = (byte)(value ? 1 : 0); } } public int NodeIndex { get; set; } public MCScenarioChain Chain { get; set; } diff --git a/CodeWalker.Core/GameFiles/MetaTypes/PsoTypes.cs b/CodeWalker.Core/GameFiles/MetaTypes/PsoTypes.cs index f309a7a..8932f08 100644 --- a/CodeWalker.Core/GameFiles/MetaTypes/PsoTypes.cs +++ b/CodeWalker.Core/GameFiles/MetaTypes/PsoTypes.cs @@ -13200,8 +13200,8 @@ namespace CodeWalker.GameFiles new PsoStructureEntryInfo(MetaName.Position, PsoDataType.Float3a, 16, 0, 0), new PsoStructureEntryInfo((MetaName)2602393771, PsoDataType.String, 32, 7, 0), new PsoStructureEntryInfo(MetaName.ScenarioType, PsoDataType.String, 36, 7, 0), - new PsoStructureEntryInfo((MetaName)407126079, PsoDataType.Bool, 40, 0, 0), - new PsoStructureEntryInfo((MetaName)1308720135, PsoDataType.Bool, 41, 0, 0) + new PsoStructureEntryInfo(MetaName.HasIncomingEdges, PsoDataType.Bool, 40, 0, 0), + new PsoStructureEntryInfo(MetaName.HasOutgoingEdges, PsoDataType.Bool, 41, 0, 0) ); case MetaName.CScenarioChainingEdge: return new PsoStructureInfo(MetaName.CScenarioChainingEdge, 0, 0, 16, diff --git a/CodeWalker.Core/World/Scenarios.cs b/CodeWalker.Core/World/Scenarios.cs index 8cc325b..f5dba22 100644 --- a/CodeWalker.Core/World/Scenarios.cs +++ b/CodeWalker.Core/World/Scenarios.cs @@ -458,8 +458,8 @@ namespace CodeWalker.World if ((vid1 >= r.Paths.Nodes.Length) || (vid2 >= r.Paths.Nodes.Length)) continue; var v1 = r.Paths.Nodes[vid1]; var v2 = r.Paths.Nodes[vid2]; - byte cr1 = (v1.NotFirst) ? (byte)255 : (byte)0; - byte cr2 = (v2.NotFirst) ? (byte)255 : (byte)0; + byte cr1 = (v1.HasIncomingEdges) ? (byte)255 : (byte)0; + byte cr2 = (v2.HasIncomingEdges) ? (byte)255 : (byte)0; byte cg = 0;// (chain._Data.Unk_1156691834 > 1) ? (byte)255 : (byte)0; //cg = ((v1.Unk1 != 0) || (v2.Unk1 != 0)) ? (byte)255 : (byte)0; //cg = (edge.Action == CScenarioChainingEdge__eAction.Unk_7865678) ? (byte)255 : (byte)0; @@ -469,8 +469,8 @@ namespace CodeWalker.World byte cb2 = (byte)(255 - cr2); pv1.Position = v1.Position; pv2.Position = v2.Position; - pv1.Colour = (uint)new Color(cr1, cg, cb1, (byte)255).ToRgba();// (v1._Data.Unk_407126079 == 1) ? cred : cblu; - pv2.Colour = (uint)new Color(cr2, cg, cb2, (byte)255).ToRgba();// (v2._Data.Unk_407126079 == 1) ? cred : cblu; + pv1.Colour = (uint)new Color(cr1, cg, cb1, (byte)255).ToRgba();// (v1._Data.HasIncomingEdges == 1) ? cred : cblu; + pv2.Colour = (uint)new Color(cr2, cg, cb2, (byte)255).ToRgba();// (v2._Data.HasIncomingEdges == 1) ? cred : cblu; pathverts.Add(pv1); pathverts.Add(pv2); } @@ -794,8 +794,8 @@ namespace CodeWalker.World Region.Paths.AddEdge(newEdge); //chain start/end have these flags set... make sure they are updated! - copy.ChainingNode.NotLast = true; - n.ChainingNode.NotLast = false; + copy.ChainingNode.HasOutgoingEdges = true; + n.ChainingNode.HasOutgoingEdges = false; if (copy.Region == Region) //only add the new edge if we're in the same region... { diff --git a/CodeWalker/Project/Panels/EditScenarioNodePanel.Designer.cs b/CodeWalker/Project/Panels/EditScenarioNodePanel.Designer.cs index 70fdca8..f653caa 100644 --- a/CodeWalker/Project/Panels/EditScenarioNodePanel.Designer.cs +++ b/CodeWalker/Project/Panels/EditScenarioNodePanel.Designer.cs @@ -158,11 +158,11 @@ this.ScenarioChainNodeTypeComboBox = new System.Windows.Forms.ComboBox(); this.ScenarioChainNodeIndexTextBox = new System.Windows.Forms.TextBox(); this.label115 = new System.Windows.Forms.Label(); - this.ScenarioChainNodeLastCheckBox = new System.Windows.Forms.CheckBox(); - this.ScenarioChainNodeFirstCheckBox = new System.Windows.Forms.CheckBox(); + this.ScenarioChainNodeHasOutgoingCheckBox = new System.Windows.Forms.CheckBox(); + this.ScenarioChainNodeHasIncomingCheckBox = new System.Windows.Forms.CheckBox(); this.label123 = new System.Windows.Forms.Label(); - this.ScenarioChainNodeUnk1HashLabel = new System.Windows.Forms.Label(); - this.ScenarioChainNodeUnk1TextBox = new System.Windows.Forms.TextBox(); + this.ScenarioChainNodePropHashLabel = new System.Windows.Forms.Label(); + this.ScenarioChainNodePropTextBox = new System.Windows.Forms.TextBox(); this.label119 = new System.Windows.Forms.Label(); this.ScenarioChainNodeGoToButton = new System.Windows.Forms.Button(); this.ScenarioChainNodePositionTextBox = new System.Windows.Forms.TextBox(); @@ -1760,11 +1760,11 @@ this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeTypeComboBox); this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeIndexTextBox); this.ScenarioChainNodePanel.Controls.Add(this.label115); - this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeLastCheckBox); - this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeFirstCheckBox); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeHasOutgoingCheckBox); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeHasIncomingCheckBox); this.ScenarioChainNodePanel.Controls.Add(this.label123); - this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeUnk1HashLabel); - this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeUnk1TextBox); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodePropHashLabel); + this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodePropTextBox); this.ScenarioChainNodePanel.Controls.Add(this.label119); this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodeGoToButton); this.ScenarioChainNodePanel.Controls.Add(this.ScenarioChainNodePositionTextBox); @@ -1806,27 +1806,27 @@ this.label115.TabIndex = 16; this.label115.Text = "Index:"; // - // ScenarioChainNodeLastCheckBox + // ScenarioChainNodeHasOutgoingCheckBox // - this.ScenarioChainNodeLastCheckBox.AutoSize = true; - this.ScenarioChainNodeLastCheckBox.Location = new System.Drawing.Point(73, 105); - this.ScenarioChainNodeLastCheckBox.Name = "ScenarioChainNodeLastCheckBox"; - this.ScenarioChainNodeLastCheckBox.Size = new System.Drawing.Size(86, 17); - this.ScenarioChainNodeLastCheckBox.TabIndex = 15; - this.ScenarioChainNodeLastCheckBox.Text = "Last in chain"; - this.ScenarioChainNodeLastCheckBox.UseVisualStyleBackColor = true; - this.ScenarioChainNodeLastCheckBox.CheckedChanged += new System.EventHandler(this.ScenarioChainNodeLastCheckBox_CheckedChanged); + this.ScenarioChainNodeHasOutgoingCheckBox.AutoSize = true; + this.ScenarioChainNodeHasOutgoingCheckBox.Location = new System.Drawing.Point(73, 105); + this.ScenarioChainNodeHasOutgoingCheckBox.Name = "ScenarioChainNodeHasOutgoingCheckBox"; + this.ScenarioChainNodeHasOutgoingCheckBox.Size = new System.Drawing.Size(124, 17); + this.ScenarioChainNodeHasOutgoingCheckBox.TabIndex = 15; + this.ScenarioChainNodeHasOutgoingCheckBox.Text = "Has Outgoing Edges"; + this.ScenarioChainNodeHasOutgoingCheckBox.UseVisualStyleBackColor = true; + this.ScenarioChainNodeHasOutgoingCheckBox.CheckedChanged += new System.EventHandler(this.ScenarioChainNodeHasOutgoingCheckBox_CheckedChanged); // - // ScenarioChainNodeFirstCheckBox + // ScenarioChainNodeHasIncomingCheckBox // - this.ScenarioChainNodeFirstCheckBox.AutoSize = true; - this.ScenarioChainNodeFirstCheckBox.Location = new System.Drawing.Point(73, 82); - this.ScenarioChainNodeFirstCheckBox.Name = "ScenarioChainNodeFirstCheckBox"; - this.ScenarioChainNodeFirstCheckBox.Size = new System.Drawing.Size(85, 17); - this.ScenarioChainNodeFirstCheckBox.TabIndex = 14; - this.ScenarioChainNodeFirstCheckBox.Text = "First in chain"; - this.ScenarioChainNodeFirstCheckBox.UseVisualStyleBackColor = true; - this.ScenarioChainNodeFirstCheckBox.CheckedChanged += new System.EventHandler(this.ScenarioChainNodeFirstCheckBox_CheckedChanged); + this.ScenarioChainNodeHasIncomingCheckBox.AutoSize = true; + this.ScenarioChainNodeHasIncomingCheckBox.Location = new System.Drawing.Point(73, 82); + this.ScenarioChainNodeHasIncomingCheckBox.Name = "ScenarioChainNodeHasIncomingCheckBox"; + this.ScenarioChainNodeHasIncomingCheckBox.Size = new System.Drawing.Size(124, 17); + this.ScenarioChainNodeHasIncomingCheckBox.TabIndex = 14; + this.ScenarioChainNodeHasIncomingCheckBox.Text = "Has Incoming Edges"; + this.ScenarioChainNodeHasIncomingCheckBox.UseVisualStyleBackColor = true; + this.ScenarioChainNodeHasIncomingCheckBox.CheckedChanged += new System.EventHandler(this.ScenarioChainNodeHasIncomingCheckBox_CheckedChanged); // // label123 // @@ -1837,34 +1837,34 @@ this.label123.TabIndex = 11; this.label123.Text = "Type:"; // - // ScenarioChainNodeUnk1HashLabel + // ScenarioChainNodePropHashLabel // - this.ScenarioChainNodeUnk1HashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); - this.ScenarioChainNodeUnk1HashLabel.AutoSize = true; - this.ScenarioChainNodeUnk1HashLabel.Location = new System.Drawing.Point(382, 32); - this.ScenarioChainNodeUnk1HashLabel.Name = "ScenarioChainNodeUnk1HashLabel"; - this.ScenarioChainNodeUnk1HashLabel.Size = new System.Drawing.Size(44, 13); - this.ScenarioChainNodeUnk1HashLabel.TabIndex = 10; - this.ScenarioChainNodeUnk1HashLabel.Text = "Hash: 0"; + this.ScenarioChainNodePropHashLabel.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right))); + this.ScenarioChainNodePropHashLabel.AutoSize = true; + this.ScenarioChainNodePropHashLabel.Location = new System.Drawing.Point(382, 32); + this.ScenarioChainNodePropHashLabel.Name = "ScenarioChainNodePropHashLabel"; + this.ScenarioChainNodePropHashLabel.Size = new System.Drawing.Size(44, 13); + this.ScenarioChainNodePropHashLabel.TabIndex = 10; + this.ScenarioChainNodePropHashLabel.Text = "Hash: 0"; // - // ScenarioChainNodeUnk1TextBox + // ScenarioChainNodePropTextBox // - this.ScenarioChainNodeUnk1TextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) + this.ScenarioChainNodePropTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); - this.ScenarioChainNodeUnk1TextBox.Location = new System.Drawing.Point(73, 29); - this.ScenarioChainNodeUnk1TextBox.Name = "ScenarioChainNodeUnk1TextBox"; - this.ScenarioChainNodeUnk1TextBox.Size = new System.Drawing.Size(303, 20); - this.ScenarioChainNodeUnk1TextBox.TabIndex = 9; - this.ScenarioChainNodeUnk1TextBox.TextChanged += new System.EventHandler(this.ScenarioChainNodeUnk1TextBox_TextChanged); + this.ScenarioChainNodePropTextBox.Location = new System.Drawing.Point(73, 29); + this.ScenarioChainNodePropTextBox.Name = "ScenarioChainNodePropTextBox"; + this.ScenarioChainNodePropTextBox.Size = new System.Drawing.Size(303, 20); + this.ScenarioChainNodePropTextBox.TabIndex = 9; + this.ScenarioChainNodePropTextBox.TextChanged += new System.EventHandler(this.ScenarioChainNodePropTextBox_TextChanged); // // label119 // this.label119.AutoSize = true; - this.label119.Location = new System.Drawing.Point(28, 32); + this.label119.Location = new System.Drawing.Point(35, 32); this.label119.Name = "label119"; - this.label119.Size = new System.Drawing.Size(39, 13); + this.label119.Size = new System.Drawing.Size(32, 13); this.label119.TabIndex = 8; - this.label119.Text = "Unk 1:"; + this.label119.Text = "Prop:"; // // ScenarioChainNodeGoToButton // @@ -2746,11 +2746,11 @@ private System.Windows.Forms.ComboBox ScenarioChainNodeTypeComboBox; private System.Windows.Forms.TextBox ScenarioChainNodeIndexTextBox; private System.Windows.Forms.Label label115; - private System.Windows.Forms.CheckBox ScenarioChainNodeLastCheckBox; - private System.Windows.Forms.CheckBox ScenarioChainNodeFirstCheckBox; + private System.Windows.Forms.CheckBox ScenarioChainNodeHasOutgoingCheckBox; + private System.Windows.Forms.CheckBox ScenarioChainNodeHasIncomingCheckBox; private System.Windows.Forms.Label label123; - private System.Windows.Forms.Label ScenarioChainNodeUnk1HashLabel; - private System.Windows.Forms.TextBox ScenarioChainNodeUnk1TextBox; + private System.Windows.Forms.Label ScenarioChainNodePropHashLabel; + private System.Windows.Forms.TextBox ScenarioChainNodePropTextBox; private System.Windows.Forms.Label label119; private System.Windows.Forms.Button ScenarioChainNodeGoToButton; private System.Windows.Forms.TextBox ScenarioChainNodePositionTextBox; diff --git a/CodeWalker/Project/Panels/EditScenarioNodePanel.cs b/CodeWalker/Project/Panels/EditScenarioNodePanel.cs index dbb63a4..3b47cbd 100644 --- a/CodeWalker/Project/Panels/EditScenarioNodePanel.cs +++ b/CodeWalker/Project/Panels/EditScenarioNodePanel.cs @@ -469,11 +469,11 @@ namespace CodeWalker.Project.Panels ScenarioChainNodeAddToProjectButton.Enabled = false; ScenarioChainNodeDeleteButton.Enabled = false; ScenarioChainNodePositionTextBox.Text = ""; - ScenarioChainNodeUnk1TextBox.Text = ""; - ScenarioChainNodeUnk1HashLabel.Text = "Hash: 0"; + ScenarioChainNodePropTextBox.Text = ""; + ScenarioChainNodePropHashLabel.Text = "Hash: 0"; ScenarioChainNodeTypeComboBox.SelectedItem = null; - ScenarioChainNodeFirstCheckBox.Checked = false; - ScenarioChainNodeLastCheckBox.Checked = false; + ScenarioChainNodeHasIncomingCheckBox.Checked = false; + ScenarioChainNodeHasOutgoingCheckBox.Checked = false; ScenarioChainNodeIndexTextBox.Text = ""; } else @@ -483,11 +483,11 @@ namespace CodeWalker.Project.Panels ScenarioChainNodeDeleteButton.Enabled = ProjectForm.ScenarioExistsInProject(CurrentScenario); ScenarioChainNodeAddToProjectButton.Enabled = !ScenarioChainNodeDeleteButton.Enabled; ScenarioChainNodePositionTextBox.Text = FloatUtil.GetVector3String(n.Position); - ScenarioChainNodeUnk1TextBox.Text = n.Unk1.ToString(); - ScenarioChainNodeUnk1HashLabel.Text = "Hash: " + n.Unk1.Hash.ToString(); + ScenarioChainNodePropTextBox.Text = n.PropHash.ToString(); + ScenarioChainNodePropHashLabel.Text = "Hash: " + n.PropHash.Hash.ToString(); ScenarioChainNodeTypeComboBox.SelectedItem = ((object)n.Type) ?? ""; - ScenarioChainNodeFirstCheckBox.Checked = !n.NotFirst; - ScenarioChainNodeLastCheckBox.Checked = !n.NotLast; + ScenarioChainNodeHasIncomingCheckBox.Checked = n.HasIncomingEdges; + ScenarioChainNodeHasOutgoingCheckBox.Checked = n.HasOutgoingEdges; ScenarioChainNodeIndexTextBox.Text = n.NodeIndex.ToString(); } } @@ -1683,24 +1683,24 @@ namespace CodeWalker.Project.Panels } } - private void ScenarioChainNodeUnk1TextBox_TextChanged(object sender, EventArgs e) + private void ScenarioChainNodePropTextBox_TextChanged(object sender, EventArgs e) { if (populatingui) return; if (CurrentScenarioNode == null) return; if (CurrentScenarioNode.ChainingNode == null) return; uint hash = 0; - string name = ScenarioChainNodeUnk1TextBox.Text; + string name = ScenarioChainNodePropTextBox.Text; if (!uint.TryParse(name, out hash))//don't re-hash hashes { hash = JenkHash.GenHash(name); JenkIndex.Ensure(name); } - ScenarioChainNodeUnk1HashLabel.Text = "Hash: " + hash.ToString(); + ScenarioChainNodePropHashLabel.Text = "Hash: " + hash.ToString(); lock (ProjectForm.ProjectSyncRoot) { - if (CurrentScenarioNode.ChainingNode.Unk1 != hash) + if (CurrentScenarioNode.ChainingNode.PropHash != hash) { - CurrentScenarioNode.ChainingNode.Unk1 = hash; + CurrentScenarioNode.ChainingNode.PropHash = hash; ProjectForm.SetScenarioHasChanged(true); } } @@ -1724,18 +1724,18 @@ namespace CodeWalker.Project.Panels ProjectForm.ProjectExplorer?.UpdateScenarioNodeTreeNode(CurrentScenarioNode); } - private void ScenarioChainNodeFirstCheckBox_CheckedChanged(object sender, EventArgs e) + private void ScenarioChainNodeHasIncomingCheckBox_CheckedChanged(object sender, EventArgs e) { if (populatingui) return; if (CurrentScenarioNode == null) return; if (CurrentScenarioNode.ChainingNode == null) return; - bool v = !ScenarioChainNodeFirstCheckBox.Checked; + bool v = ScenarioChainNodeHasIncomingCheckBox.Checked; bool change = false; lock (ProjectForm.ProjectSyncRoot) { - if (CurrentScenarioNode.ChainingNode.NotFirst != v) + if (CurrentScenarioNode.ChainingNode.HasIncomingEdges != v) { - CurrentScenarioNode.ChainingNode.NotFirst = v; + CurrentScenarioNode.ChainingNode.HasIncomingEdges = v; ProjectForm.SetScenarioHasChanged(true); change = true; } @@ -1749,18 +1749,18 @@ namespace CodeWalker.Project.Panels } } - private void ScenarioChainNodeLastCheckBox_CheckedChanged(object sender, EventArgs e) + private void ScenarioChainNodeHasOutgoingCheckBox_CheckedChanged(object sender, EventArgs e) { if (populatingui) return; if (CurrentScenarioNode == null) return; if (CurrentScenarioNode.ChainingNode == null) return; - bool v = !ScenarioChainNodeLastCheckBox.Checked; + bool v = ScenarioChainNodeHasOutgoingCheckBox.Checked; bool change = false; lock (ProjectForm.ProjectSyncRoot) { - if (CurrentScenarioNode.ChainingNode.NotLast != v) + if (CurrentScenarioNode.ChainingNode.HasOutgoingEdges != v) { - CurrentScenarioNode.ChainingNode.NotLast = v; + CurrentScenarioNode.ChainingNode.HasOutgoingEdges = v; ProjectForm.SetScenarioHasChanged(true); change = true; } diff --git a/CodeWalker/Project/ProjectForm.cs b/CodeWalker/Project/ProjectForm.cs index 2644056..d2c108d 100644 --- a/CodeWalker/Project/ProjectForm.cs +++ b/CodeWalker/Project/ProjectForm.cs @@ -5563,8 +5563,8 @@ namespace CodeWalker.Project n2.ChainingNode.CopyFrom(copyn); } - n1.ChainingNode.NotLast = true; - n2.ChainingNode.NotFirst = true; + n1.ChainingNode.HasOutgoingEdges = true; + n2.ChainingNode.HasIncomingEdges = true; n1.ChainingNode.ScenarioNode = n1; n2.ChainingNode.ScenarioNode = n2; @@ -6167,8 +6167,8 @@ namespace CodeWalker.Project thisnode.ChainingNode.Chain = chain; thisnode.ChainingNode.Type = stype; thisnode.ChainingNode.TypeHash = stype.NameHash; - thisnode.ChainingNode.NotLast = (i < (lines.Length - 1)); - thisnode.ChainingNode.NotFirst = (lastnode != null); + thisnode.ChainingNode.HasOutgoingEdges = (i < (lines.Length - 1)); + thisnode.ChainingNode.HasIncomingEdges = (lastnode != null); thisnode.SetPosition(pos); thisnode.Orientation = thisnode.MyPoint.Orientation;