mirror of
https://mirror.ghproxy.com/https://github.com/dexyfex/CodeWalker
synced 2024-11-22 06:52:55 +08:00
Improved interior info display and XML conversion
This commit is contained in:
parent
05ec5e5b76
commit
a68523b2ef
@ -1828,9 +1828,61 @@ namespace CodeWalker.GameFiles
|
||||
if (iarch == null)
|
||||
{ } //can't find archetype - des stuff eg {des_prologue_door}
|
||||
}
|
||||
|
||||
|
||||
//update archetype room AABB's.. bad to have this here? where else to put it?
|
||||
var mloa = arch as MloArchetype;
|
||||
if (mloa != null)
|
||||
{
|
||||
Vector3[] c = new Vector3[8];
|
||||
var rooms = mloa.rooms;
|
||||
if (rooms != null)
|
||||
{
|
||||
for (int j = 0; j < rooms.Length; j++)
|
||||
{
|
||||
var room = rooms[j];
|
||||
if ((room.AttachedObjects == null) || (room.AttachedObjects.Length == 0)) continue;
|
||||
Vector3 min = new Vector3(float.MaxValue);
|
||||
Vector3 max = new Vector3(float.MinValue);
|
||||
for (int k = 0; k < room.AttachedObjects.Length; k++)
|
||||
{
|
||||
var objid = room.AttachedObjects[k];
|
||||
if (objid < entities.Length)
|
||||
{
|
||||
var rooment = entities[objid];
|
||||
if ((rooment != null) && (rooment.Archetype != null))
|
||||
{
|
||||
var earch = rooment.Archetype;
|
||||
var pos = rooment._CEntityDef.position;
|
||||
var ori = rooment.Orientation;
|
||||
Vector3 abmin = earch.BBMin * rooment.Scale; //entity box
|
||||
Vector3 abmax = earch.BBMax * rooment.Scale;
|
||||
c[0] = abmin;
|
||||
c[1] = new Vector3(abmin.X, abmin.Y, abmax.Z);
|
||||
c[2] = new Vector3(abmin.X, abmax.Y, abmin.Z);
|
||||
c[3] = new Vector3(abmin.X, abmax.Y, abmax.Z);
|
||||
c[4] = new Vector3(abmax.X, abmin.Y, abmin.Z);
|
||||
c[5] = new Vector3(abmax.X, abmin.Y, abmax.Z);
|
||||
c[6] = new Vector3(abmax.X, abmax.Y, abmin.Z);
|
||||
c[7] = abmax;
|
||||
for (int n = 0; n < 8; n++)
|
||||
{
|
||||
Vector3 corn = ori.Multiply(c[n]) + pos;
|
||||
min = Vector3.Min(min, corn);
|
||||
max = Vector3.Max(max, corn);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
room.BBMin_CW = min;
|
||||
room.BBMax_CW = max;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
if (file.GrassInstanceBatches != null)
|
||||
|
@ -3441,7 +3441,7 @@ namespace CodeWalker.GameFiles
|
||||
timecycleName = 2724323497,
|
||||
secondaryTimecycleName = 3255324828,
|
||||
portalCount = 1105339827,
|
||||
//exteriorVisibiltyDepth = 552849982, //not correct = spelling error?
|
||||
exteriorVisibiltyDepth = 552849982, //not correct = spelling error?
|
||||
attachedObjects = 2382704940,
|
||||
roomFrom = 4101034749,
|
||||
roomTo = 2607060513,
|
||||
|
@ -840,7 +840,7 @@ namespace CodeWalker.GameFiles
|
||||
new MetaStructureEntryInfo_s(MetaName.flags, 76, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
|
||||
new MetaStructureEntryInfo_s(MetaName.portalCount, 80, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
|
||||
new MetaStructureEntryInfo_s(MetaName.floorId, 84, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
|
||||
new MetaStructureEntryInfo_s((MetaName)552849982, 88, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
|
||||
new MetaStructureEntryInfo_s(MetaName.exteriorVisibiltyDepth, 88, MetaStructureEntryDataType.SignedInt, 0, 0, 0),
|
||||
new MetaStructureEntryInfo_s(MetaName.ARRAYINFO, 0, MetaStructureEntryDataType.UnsignedInt, 0, 0, 0),
|
||||
new MetaStructureEntryInfo_s(MetaName.attachedObjects, 96, MetaStructureEntryDataType.Array, 0, 10, 0)
|
||||
);
|
||||
@ -2411,7 +2411,7 @@ namespace CodeWalker.GameFiles
|
||||
public uint flags { get; set; } //76 76: UnsignedInt: 0: flags
|
||||
public uint portalCount { get; set; } //80 80: UnsignedInt: 0: portalCount//1105339827
|
||||
public int floorId { get; set; } //84 84: SignedInt: 0: floorId//2187650609
|
||||
public int Unk_552849982 { get; set; } //88 88: SignedInt: 0: exteriorVisibiltyDepth//552849982
|
||||
public int exteriorVisibiltyDepth { get; set; } //88 88: SignedInt: 0: exteriorVisibiltyDepth//552849982
|
||||
public uint Unused6 { get; set; }//92
|
||||
public Array_uint attachedObjects { get; set; } //96 96: Array: 0: attachedObjects//2382704940 {0: UnsignedInt: 0: 256}
|
||||
}
|
||||
@ -2422,6 +2422,14 @@ namespace CodeWalker.GameFiles
|
||||
public string RoomName { get; set; }
|
||||
public uint[] AttachedObjects { get; set; }
|
||||
|
||||
public Vector3 BBCenter { get { return (_Data.bbMax + _Data.bbMin) * 0.5f; } }
|
||||
public Vector3 BBSize { get { return (_Data.bbMax - _Data.bbMin); } }
|
||||
public Vector3 BBMin { get { return (_Data.bbMin); } }
|
||||
public Vector3 BBMax { get { return (_Data.bbMax); } }
|
||||
public Vector3 BBMin_CW { get; set; }
|
||||
public Vector3 BBMax_CW { get; set; }
|
||||
|
||||
|
||||
public MCMloRoomDef() { }
|
||||
public MCMloRoomDef(Meta meta, CMloRoomDef data)
|
||||
{
|
||||
@ -2495,6 +2503,21 @@ namespace CodeWalker.GameFiles
|
||||
public Vector4[] Corners { get; set; }
|
||||
public uint[] AttachedObjects { get; set; }
|
||||
|
||||
public Vector3 Center
|
||||
{
|
||||
get
|
||||
{
|
||||
if ((Corners == null)||(Corners.Length==0)) return Vector3.Zero;
|
||||
var v = Vector3.Zero;
|
||||
for (int i = 0; i < Corners.Length; i++)
|
||||
{
|
||||
v += Corners[i].XYZ();
|
||||
}
|
||||
v *= (1.0f / Corners.Length);
|
||||
return v;
|
||||
}
|
||||
}
|
||||
|
||||
public MCMloPortalDef() { }
|
||||
public MCMloPortalDef(Meta meta, CMloPortalDef data)
|
||||
{
|
||||
|
1
Todo.txt
1
Todo.txt
@ -101,6 +101,7 @@ done:
|
||||
|
||||
|
||||
[v.29]
|
||||
Improved selected MLO instance display - portals, limbo room
|
||||
New Project Window
|
||||
RPF Explorer drag & drop
|
||||
Show vehicle wheels
|
||||
|
168
WorldForm.Designer.cs
generated
168
WorldForm.Designer.cs
generated
@ -145,6 +145,8 @@ namespace CodeWalker
|
||||
this.WaitForChildrenCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.label14 = new System.Windows.Forms.Label();
|
||||
this.tabPage9 = new System.Windows.Forms.TabPage();
|
||||
this.SnapGridSizeUpDown = new System.Windows.Forms.NumericUpDown();
|
||||
this.label26 = new System.Windows.Forms.Label();
|
||||
this.SkeletonsCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.AudioOuterBoundsCheckBox = new System.Windows.Forms.CheckBox();
|
||||
this.PopZonesCheckBox = new System.Windows.Forms.CheckBox();
|
||||
@ -258,6 +260,10 @@ namespace CodeWalker
|
||||
this.ToolbarTransformSpaceButton = new System.Windows.Forms.ToolStripSplitButton();
|
||||
this.ToolbarObjectSpaceButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.ToolbarWorldSpaceButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.ToolbarSnapButton = new CodeWalker.WinForms.ToolStripSplitButtonFix();
|
||||
this.ToolbarSnapToGroundButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.ToolbarSnapToGridButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.ToolbarSnapToGroundGridButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||
this.ToolbarUndoButton = new System.Windows.Forms.ToolStripSplitButton();
|
||||
this.ToolbarUndoListButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
@ -278,12 +284,6 @@ namespace CodeWalker
|
||||
this.ToolbarCameraMapViewButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.ToolbarCameraOrthographicButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.ToolbarPanel = new System.Windows.Forms.Panel();
|
||||
this.ToolbarSnapButton = new CodeWalker.WinForms.ToolStripSplitButtonFix();
|
||||
this.ToolbarSnapToGroundButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.ToolbarSnapToGridButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.ToolbarSnapToGroundGridButton = new System.Windows.Forms.ToolStripMenuItem();
|
||||
this.label26 = new System.Windows.Forms.Label();
|
||||
this.SnapGridSizeUpDown = new System.Windows.Forms.NumericUpDown();
|
||||
this.StatusStrip.SuspendLayout();
|
||||
this.ToolsPanel.SuspendLayout();
|
||||
this.ToolsTabControl.SuspendLayout();
|
||||
@ -314,6 +314,7 @@ namespace CodeWalker
|
||||
((System.ComponentModel.ISupportInitialize)(this.FieldOfViewTrackBar)).BeginInit();
|
||||
this.tabPage14.SuspendLayout();
|
||||
this.tabPage9.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.SnapGridSizeUpDown)).BeginInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.BoundsRangeTrackBar)).BeginInit();
|
||||
this.tabPage10.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.CloudParamTrackBar)).BeginInit();
|
||||
@ -324,7 +325,6 @@ namespace CodeWalker
|
||||
this.ToolsMenu.SuspendLayout();
|
||||
this.Toolbar.SuspendLayout();
|
||||
this.ToolbarPanel.SuspendLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.SnapGridSizeUpDown)).BeginInit();
|
||||
this.SuspendLayout();
|
||||
//
|
||||
// StatusStrip
|
||||
@ -1785,6 +1785,39 @@ namespace CodeWalker
|
||||
this.tabPage9.Text = "Helpers";
|
||||
this.tabPage9.UseVisualStyleBackColor = true;
|
||||
//
|
||||
// SnapGridSizeUpDown
|
||||
//
|
||||
this.SnapGridSizeUpDown.DecimalPlaces = 2;
|
||||
this.SnapGridSizeUpDown.Location = new System.Drawing.Point(86, 291);
|
||||
this.SnapGridSizeUpDown.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.SnapGridSizeUpDown.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
131072});
|
||||
this.SnapGridSizeUpDown.Name = "SnapGridSizeUpDown";
|
||||
this.SnapGridSizeUpDown.Size = new System.Drawing.Size(108, 20);
|
||||
this.SnapGridSizeUpDown.TabIndex = 49;
|
||||
this.SnapGridSizeUpDown.Value = new decimal(new int[] {
|
||||
100,
|
||||
0,
|
||||
0,
|
||||
131072});
|
||||
this.SnapGridSizeUpDown.ValueChanged += new System.EventHandler(this.SnapGridSizeUpDown_ValueChanged);
|
||||
//
|
||||
// label26
|
||||
//
|
||||
this.label26.AutoSize = true;
|
||||
this.label26.Location = new System.Drawing.Point(4, 293);
|
||||
this.label26.Name = "label26";
|
||||
this.label26.Size = new System.Drawing.Size(76, 13);
|
||||
this.label26.TabIndex = 48;
|
||||
this.label26.Text = "Snap grid size:";
|
||||
//
|
||||
// SkeletonsCheckBox
|
||||
//
|
||||
this.SkeletonsCheckBox.AutoSize = true;
|
||||
@ -2641,7 +2674,7 @@ namespace CodeWalker
|
||||
this.ToolbarCameraModeButton});
|
||||
this.Toolbar.Location = new System.Drawing.Point(1, 0);
|
||||
this.Toolbar.Name = "Toolbar";
|
||||
this.Toolbar.Size = new System.Drawing.Size(554, 25);
|
||||
this.Toolbar.Size = new System.Drawing.Size(585, 25);
|
||||
this.Toolbar.TabIndex = 6;
|
||||
this.Toolbar.Text = "toolStrip1";
|
||||
//
|
||||
@ -2897,7 +2930,7 @@ namespace CodeWalker
|
||||
//
|
||||
this.ToolbarSelectMloInstanceButton.Name = "ToolbarSelectMloInstanceButton";
|
||||
this.ToolbarSelectMloInstanceButton.Size = new System.Drawing.Size(181, 22);
|
||||
this.ToolbarSelectMloInstanceButton.Text = "Mlo Instance";
|
||||
this.ToolbarSelectMloInstanceButton.Text = "Interior Instance";
|
||||
this.ToolbarSelectMloInstanceButton.Click += new System.EventHandler(this.ToolbarSelectMloInstanceButton_Click);
|
||||
//
|
||||
// ToolbarSelectScenarioButton
|
||||
@ -2971,7 +3004,7 @@ namespace CodeWalker
|
||||
this.ToolbarObjectSpaceButton.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||
this.ToolbarObjectSpaceButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarObjectSpaceButton.Image")));
|
||||
this.ToolbarObjectSpaceButton.Name = "ToolbarObjectSpaceButton";
|
||||
this.ToolbarObjectSpaceButton.Size = new System.Drawing.Size(152, 22);
|
||||
this.ToolbarObjectSpaceButton.Size = new System.Drawing.Size(142, 22);
|
||||
this.ToolbarObjectSpaceButton.Text = "Object space";
|
||||
this.ToolbarObjectSpaceButton.Click += new System.EventHandler(this.ToolbarObjectSpaceButton_Click);
|
||||
//
|
||||
@ -2979,10 +3012,49 @@ namespace CodeWalker
|
||||
//
|
||||
this.ToolbarWorldSpaceButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarWorldSpaceButton.Image")));
|
||||
this.ToolbarWorldSpaceButton.Name = "ToolbarWorldSpaceButton";
|
||||
this.ToolbarWorldSpaceButton.Size = new System.Drawing.Size(152, 22);
|
||||
this.ToolbarWorldSpaceButton.Size = new System.Drawing.Size(142, 22);
|
||||
this.ToolbarWorldSpaceButton.Text = "World space";
|
||||
this.ToolbarWorldSpaceButton.Click += new System.EventHandler(this.ToolbarWorldSpaceButton_Click);
|
||||
//
|
||||
// ToolbarSnapButton
|
||||
//
|
||||
this.ToolbarSnapButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.ToolbarSnapButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.ToolbarSnapToGroundButton,
|
||||
this.ToolbarSnapToGridButton,
|
||||
this.ToolbarSnapToGroundGridButton});
|
||||
this.ToolbarSnapButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSnapButton.Image")));
|
||||
this.ToolbarSnapButton.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.ToolbarSnapButton.Name = "ToolbarSnapButton";
|
||||
this.ToolbarSnapButton.Size = new System.Drawing.Size(32, 22);
|
||||
this.ToolbarSnapButton.Text = "Snap to Ground";
|
||||
this.ToolbarSnapButton.ToolTipText = "Snap to Ground";
|
||||
this.ToolbarSnapButton.ButtonClick += new System.EventHandler(this.ToolbarSnapButton_ButtonClick);
|
||||
//
|
||||
// ToolbarSnapToGroundButton
|
||||
//
|
||||
this.ToolbarSnapToGroundButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSnapToGroundButton.Image")));
|
||||
this.ToolbarSnapToGroundButton.Name = "ToolbarSnapToGroundButton";
|
||||
this.ToolbarSnapToGroundButton.Size = new System.Drawing.Size(205, 22);
|
||||
this.ToolbarSnapToGroundButton.Text = "Snap to Ground";
|
||||
this.ToolbarSnapToGroundButton.Click += new System.EventHandler(this.ToolbarSnapToGroundButton_Click);
|
||||
//
|
||||
// ToolbarSnapToGridButton
|
||||
//
|
||||
this.ToolbarSnapToGridButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSnapToGridButton.Image")));
|
||||
this.ToolbarSnapToGridButton.Name = "ToolbarSnapToGridButton";
|
||||
this.ToolbarSnapToGridButton.Size = new System.Drawing.Size(205, 22);
|
||||
this.ToolbarSnapToGridButton.Text = "Snap to Grid";
|
||||
this.ToolbarSnapToGridButton.Click += new System.EventHandler(this.ToolbarSnapToGridButton_Click);
|
||||
//
|
||||
// ToolbarSnapToGroundGridButton
|
||||
//
|
||||
this.ToolbarSnapToGroundGridButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSnapToGroundGridButton.Image")));
|
||||
this.ToolbarSnapToGroundGridButton.Name = "ToolbarSnapToGroundGridButton";
|
||||
this.ToolbarSnapToGroundGridButton.Size = new System.Drawing.Size(205, 22);
|
||||
this.ToolbarSnapToGroundGridButton.Text = "Snap to Grid and Ground";
|
||||
this.ToolbarSnapToGroundGridButton.Click += new System.EventHandler(this.ToolbarSnapToGroundGridButton_Click);
|
||||
//
|
||||
// toolStripSeparator2
|
||||
//
|
||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||
@ -3166,78 +3238,6 @@ namespace CodeWalker
|
||||
this.ToolbarPanel.TabIndex = 7;
|
||||
this.ToolbarPanel.Visible = false;
|
||||
//
|
||||
// ToolbarSnapButton
|
||||
//
|
||||
this.ToolbarSnapButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
|
||||
this.ToolbarSnapButton.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||
this.ToolbarSnapToGroundButton,
|
||||
this.ToolbarSnapToGridButton,
|
||||
this.ToolbarSnapToGroundGridButton});
|
||||
this.ToolbarSnapButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSnapButton.Image")));
|
||||
this.ToolbarSnapButton.ImageTransparentColor = System.Drawing.Color.Magenta;
|
||||
this.ToolbarSnapButton.Name = "ToolbarSnapButton";
|
||||
this.ToolbarSnapButton.Size = new System.Drawing.Size(32, 22);
|
||||
this.ToolbarSnapButton.Text = "Snap to Ground";
|
||||
this.ToolbarSnapButton.ToolTipText = "Snap to Ground";
|
||||
this.ToolbarSnapButton.ButtonClick += new System.EventHandler(this.ToolbarSnapButton_ButtonClick);
|
||||
//
|
||||
// ToolbarSnapToGroundButton
|
||||
//
|
||||
this.ToolbarSnapToGroundButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSnapToGroundButton.Image")));
|
||||
this.ToolbarSnapToGroundButton.Name = "ToolbarSnapToGroundButton";
|
||||
this.ToolbarSnapToGroundButton.Size = new System.Drawing.Size(205, 22);
|
||||
this.ToolbarSnapToGroundButton.Text = "Snap to Ground";
|
||||
this.ToolbarSnapToGroundButton.Click += new System.EventHandler(this.ToolbarSnapToGroundButton_Click);
|
||||
//
|
||||
// ToolbarSnapToGridButton
|
||||
//
|
||||
this.ToolbarSnapToGridButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSnapToGridButton.Image")));
|
||||
this.ToolbarSnapToGridButton.Name = "ToolbarSnapToGridButton";
|
||||
this.ToolbarSnapToGridButton.Size = new System.Drawing.Size(205, 22);
|
||||
this.ToolbarSnapToGridButton.Text = "Snap to Grid";
|
||||
this.ToolbarSnapToGridButton.Click += new System.EventHandler(this.ToolbarSnapToGridButton_Click);
|
||||
//
|
||||
// ToolbarSnapToGroundGridButton
|
||||
//
|
||||
this.ToolbarSnapToGroundGridButton.Image = ((System.Drawing.Image)(resources.GetObject("ToolbarSnapToGroundGridButton.Image")));
|
||||
this.ToolbarSnapToGroundGridButton.Name = "ToolbarSnapToGroundGridButton";
|
||||
this.ToolbarSnapToGroundGridButton.Size = new System.Drawing.Size(205, 22);
|
||||
this.ToolbarSnapToGroundGridButton.Text = "Snap to Grid and Ground";
|
||||
this.ToolbarSnapToGroundGridButton.Click += new System.EventHandler(this.ToolbarSnapToGroundGridButton_Click);
|
||||
//
|
||||
// label26
|
||||
//
|
||||
this.label26.AutoSize = true;
|
||||
this.label26.Location = new System.Drawing.Point(4, 293);
|
||||
this.label26.Name = "label26";
|
||||
this.label26.Size = new System.Drawing.Size(76, 13);
|
||||
this.label26.TabIndex = 48;
|
||||
this.label26.Text = "Snap grid size:";
|
||||
//
|
||||
// SnapGridSizeUpDown
|
||||
//
|
||||
this.SnapGridSizeUpDown.DecimalPlaces = 2;
|
||||
this.SnapGridSizeUpDown.Location = new System.Drawing.Point(86, 291);
|
||||
this.SnapGridSizeUpDown.Maximum = new decimal(new int[] {
|
||||
1000,
|
||||
0,
|
||||
0,
|
||||
0});
|
||||
this.SnapGridSizeUpDown.Minimum = new decimal(new int[] {
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
131072});
|
||||
this.SnapGridSizeUpDown.Name = "SnapGridSizeUpDown";
|
||||
this.SnapGridSizeUpDown.Size = new System.Drawing.Size(108, 20);
|
||||
this.SnapGridSizeUpDown.TabIndex = 49;
|
||||
this.SnapGridSizeUpDown.Value = new decimal(new int[] {
|
||||
100,
|
||||
0,
|
||||
0,
|
||||
131072});
|
||||
this.SnapGridSizeUpDown.ValueChanged += new System.EventHandler(this.SnapGridSizeUpDown_ValueChanged);
|
||||
//
|
||||
// WorldForm
|
||||
//
|
||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||
@ -3303,6 +3303,7 @@ namespace CodeWalker
|
||||
this.tabPage14.PerformLayout();
|
||||
this.tabPage9.ResumeLayout(false);
|
||||
this.tabPage9.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.SnapGridSizeUpDown)).EndInit();
|
||||
((System.ComponentModel.ISupportInitialize)(this.BoundsRangeTrackBar)).EndInit();
|
||||
this.tabPage10.ResumeLayout(false);
|
||||
this.tabPage10.PerformLayout();
|
||||
@ -3318,7 +3319,6 @@ namespace CodeWalker
|
||||
this.Toolbar.PerformLayout();
|
||||
this.ToolbarPanel.ResumeLayout(false);
|
||||
this.ToolbarPanel.PerformLayout();
|
||||
((System.ComponentModel.ISupportInitialize)(this.SnapGridSizeUpDown)).EndInit();
|
||||
this.ResumeLayout(false);
|
||||
this.PerformLayout();
|
||||
|
||||
|
55
WorldForm.cs
55
WorldForm.cs
@ -1231,6 +1231,7 @@ namespace CodeWalker
|
||||
|
||||
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();
|
||||
const uint caqu = 4294967040;// (uint)new Color4(0.0f, 1.0f, 1.0f, 1.0f).ToRgba();
|
||||
|
||||
if (MouseRayCollisionEnabled && MouseRayCollisionVisible)
|
||||
{
|
||||
@ -1353,6 +1354,58 @@ namespace CodeWalker
|
||||
{
|
||||
bbmin = selectionItem.AABB.Minimum;
|
||||
bbmax = selectionItem.AABB.Maximum;
|
||||
var mlo = selectionItem.MloEntityDef;
|
||||
var mlop = mlo.Position;
|
||||
var mloa = mlo.Archetype as MloArchetype;
|
||||
if (mloa != null)
|
||||
{
|
||||
VertexTypePC p1 = new VertexTypePC();
|
||||
VertexTypePC p2 = new VertexTypePC();
|
||||
if (mloa.portals != null)
|
||||
{
|
||||
p1.Colour = caqu;
|
||||
p2.Colour = caqu;
|
||||
for (int ip = 0; ip < mloa.portals.Length; ip++)
|
||||
{
|
||||
var portal = mloa.portals[ip];
|
||||
if (portal.Corners == null) continue;
|
||||
for (int ic = 0; ic < portal.Corners.Length; ic++)
|
||||
{
|
||||
int il = ((ic==0)? portal.Corners.Length : ic) - 1;
|
||||
p1.Position = mlop + mlo.Orientation.Multiply(portal.Corners[il].XYZ());
|
||||
p2.Position = mlop + mlo.Orientation.Multiply(portal.Corners[ic].XYZ());
|
||||
Renderer.SelectionLineVerts.Add(p1);
|
||||
Renderer.SelectionLineVerts.Add(p2);
|
||||
}
|
||||
}
|
||||
}
|
||||
if (mloa.rooms != null)
|
||||
{
|
||||
MapBox wbox = new MapBox();
|
||||
wbox.Scale = Vector3.One;
|
||||
for (int ir = 0; ir < mloa.rooms.Length; ir++)
|
||||
{
|
||||
var room = mloa.rooms[ir];
|
||||
|
||||
wbox.CamRelPos = mlop - camera.Position;
|
||||
wbox.BBMin = room._Data.bbMin;// + offset;
|
||||
wbox.BBMax = room._Data.bbMax;// + offset;
|
||||
wbox.Orientation = mlo.Orientation;
|
||||
if ((ir == 0) || (room.RoomName == "limbo"))
|
||||
{
|
||||
bbmin = room._Data.bbMin;
|
||||
bbmax = room._Data.bbMax;
|
||||
//////Renderer.BoundingBoxes.Add(wbox);
|
||||
}
|
||||
else
|
||||
{
|
||||
wbox.BBMin = room.BBMin_CW; //hack method to use CW calculated room AABBs,
|
||||
wbox.BBMax = room.BBMax_CW; //R* ones are right size, but wrong position??
|
||||
Renderer.WhiteBoxes.Add(wbox);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if ((selectionItem.GrassBatch != null) || (selectionItem.ArchetypeExtension != null) || (selectionItem.EntityExtension != null) || (selectionItem.CollisionBounds != null))
|
||||
{
|
||||
@ -1394,7 +1447,6 @@ namespace CodeWalker
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (mode == BoundsShaderMode.Box)
|
||||
{
|
||||
MapBox box = new MapBox();
|
||||
@ -2455,6 +2507,7 @@ namespace CodeWalker
|
||||
for (int i = 0; i < ymap.MloEntities.Length; i++)
|
||||
{
|
||||
var ent = ymap.MloEntities[i];
|
||||
if (SelectedItem.MloEntityDef == ent) continue;
|
||||
MapBox mb = new MapBox();
|
||||
mb.CamRelPos = ent.Position - camera.Position;
|
||||
mb.BBMin = /*ent?.BBMin ??*/ new Vector3(-1.5f);
|
||||
|
104
WorldForm.resx
104
WorldForm.resx
@ -240,14 +240,6 @@ ufo
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB4SURBVDhP3ZC7DcAgDEQZKTMwHOvSIFriS7BlEB+HMic9
|
||||
QJbvFThLUkpXzjkSpaeuzMPlEELx3jdsBauyCHBY6UWYPQI93KEljQD3jL6EGzN6x0bASyNYwkKU8Udm
|
||||
gd6TMnIikDJyIqjVNz8T7FgKrAwFX6lVinM3aJ05lWDPRRcAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarTransformSpaceButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB0SURBVDhP7ZNBCoAgEEXnSJ3BqxmetNpaMLhVv5DNRJS2
|
||||
CxIeuvA9XSjtg5mHEILPxB6U7JyLxphmSkDK1o5x9dst87SUfTXwRsYsA+paT0BGDGsVOJ92hdz3Bz4f
|
||||
wGPC48uu7w5IGd+gBlpRMgYCnRwyESUj3CsQkYNFDwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarObjectSpaceButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@ -267,6 +259,51 @@ ufo
|
||||
7bHCx/miCf7qYJ1jjjYYx3Fm0nfDXfJWzhjMzuBweJJvr++b5K1dOQN7hP9AH0H96EvM83zh7q+2zsH1
|
||||
L1H0fS+TJHEX+ZsBXDRobS/oRorjWB5/aqSXVkZRJKuqQnxtJEJNXCvjTu9D9kGOmhEvW5kwJiVb43wI
|
||||
WBXYx9R1nV75RuyHKrrnzCcGjE1u9ZyD4BugoZigQ9xrngAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarTransformSpaceButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB0SURBVDhP7ZNBCoAgEEXnSJ3BqxmetNpaMLhVv5DNRJS2
|
||||
CxIeuvA9XSjtg5mHEILPxB6U7JyLxphmSkDK1o5x9dst87SUfTXwRsYsA+paT0BGDGsVOJ92hdz3Bz4f
|
||||
wGPC48uu7w5IGd+gBlpRMgYCnRwyESUj3CsQkYNFDwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarSnapToGroundButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADMSURBVDhPrZLBDcMgDEUzGxN0ilyZJ92DqXJoe4Cr
|
||||
y3f8EXERUptaehVx/F8gzSIil1hKKWIMB8C0EA4hTCXToqCXVFbjOwElKSUF65zzzUbHhad4CYkxyr7v
|
||||
KvHHIhQ0ybbd5fl4KVhDgns+SPSnDqzYMgQME/TsOO2d/EVQ17ozXmgD2/VHgMCGdY5h9psALwovDBLc
|
||||
9GAYcwyzZ//FUZCgiS3btj8k/tqiR3Xn0w+pDp2e2IN+xZJWncAzDINTTQSAwRYGLfQbsrwBmeh5Q8G/
|
||||
p8gAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarSnapToGridButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
|
||||
wwAADsMBx2+oZAAAAH5JREFUOE+9kEEKwCAMBH2bL+hPfI/9ooe2B71aVpKS5iBB0i4MyCZZjcFdrbUu
|
||||
IdsuDMUYB/8H1Fo3HQCPynOhsZTSU0pPAM7wpiG4hcFAzns/j2uAMzzZo3ntDHiYkTWNXwCztAJr+ROl
|
||||
0IhU+UTzMEsHkG2XS4CE7K8Uwg0o2F4o9CrlEwAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarSnapToGroundGridButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGPC/xhBQAAABl0RVh0U29m
|
||||
dHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAADLSURBVDhPpZHRDcIwDEQzWxbqGEjZoOzRqfoBfLS/
|
||||
Jnf1IWMKAmrpSYl7d3HSYmaHKOu6msNG2BOKPhVEtdZHiPbqfR0QQqy1Rn4OUMg0TQTrZVlOLt2vLnoJ
|
||||
EcMw2DzPDMEke9AsYBrHs10vN4I1QqImwwDcFyMjQGaBHr5Bo8nEoYCnCQTGzVeI4oj6fIi+KHgoPBhC
|
||||
4knCjTww9vxfbIUQNDEyiGIZ8t6tW/k0vC/AOpuiueNOLwVkUeylvju9FJCg8E1vM/2PlTv5UoervVTJ
|
||||
uQAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarSnapButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPrZBBEsIgEAR5Gy/wFV55T/wHr+KgHuCKNsVY
|
||||
ZI2JiU7VVIVlp7OL+1mllIr7cb8Ie++PQwQYITnnM24NWxoBgsQYm/l+gk699bMsRA4h1JTSPsg0Xert
|
||||
em/mGwh3vW1Z7MvIABSWqXG3+iZHAEw1m4wD49oVANgVOL/VeSgeDAiX1mpWeKy9BIQiI+OxWQF77tG5
|
||||
2Fc729BmeElf/3lNhORe+oecewDObEqX49RqCgAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarUndoButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@ -352,17 +389,6 @@ ufo
|
||||
4BJN+IjGo5O8ZJndGVhKxpjWWts551aih0fre+0BLaVchRAezPB2NXSSV/gVwXGYPJiVUt6ns1ghCDjn
|
||||
UQG86w3FToVgDcWCWS9Fvi/Ao0RVAcwUjwpyhzmf4n8BFApS5HZRwRuONGMbrIJ1JIN8O2QAAAAASUVO
|
||||
RK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarCameraModeButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEvSURBVDhP3dK/K0dRGMfxKxRJopCSEkLya/guUhQRmQwG
|
||||
WfwIkYySgYUSKUKJlOK/MBoMFMofYLUIsfJ+f3NuF3+A8tRree5zP/fcc070f6oHT/jAPTqQj6WvXvCM
|
||||
TZQgG3H58gFGcYVLtGIN15jBNDbwiGNUIg4pQx8GsQuHhrCDW8yjHyns4Q0DcCXpykM5bFzgHGPYxw1G
|
||||
UIVMtMHfWUUj4nIg/KurGIYrSAZYOXDGlbhXcZlegUO8Yxzb+BlQAwNW0G0jVAYK0AwHtnCEOyQDZvGC
|
||||
ObTbKIIvLMA9WIYDizhFMsDjfsAZptCA9JcdfoVBvryOSbgCe4HPTuCz+BQMKEUvJmCy96ET1ehCuAf2
|
||||
5ZF+uwdZKEYtmuBGFSIXhtejBe5PHX7dxL+qKPoEppRHcXOtiDsAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarCameraPerspectiveButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
@ -400,41 +426,15 @@ ufo
|
||||
QdQiTqrAWNICd7gPnUj+xBKaU9dxfhTkjwV/FxU+AbsiGnc46OYIAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarSnapButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<data name="ToolbarCameraModeButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAACtSURBVDhPrZBBEsIgEAR5Gy/wFV55T/wHr+KgHuCKNsVY
|
||||
ZI2JiU7VVIVlp7OL+1mllIr7cb8Ie++PQwQYITnnM24NWxoBgsQYm/l+gk699bMsRA4h1JTSPsg0Xert
|
||||
em/mGwh3vW1Z7MvIABSWqXG3+iZHAEw1m4wD49oVANgVOL/VeSgeDAiX1mpWeKy9BIQiI+OxWQF77tG5
|
||||
2Fc729BmeElf/3lNhORe+oecewDObEqX49RqCgAAAABJRU5ErkJggg==
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarSnapToGroundButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAzElEQVQ4T62SwQ3DIAxFMxsT
|
||||
dIpcmSfdg6lyaHuAq8t3/BFxEVKbWnoVcfxfIM0iIpdYSiliDAfAtBAOIUwl06Kgl1RW4zsBJSklBeuc
|
||||
881Gx4WneAmJMcq+7yrxxyIUNMm23eX5eClYQ4J7Pkj0pw6s2DIEDBP07DjtnfxFUNe6M15oA9v1R4DA
|
||||
hnWOYfabAC8KLwwS3PRgGHMMs2f/xVGQoIkt27Y/JP7aokd159MPqQ6dntiDfsWSVp3AMwyDU00EgMEW
|
||||
Bi30G7K8AZnoeUPBv6fIAAAAAElFTkSuQmCC
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarSnapToGridButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAB+SURBVDhPvZBBCsAgDAR9my/oT3yP/aKHtge9WlaSkuYg
|
||||
QdIuDMgmWY3BXa21LiHbLgzFGAf/B9RaNx0Aj8pzobGU0lNKTwDO8KYhuIXBQM57P49rgDM82aN57Qx4
|
||||
mJE1jV8As7QCa/kTpdCIVPlE8zBLB5Btl0uAhOyvFMINKNheKPQq5RMAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="ToolbarSnapToGroundGridButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
|
||||
YQUAAAAZdEVYdFNvZnR3YXJlAEFkb2JlIEltYWdlUmVhZHlxyWU8AAAAy0lEQVQ4T6WR0Q3CMAxEM1sW
|
||||
6hhI2aDs0an6AXy0vyZ39SFjCgJq6UmJe3dx0mJmhyjruprDRtgTij4VRLXWR4j26n0dEEKstUZ+DlDI
|
||||
NE0E62VZTi7dry56CRHDMNg8zwzBJHvQLGAax7NdLzeCNUKiJsMA3BcjI0BmgR6+QaPJxKGApwkExs1X
|
||||
iOKI+nyIvih4KDwYQuJJwo08MPb8X2yFEDQxMohiGfLerVv5NLwvwDqbornjTi8FZFHspb47vRSQoPBN
|
||||
bzP9j5U7+VKHq71UybkAAAAASUVORK5CYII=
|
||||
YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAEvSURBVDhP3dK/K0dRGMfxKxRJopCSEkLya/guUhQRmQwG
|
||||
WfwIkYySgYUSKUKJlOK/MBoMFMofYLUIsfJ+f3NuF3+A8tRree5zP/fcc070f6oHT/jAPTqQj6WvXvCM
|
||||
TZQgG3H58gFGcYVLtGIN15jBNDbwiGNUIg4pQx8GsQuHhrCDW8yjHyns4Q0DcCXpykM5bFzgHGPYxw1G
|
||||
UIVMtMHfWUUj4nIg/KurGIYrSAZYOXDGlbhXcZlegUO8Yxzb+BlQAwNW0G0jVAYK0AwHtnCEOyQDZvGC
|
||||
ObTbKIIvLMA9WIYDizhFMsDjfsAZptCA9JcdfoVBvryOSbgCe4HPTuCz+BQMKEUvJmCy96ET1ehCuAf2
|
||||
5ZF+uwdZKEYtmuBGFSIXhtejBe5PHX7dxL+qKPoEppRHcXOtiDsAAAAASUVORK5CYII=
|
||||
</value>
|
||||
</data>
|
||||
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
|
Loading…
Reference in New Issue
Block a user