Show skeletons in model viewer, Clips progress update

This commit is contained in:
dexyfex 2017-09-24 20:14:41 +10:00
parent 5fbe3891cd
commit dc9084fc30
6 changed files with 518 additions and 779 deletions

View File

@ -46,6 +46,11 @@
this.ToolsDetailsTabPage = new System.Windows.Forms.TabPage();
this.DetailsPropertyGrid = new CodeWalker.WinForms.ReadOnlyPropertyGrid();
this.ToolsOptionsTabPage = new System.Windows.Forms.TabPage();
this.TimeOfDayLabel = new System.Windows.Forms.Label();
this.label19 = new System.Windows.Forms.Label();
this.TimeOfDayTrackBar = new System.Windows.Forms.TrackBar();
this.ControlLightDirCheckBox = new System.Windows.Forms.CheckBox();
this.ShowBoundsCheckBox = new System.Windows.Forms.CheckBox();
this.GridCheckBox = new System.Windows.Forms.CheckBox();
this.GridCountComboBox = new System.Windows.Forms.ComboBox();
this.label2 = new System.Windows.Forms.Label();
@ -67,11 +72,7 @@
this.ToolsPanelHideButton = new System.Windows.Forms.Button();
this.ToolsDragPanel = new System.Windows.Forms.Panel();
this.ToolsPanelShowButton = new System.Windows.Forms.Button();
this.ShowBoundsCheckBox = new System.Windows.Forms.CheckBox();
this.ControlLightDirCheckBox = new System.Windows.Forms.CheckBox();
this.TimeOfDayLabel = new System.Windows.Forms.Label();
this.label19 = new System.Windows.Forms.Label();
this.TimeOfDayTrackBar = new System.Windows.Forms.TrackBar();
this.SkeletonsCheckBox = new System.Windows.Forms.CheckBox();
this.StatusStrip.SuspendLayout();
this.ConsolePanel.SuspendLayout();
this.ToolsPanel.SuspendLayout();
@ -252,6 +253,7 @@
//
// ToolsOptionsTabPage
//
this.ToolsOptionsTabPage.Controls.Add(this.SkeletonsCheckBox);
this.ToolsOptionsTabPage.Controls.Add(this.TimeOfDayLabel);
this.ToolsOptionsTabPage.Controls.Add(this.label19);
this.ToolsOptionsTabPage.Controls.Add(this.TimeOfDayTrackBar);
@ -282,6 +284,61 @@
this.ToolsOptionsTabPage.Text = "Options";
this.ToolsOptionsTabPage.UseVisualStyleBackColor = true;
//
// TimeOfDayLabel
//
this.TimeOfDayLabel.AutoSize = true;
this.TimeOfDayLabel.Location = new System.Drawing.Point(78, 109);
this.TimeOfDayLabel.Name = "TimeOfDayLabel";
this.TimeOfDayLabel.Size = new System.Drawing.Size(34, 13);
this.TimeOfDayLabel.TabIndex = 5;
this.TimeOfDayLabel.Text = "12:00";
//
// label19
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(7, 109);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(65, 13);
this.label19.TabIndex = 4;
this.label19.Text = "Time of day:";
//
// TimeOfDayTrackBar
//
this.TimeOfDayTrackBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TimeOfDayTrackBar.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.TimeOfDayTrackBar.LargeChange = 60;
this.TimeOfDayTrackBar.Location = new System.Drawing.Point(9, 125);
this.TimeOfDayTrackBar.Maximum = 1440;
this.TimeOfDayTrackBar.Name = "TimeOfDayTrackBar";
this.TimeOfDayTrackBar.Size = new System.Drawing.Size(188, 45);
this.TimeOfDayTrackBar.TabIndex = 6;
this.TimeOfDayTrackBar.TickFrequency = 60;
this.TimeOfDayTrackBar.Value = 720;
this.TimeOfDayTrackBar.Scroll += new System.EventHandler(this.TimeOfDayTrackBar_Scroll);
//
// ControlLightDirCheckBox
//
this.ControlLightDirCheckBox.AutoSize = true;
this.ControlLightDirCheckBox.Location = new System.Drawing.Point(19, 83);
this.ControlLightDirCheckBox.Name = "ControlLightDirCheckBox";
this.ControlLightDirCheckBox.Size = new System.Drawing.Size(124, 17);
this.ControlLightDirCheckBox.TabIndex = 3;
this.ControlLightDirCheckBox.Text = "Control light direction";
this.ControlLightDirCheckBox.UseVisualStyleBackColor = true;
this.ControlLightDirCheckBox.CheckedChanged += new System.EventHandler(this.ControlLightDirCheckBox_CheckedChanged);
//
// ShowBoundsCheckBox
//
this.ShowBoundsCheckBox.AutoSize = true;
this.ShowBoundsCheckBox.Location = new System.Drawing.Point(19, 176);
this.ShowBoundsCheckBox.Name = "ShowBoundsCheckBox";
this.ShowBoundsCheckBox.Size = new System.Drawing.Size(124, 17);
this.ShowBoundsCheckBox.TabIndex = 7;
this.ShowBoundsCheckBox.Text = "Show Model Bounds";
this.ShowBoundsCheckBox.UseVisualStyleBackColor = true;
this.ShowBoundsCheckBox.CheckedChanged += new System.EventHandler(this.ShowBoundsCheckBox_CheckedChanged);
//
// GridCheckBox
//
this.GridCheckBox.AutoSize = true;
@ -351,7 +408,7 @@
this.StatusBarCheckBox.Location = new System.Drawing.Point(19, 480);
this.StatusBarCheckBox.Name = "StatusBarCheckBox";
this.StatusBarCheckBox.Size = new System.Drawing.Size(74, 17);
this.StatusBarCheckBox.TabIndex = 21;
this.StatusBarCheckBox.TabIndex = 22;
this.StatusBarCheckBox.Text = "Status bar";
this.StatusBarCheckBox.UseVisualStyleBackColor = true;
this.StatusBarCheckBox.CheckedChanged += new System.EventHandler(this.StatusBarCheckBox_CheckedChanged);
@ -362,7 +419,7 @@
this.ErrorConsoleCheckBox.Location = new System.Drawing.Point(105, 480);
this.ErrorConsoleCheckBox.Name = "ErrorConsoleCheckBox";
this.ErrorConsoleCheckBox.Size = new System.Drawing.Size(88, 17);
this.ErrorConsoleCheckBox.TabIndex = 22;
this.ErrorConsoleCheckBox.TabIndex = 23;
this.ErrorConsoleCheckBox.Text = "Error console";
this.ErrorConsoleCheckBox.UseVisualStyleBackColor = true;
this.ErrorConsoleCheckBox.CheckedChanged += new System.EventHandler(this.ErrorConsoleCheckBox_CheckedChanged);
@ -534,60 +591,18 @@
this.ToolsPanelShowButton.UseVisualStyleBackColor = true;
this.ToolsPanelShowButton.Click += new System.EventHandler(this.ToolsPanelShowButton_Click);
//
// ShowBoundsCheckBox
// SkeletonsCheckBox
//
this.ShowBoundsCheckBox.AutoSize = true;
this.ShowBoundsCheckBox.Location = new System.Drawing.Point(19, 176);
this.ShowBoundsCheckBox.Name = "ShowBoundsCheckBox";
this.ShowBoundsCheckBox.Size = new System.Drawing.Size(124, 17);
this.ShowBoundsCheckBox.TabIndex = 7;
this.ShowBoundsCheckBox.Text = "Show Model Bounds";
this.ShowBoundsCheckBox.UseVisualStyleBackColor = true;
this.ShowBoundsCheckBox.CheckedChanged += new System.EventHandler(this.ShowBoundsCheckBox_CheckedChanged);
//
// ControlLightDirCheckBox
//
this.ControlLightDirCheckBox.AutoSize = true;
this.ControlLightDirCheckBox.Location = new System.Drawing.Point(19, 83);
this.ControlLightDirCheckBox.Name = "ControlLightDirCheckBox";
this.ControlLightDirCheckBox.Size = new System.Drawing.Size(124, 17);
this.ControlLightDirCheckBox.TabIndex = 3;
this.ControlLightDirCheckBox.Text = "Control light direction";
this.ControlLightDirCheckBox.UseVisualStyleBackColor = true;
this.ControlLightDirCheckBox.CheckedChanged += new System.EventHandler(this.ControlLightDirCheckBox_CheckedChanged);
//
// TimeOfDayLabel
//
this.TimeOfDayLabel.AutoSize = true;
this.TimeOfDayLabel.Location = new System.Drawing.Point(78, 109);
this.TimeOfDayLabel.Name = "TimeOfDayLabel";
this.TimeOfDayLabel.Size = new System.Drawing.Size(34, 13);
this.TimeOfDayLabel.TabIndex = 5;
this.TimeOfDayLabel.Text = "12:00";
//
// label19
//
this.label19.AutoSize = true;
this.label19.Location = new System.Drawing.Point(7, 109);
this.label19.Name = "label19";
this.label19.Size = new System.Drawing.Size(65, 13);
this.label19.TabIndex = 4;
this.label19.Text = "Time of day:";
//
// TimeOfDayTrackBar
//
this.TimeOfDayTrackBar.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.TimeOfDayTrackBar.BackColor = System.Drawing.SystemColors.ControlLightLight;
this.TimeOfDayTrackBar.LargeChange = 60;
this.TimeOfDayTrackBar.Location = new System.Drawing.Point(9, 125);
this.TimeOfDayTrackBar.Maximum = 1440;
this.TimeOfDayTrackBar.Name = "TimeOfDayTrackBar";
this.TimeOfDayTrackBar.Size = new System.Drawing.Size(188, 45);
this.TimeOfDayTrackBar.TabIndex = 6;
this.TimeOfDayTrackBar.TickFrequency = 60;
this.TimeOfDayTrackBar.Value = 720;
this.TimeOfDayTrackBar.Scroll += new System.EventHandler(this.TimeOfDayTrackBar_Scroll);
this.SkeletonsCheckBox.AutoSize = true;
this.SkeletonsCheckBox.Checked = true;
this.SkeletonsCheckBox.CheckState = System.Windows.Forms.CheckState.Checked;
this.SkeletonsCheckBox.Location = new System.Drawing.Point(19, 444);
this.SkeletonsCheckBox.Name = "SkeletonsCheckBox";
this.SkeletonsCheckBox.Size = new System.Drawing.Size(103, 17);
this.SkeletonsCheckBox.TabIndex = 21;
this.SkeletonsCheckBox.Text = "Show Skeletons";
this.SkeletonsCheckBox.UseVisualStyleBackColor = true;
this.SkeletonsCheckBox.CheckedChanged += new System.EventHandler(this.SkeletonsCheckBox_CheckedChanged);
//
// ModelForm
//
@ -670,5 +685,6 @@
private System.Windows.Forms.Label TimeOfDayLabel;
private System.Windows.Forms.Label label19;
private System.Windows.Forms.TrackBar TimeOfDayTrackBar;
private System.Windows.Forms.CheckBox SkeletonsCheckBox;
}
}

View File

@ -122,6 +122,8 @@ namespace CodeWalker.Forms
bool renderskeletons = true;
List<Renderable> renderskeletonlist = new List<Renderable>();
List<VertexTypePC> skeletonLineVerts = new List<VertexTypePC>();
bool CtrlPressed = false;
bool ShiftPressed = false;
@ -1416,7 +1418,14 @@ namespace CodeWalker.Forms
private void RenderSkeletons(DeviceContext context)
{
skeletonLineVerts.Clear();
const uint cgrn = 4278255360;// (uint)new Color4(0.0f, 1.0f, 0.0f, 1.0f).ToRgba();
const uint cblu = 4294901760;// (uint)new Color4(0.0f, 0.0f, 1.0f, 1.0f).ToRgba();
VertexTypePC v1 = new VertexTypePC();
VertexTypePC v2 = new VertexTypePC();
v1.Colour = cgrn;
v2.Colour = cblu;
foreach (var renderable in renderskeletonlist)
{
@ -1435,9 +1444,9 @@ namespace CodeWalker.Forms
var pind = pinds[i];
var bone = bones[i];
var pbone = bone.Parent;
//if (pbone == null) continue;
if (pbone == null) continue; //nothing to draw for the root bone
if (xforms != null)
if (xforms != null)//how to use xforms? bind pose?
{
var xform = (i < xforms.Length) ? xforms[i] : Matrix.Identity;
var pxform = (pind < xforms.Length) ? xforms[pind] : Matrix.Identity;
@ -1447,6 +1456,21 @@ namespace CodeWalker.Forms
}
//draw line from bone's position to parent position...
Vector3 lbeg = Vector3.Zero;
Vector3 lend = bone.Translation;// bone.Rotation.Multiply();
while (pbone != null)
{
lbeg = pbone.Rotation.Multiply(lbeg) + pbone.Translation;
lend = pbone.Rotation.Multiply(lend) + pbone.Translation;
pbone = pbone.Parent;
}
v1.Position = lbeg;
v2.Position = lend;
skeletonLineVerts.Add(v1);
skeletonLineVerts.Add(v2);
}
@ -1455,6 +1479,16 @@ namespace CodeWalker.Forms
if (skeletonLineVerts.Count > 0)
{
shaders.SetDepthStencilMode(context, DepthStencilMode.DisableAll);
shaders.Paths.RenderLines(context, skeletonLineVerts, camera, shaders.GlobalLights);
}
}
@ -2648,6 +2682,11 @@ namespace CodeWalker.Forms
}
}
private void SkeletonsCheckBox_CheckedChanged(object sender, EventArgs e)
{
renderskeletons = SkeletonsCheckBox.Checked;
}
private void ErrorConsoleCheckBox_CheckedChanged(object sender, EventArgs e)
{
ConsolePanel.Visible = ErrorConsoleCheckBox.Checked;

File diff suppressed because it is too large Load Diff

View File

@ -1,4 +1,5 @@
using System;
using SharpDX;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
@ -708,19 +709,22 @@ namespace CodeWalker.GameFiles
}
// structure data
public float RotationX { get; set; }
public float RotationY { get; set; }
public float RotationZ { get; set; }
public float RotationW { get; set; }
public float TranslationX { get; set; }
public float TranslationY { get; set; }
public float TranslationZ { get; set; }
//public float RotationX { get; set; }
//public float RotationY { get; set; }
//public float RotationZ { get; set; }
//public float RotationW { get; set; }
public Quaternion Rotation { get; set; }
public Vector3 Translation { get; set; }
//public float TranslationX { get; set; }
//public float TranslationY { get; set; }
//public float TranslationZ { get; set; }
public uint Unknown_1Ch { get; set; } // 0x00000000
public float Unknown_20h { get; set; } // 1.0
public float Unknown_24h { get; set; } // 1.0
public float Unknown_28h { get; set; } // 1.0
public float Unknown_2Ch { get; set; } // 1.0
public uint Unknown_30h { get; set; }
public ushort Unknown_30h { get; set; } //limb end index? IK chain?
public short ParentIndex { get; set; }
public uint Unknown_34h { get; set; } // 0x00000000
public ulong NamePointer { get; set; }
public ushort Unknown_40h { get; set; }
@ -742,19 +746,22 @@ namespace CodeWalker.GameFiles
public override void Read(ResourceDataReader reader, params object[] parameters)
{
// read structure data
this.RotationX = reader.ReadSingle();
this.RotationY = reader.ReadSingle();
this.RotationZ = reader.ReadSingle();
this.RotationW = reader.ReadSingle();
this.TranslationX = reader.ReadSingle();
this.TranslationY = reader.ReadSingle();
this.TranslationZ = reader.ReadSingle();
//this.RotationX = reader.ReadSingle();
//this.RotationY = reader.ReadSingle();
//this.RotationZ = reader.ReadSingle();
//this.RotationW = reader.ReadSingle();
this.Rotation = new Quaternion(reader.ReadVector4());
this.Translation = reader.ReadVector3();
//this.TranslationX = reader.ReadSingle();
//this.TranslationY = reader.ReadSingle();
//this.TranslationZ = reader.ReadSingle();
this.Unknown_1Ch = reader.ReadUInt32();
this.Unknown_20h = reader.ReadSingle();
this.Unknown_24h = reader.ReadSingle();
this.Unknown_28h = reader.ReadSingle();
this.Unknown_2Ch = reader.ReadSingle();
this.Unknown_30h = reader.ReadUInt32();
this.Unknown_30h = reader.ReadUInt16();
this.ParentIndex = reader.ReadInt16();
this.Unknown_34h = reader.ReadUInt32();
this.NamePointer = reader.ReadUInt64();
this.Unknown_40h = reader.ReadUInt16();
@ -779,19 +786,22 @@ namespace CodeWalker.GameFiles
//this.NamePointer = (ulong)(this.Name != null ? this.Name.Position : 0); //TODO: fix
// write structure data
writer.Write(this.RotationX);
writer.Write(this.RotationY);
writer.Write(this.RotationZ);
writer.Write(this.RotationW);
writer.Write(this.TranslationX);
writer.Write(this.TranslationY);
writer.Write(this.TranslationZ);
//writer.Write(this.RotationX);
//writer.Write(this.RotationY);
//writer.Write(this.RotationZ);
//writer.Write(this.RotationW);
writer.Write(this.Rotation.ToVector4());
writer.Write(this.Translation);
//writer.Write(this.TranslationX);
//writer.Write(this.TranslationY);
//writer.Write(this.TranslationZ);
writer.Write(this.Unknown_1Ch);
writer.Write(this.Unknown_20h);
writer.Write(this.Unknown_24h);
writer.Write(this.Unknown_28h);
writer.Write(this.Unknown_2Ch);
writer.Write(this.Unknown_30h);
writer.Write(this.ParentIndex);
writer.Write(this.Unknown_34h);
writer.Write(this.NamePointer);
writer.Write(this.Unknown_40h);

319
ProjectForm.Designer.cs generated
View File

@ -100,25 +100,20 @@
this.EntityPanel = new System.Windows.Forms.Panel();
this.EntityTabControl = new System.Windows.Forms.TabControl();
this.EntityGeneralTabPage = new System.Windows.Forms.TabPage();
this.EntityFlagsCheckedListBox = new System.Windows.Forms.CheckedListBox();
this.label13 = new System.Windows.Forms.Label();
this.label28 = new System.Windows.Forms.Label();
this.EntityDeleteButton = new System.Windows.Forms.Button();
this.EntityTintValueTextBox = new System.Windows.Forms.TextBox();
this.EntityAddToProjectButton = new System.Windows.Forms.Button();
this.label27 = new System.Windows.Forms.Label();
this.label16 = new System.Windows.Forms.Label();
this.EntityArtificialAOTextBox = new System.Windows.Forms.TextBox();
this.EntityPositionTextBox = new System.Windows.Forms.TextBox();
this.label26 = new System.Windows.Forms.Label();
this.EntityNormalizeRotationButton = new System.Windows.Forms.Button();
this.EntityAOMultiplierTextBox = new System.Windows.Forms.TextBox();
this.EntityGuidTextBox = new System.Windows.Forms.TextBox();
this.EntityPriorityLevelComboBox = new System.Windows.Forms.ComboBox();
this.label24 = new System.Windows.Forms.Label();
this.EntityGoToButton = new System.Windows.Forms.Button();
this.label17 = new System.Windows.Forms.Label();
this.label15 = new System.Windows.Forms.Label();
this.EntityRotationTextBox = new System.Windows.Forms.TextBox();
this.EntityFlagsTextBox = new System.Windows.Forms.TextBox();
this.label18 = new System.Windows.Forms.Label();
this.EntityLodLevelComboBox = new System.Windows.Forms.ComboBox();
@ -133,6 +128,12 @@
this.EntityScaleZTextBox = new System.Windows.Forms.TextBox();
this.EntityLodDistTextBox = new System.Windows.Forms.TextBox();
this.EntityArchetypeTextBox = new System.Windows.Forms.TextBox();
this.label16 = new System.Windows.Forms.Label();
this.EntityPositionTextBox = new System.Windows.Forms.TextBox();
this.EntityNormalizeRotationButton = new System.Windows.Forms.Button();
this.EntityGoToButton = new System.Windows.Forms.Button();
this.label17 = new System.Windows.Forms.Label();
this.EntityRotationTextBox = new System.Windows.Forms.TextBox();
this.EntityLodTabPage = new System.Windows.Forms.TabPage();
this.label20 = new System.Windows.Forms.Label();
this.EntityParentIndexTextBox = new System.Windows.Forms.TextBox();
@ -149,6 +150,7 @@
this.EntityPivotRotationTextBox = new System.Windows.Forms.TextBox();
this.YmapCarGenTabPage = new System.Windows.Forms.TabPage();
this.CarGenPanel = new System.Windows.Forms.Panel();
this.CarFlagsCheckedListBox = new System.Windows.Forms.CheckedListBox();
this.CarDeleteButton = new System.Windows.Forms.Button();
this.CarAddToProjectButton = new System.Windows.Forms.Button();
this.label44 = new System.Windows.Forms.Label();
@ -666,8 +668,6 @@
this.OptionsHideGTAVMapMenu = new System.Windows.Forms.ToolStripMenuItem();
this.SaveFileDialog = new System.Windows.Forms.SaveFileDialog();
this.OpenFileDialog = new System.Windows.Forms.OpenFileDialog();
this.CarFlagsCheckedListBox = new System.Windows.Forms.CheckedListBox();
this.EntityFlagsCheckedListBox = new System.Windows.Forms.CheckedListBox();
((System.ComponentModel.ISupportInitialize)(this.splitContainer1)).BeginInit();
this.splitContainer1.Panel1.SuspendLayout();
this.splitContainer1.Panel2.SuspendLayout();
@ -1025,7 +1025,6 @@
this.ProjectManifestTextBox.CommentPrefix = null;
this.ProjectManifestTextBox.Cursor = System.Windows.Forms.Cursors.IBeam;
this.ProjectManifestTextBox.DisabledColor = System.Drawing.Color.FromArgb(((int)(((byte)(100)))), ((int)(((byte)(180)))), ((int)(((byte)(180)))), ((int)(((byte)(180)))));
this.ProjectManifestTextBox.Font = new System.Drawing.Font("Courier New", 9.75F);
this.ProjectManifestTextBox.IsReplaceMode = false;
this.ProjectManifestTextBox.Language = FastColoredTextBoxNS.Language.XML;
this.ProjectManifestTextBox.LeftBracket = '<';
@ -1676,6 +1675,51 @@
this.EntityGeneralTabPage.Text = "General";
this.EntityGeneralTabPage.UseVisualStyleBackColor = true;
//
// EntityFlagsCheckedListBox
//
this.EntityFlagsCheckedListBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.EntityFlagsCheckedListBox.CheckOnClick = true;
this.EntityFlagsCheckedListBox.FormattingEnabled = true;
this.EntityFlagsCheckedListBox.Items.AddRange(new object[] {
"1 - Unk01",
"2 - Unk02",
"4 - Unk03",
"8 - Unk04",
"16 - Unk05",
"32 - Unk06",
"64 - Unk07",
"128 - Unk08",
"256 - Unk09",
"512 - Unk10",
"1024 - Unk11",
"2048 - Unk12",
"4096 - Unk13",
"8192 - Unk14",
"16384 - Unk15",
"32768 - Unk16",
"65536 - Unk17",
"131072 - Unk18",
"262144 - Unk19",
"524288 - Unk20",
"1048576 - Unk21",
"2097152 - Unk22",
"4194304 - Unk23",
"8388608 - Unk24",
"16777216 - Unk25",
"33554432 - Unk26",
"67108864 - Unk27",
"134217728 - Unk28",
"268435456 - Unk29",
"536870912 - Unk30",
"1073741824 - Unk31",
"2147483648 - Unk32"});
this.EntityFlagsCheckedListBox.Location = new System.Drawing.Point(292, 113);
this.EntityFlagsCheckedListBox.Name = "EntityFlagsCheckedListBox";
this.EntityFlagsCheckedListBox.Size = new System.Drawing.Size(201, 289);
this.EntityFlagsCheckedListBox.TabIndex = 32;
this.EntityFlagsCheckedListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.EntityFlagsCheckedListBox_ItemCheck);
//
// label13
//
this.label13.AutoSize = true;
@ -1733,15 +1777,6 @@
this.label27.TabIndex = 26;
this.label27.Text = "ArtificialAO:";
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(15, 12);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(47, 13);
this.label16.TabIndex = 1;
this.label16.Text = "Position:";
//
// EntityArtificialAOTextBox
//
this.EntityArtificialAOTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
@ -1752,16 +1787,6 @@
this.EntityArtificialAOTextBox.TabIndex = 27;
this.EntityArtificialAOTextBox.TextChanged += new System.EventHandler(this.EntityArtificialAOTextBox_TextChanged);
//
// EntityPositionTextBox
//
this.EntityPositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.EntityPositionTextBox.Location = new System.Drawing.Point(93, 9);
this.EntityPositionTextBox.Name = "EntityPositionTextBox";
this.EntityPositionTextBox.Size = new System.Drawing.Size(326, 20);
this.EntityPositionTextBox.TabIndex = 2;
this.EntityPositionTextBox.TextChanged += new System.EventHandler(this.EntityPositionTextBox_TextChanged);
//
// label26
//
this.label26.AutoSize = true;
@ -1771,17 +1796,6 @@
this.label26.TabIndex = 24;
this.label26.Text = "AOMultiplier:";
//
// EntityNormalizeRotationButton
//
this.EntityNormalizeRotationButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.EntityNormalizeRotationButton.Location = new System.Drawing.Point(425, 33);
this.EntityNormalizeRotationButton.Name = "EntityNormalizeRotationButton";
this.EntityNormalizeRotationButton.Size = new System.Drawing.Size(68, 23);
this.EntityNormalizeRotationButton.TabIndex = 6;
this.EntityNormalizeRotationButton.Text = "Normalize";
this.EntityNormalizeRotationButton.UseVisualStyleBackColor = true;
this.EntityNormalizeRotationButton.Click += new System.EventHandler(this.EntityNormalizeRotationButton_Click);
//
// EntityAOMultiplierTextBox
//
this.EntityAOMultiplierTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
@ -1823,26 +1837,6 @@
this.label24.TabIndex = 22;
this.label24.Text = "PriorityLevel:";
//
// EntityGoToButton
//
this.EntityGoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.EntityGoToButton.Location = new System.Drawing.Point(425, 7);
this.EntityGoToButton.Name = "EntityGoToButton";
this.EntityGoToButton.Size = new System.Drawing.Size(68, 23);
this.EntityGoToButton.TabIndex = 3;
this.EntityGoToButton.Text = "Go to";
this.EntityGoToButton.UseVisualStyleBackColor = true;
this.EntityGoToButton.Click += new System.EventHandler(this.EntityGoToButton_Click);
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(15, 38);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(50, 13);
this.label17.TabIndex = 4;
this.label17.Text = "Rotation:";
//
// label15
//
this.label15.AutoSize = true;
@ -1852,16 +1846,6 @@
this.label15.TabIndex = 10;
this.label15.Text = "GUID:";
//
// EntityRotationTextBox
//
this.EntityRotationTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.EntityRotationTextBox.Location = new System.Drawing.Point(93, 35);
this.EntityRotationTextBox.Name = "EntityRotationTextBox";
this.EntityRotationTextBox.Size = new System.Drawing.Size(326, 20);
this.EntityRotationTextBox.TabIndex = 5;
this.EntityRotationTextBox.TextChanged += new System.EventHandler(this.EntityRotationTextBox_TextChanged);
//
// EntityFlagsTextBox
//
this.EntityFlagsTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@ -1998,6 +1982,66 @@
this.EntityArchetypeTextBox.TabIndex = 8;
this.EntityArchetypeTextBox.TextChanged += new System.EventHandler(this.EntityArchetypeTextBox_TextChanged);
//
// label16
//
this.label16.AutoSize = true;
this.label16.Location = new System.Drawing.Point(15, 12);
this.label16.Name = "label16";
this.label16.Size = new System.Drawing.Size(47, 13);
this.label16.TabIndex = 1;
this.label16.Text = "Position:";
//
// EntityPositionTextBox
//
this.EntityPositionTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.EntityPositionTextBox.Location = new System.Drawing.Point(93, 9);
this.EntityPositionTextBox.Name = "EntityPositionTextBox";
this.EntityPositionTextBox.Size = new System.Drawing.Size(326, 20);
this.EntityPositionTextBox.TabIndex = 2;
this.EntityPositionTextBox.TextChanged += new System.EventHandler(this.EntityPositionTextBox_TextChanged);
//
// EntityNormalizeRotationButton
//
this.EntityNormalizeRotationButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.EntityNormalizeRotationButton.Location = new System.Drawing.Point(425, 33);
this.EntityNormalizeRotationButton.Name = "EntityNormalizeRotationButton";
this.EntityNormalizeRotationButton.Size = new System.Drawing.Size(68, 23);
this.EntityNormalizeRotationButton.TabIndex = 6;
this.EntityNormalizeRotationButton.Text = "Normalize";
this.EntityNormalizeRotationButton.UseVisualStyleBackColor = true;
this.EntityNormalizeRotationButton.Click += new System.EventHandler(this.EntityNormalizeRotationButton_Click);
//
// EntityGoToButton
//
this.EntityGoToButton.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.EntityGoToButton.Location = new System.Drawing.Point(425, 7);
this.EntityGoToButton.Name = "EntityGoToButton";
this.EntityGoToButton.Size = new System.Drawing.Size(68, 23);
this.EntityGoToButton.TabIndex = 3;
this.EntityGoToButton.Text = "Go to";
this.EntityGoToButton.UseVisualStyleBackColor = true;
this.EntityGoToButton.Click += new System.EventHandler(this.EntityGoToButton_Click);
//
// label17
//
this.label17.AutoSize = true;
this.label17.Location = new System.Drawing.Point(15, 38);
this.label17.Name = "label17";
this.label17.Size = new System.Drawing.Size(50, 13);
this.label17.TabIndex = 4;
this.label17.Text = "Rotation:";
//
// EntityRotationTextBox
//
this.EntityRotationTextBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.EntityRotationTextBox.Location = new System.Drawing.Point(93, 35);
this.EntityRotationTextBox.Name = "EntityRotationTextBox";
this.EntityRotationTextBox.Size = new System.Drawing.Size(326, 20);
this.EntityRotationTextBox.TabIndex = 5;
this.EntityRotationTextBox.TextChanged += new System.EventHandler(this.EntityRotationTextBox_TextChanged);
//
// EntityLodTabPage
//
this.EntityLodTabPage.Controls.Add(this.label20);
@ -2195,6 +2239,51 @@
this.CarGenPanel.Size = new System.Drawing.Size(510, 443);
this.CarGenPanel.TabIndex = 0;
//
// CarFlagsCheckedListBox
//
this.CarFlagsCheckedListBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.CarFlagsCheckedListBox.CheckOnClick = true;
this.CarFlagsCheckedListBox.FormattingEnabled = true;
this.CarFlagsCheckedListBox.Items.AddRange(new object[] {
"1 - Unk01",
"2 - Unk02",
"4 - Unk03",
"8 - Unk04",
"16 - Unk05",
"32 - Unk06",
"64 - Unk07",
"128 - Unk08",
"256 - Unk09",
"512 - Unk10",
"1024 - Unk11",
"2048 - Unk12",
"4096 - Unk13",
"8192 - Unk14",
"16384 - Unk15",
"32768 - Unk16",
"65536 - Unk17",
"131072 - Unk18",
"262144 - Unk19",
"524288 - Unk20",
"1048576 - Unk21",
"2097152 - Unk22",
"4194304 - Unk23",
"8388608 - Unk24",
"16777216 - Unk25",
"33554432 - Unk26",
"67108864 - Unk27",
"134217728 - Unk28",
"268435456 - Unk29",
"536870912 - Unk30",
"1073741824 - Unk31",
"2147483648 - Unk32"});
this.CarFlagsCheckedListBox.Location = new System.Drawing.Point(304, 113);
this.CarFlagsCheckedListBox.Name = "CarFlagsCheckedListBox";
this.CarFlagsCheckedListBox.Size = new System.Drawing.Size(201, 319);
this.CarFlagsCheckedListBox.TabIndex = 73;
this.CarFlagsCheckedListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.CarFlagsCheckedListBox_ItemCheck);
//
// CarDeleteButton
//
this.CarDeleteButton.Location = new System.Drawing.Point(168, 392);
@ -5576,6 +5665,7 @@
//
// label160
//
this.label160.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label160.AutoSize = true;
this.label160.Location = new System.Drawing.Point(332, 160);
this.label160.Name = "label160";
@ -6824,6 +6914,7 @@
//
// label159
//
this.label159.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.label159.AutoSize = true;
this.label159.Location = new System.Drawing.Point(341, 150);
this.label159.Name = "label159";
@ -7946,96 +8037,6 @@
//
this.OpenFileDialog.Filter = "CodeWalker Projects|*.cwproj";
//
// CarFlagsCheckedListBox
//
this.CarFlagsCheckedListBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.CarFlagsCheckedListBox.CheckOnClick = true;
this.CarFlagsCheckedListBox.FormattingEnabled = true;
this.CarFlagsCheckedListBox.Items.AddRange(new object[] {
"1 - Unk01",
"2 - Unk02",
"4 - Unk03",
"8 - Unk04",
"16 - Unk05",
"32 - Unk06",
"64 - Unk07",
"128 - Unk08",
"256 - Unk09",
"512 - Unk10",
"1024 - Unk11",
"2048 - Unk12",
"4096 - Unk13",
"8192 - Unk14",
"16384 - Unk15",
"32768 - Unk16",
"65536 - Unk17",
"131072 - Unk18",
"262144 - Unk19",
"524288 - Unk20",
"1048576 - Unk21",
"2097152 - Unk22",
"4194304 - Unk23",
"8388608 - Unk24",
"16777216 - Unk25",
"33554432 - Unk26",
"67108864 - Unk27",
"134217728 - Unk28",
"268435456 - Unk29",
"536870912 - Unk30",
"1073741824 - Unk31",
"2147483648 - Unk32"});
this.CarFlagsCheckedListBox.Location = new System.Drawing.Point(304, 113);
this.CarFlagsCheckedListBox.Name = "CarFlagsCheckedListBox";
this.CarFlagsCheckedListBox.Size = new System.Drawing.Size(201, 319);
this.CarFlagsCheckedListBox.TabIndex = 73;
this.CarFlagsCheckedListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.CarFlagsCheckedListBox_ItemCheck);
//
// EntityFlagsCheckedListBox
//
this.EntityFlagsCheckedListBox.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Right)));
this.EntityFlagsCheckedListBox.CheckOnClick = true;
this.EntityFlagsCheckedListBox.FormattingEnabled = true;
this.EntityFlagsCheckedListBox.Items.AddRange(new object[] {
"1 - Unk01",
"2 - Unk02",
"4 - Unk03",
"8 - Unk04",
"16 - Unk05",
"32 - Unk06",
"64 - Unk07",
"128 - Unk08",
"256 - Unk09",
"512 - Unk10",
"1024 - Unk11",
"2048 - Unk12",
"4096 - Unk13",
"8192 - Unk14",
"16384 - Unk15",
"32768 - Unk16",
"65536 - Unk17",
"131072 - Unk18",
"262144 - Unk19",
"524288 - Unk20",
"1048576 - Unk21",
"2097152 - Unk22",
"4194304 - Unk23",
"8388608 - Unk24",
"16777216 - Unk25",
"33554432 - Unk26",
"67108864 - Unk27",
"134217728 - Unk28",
"268435456 - Unk29",
"536870912 - Unk30",
"1073741824 - Unk31",
"2147483648 - Unk32"});
this.EntityFlagsCheckedListBox.Location = new System.Drawing.Point(292, 113);
this.EntityFlagsCheckedListBox.Name = "EntityFlagsCheckedListBox";
this.EntityFlagsCheckedListBox.Size = new System.Drawing.Size(201, 289);
this.EntityFlagsCheckedListBox.TabIndex = 32;
this.EntityFlagsCheckedListBox.ItemCheck += new System.Windows.Forms.ItemCheckEventHandler(this.EntityFlagsCheckedListBox_ItemCheck);
//
// ProjectForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);

View File

@ -34,6 +34,14 @@ namespace CodeWalker.World
ScenarioRegions = new List<YmtFile>();
//rubidium:
//the non-replacement [XML] is hash 1074D56E
//replacement XML is 203D234 I think and replacement PSO A6F20ADA
//('replacement' implies 'when a DLC loads it it unloads the existing spmanifest first')
//- content.xml fileType for sp_manifest
//Vector2I maxgrid = new Vector2I(0, 0);
//List<Vector2I> griddims = new List<Vector2I>();
//int maxcells = 0;