mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-02-17 01:22:18 +00:00
Visplane Explorer: added "Open Doors" and "Heat Colors" options.
This commit is contained in:
parent
a7488939af
commit
22c5d6c0b7
14 changed files with 108 additions and 23 deletions
|
@ -132,7 +132,7 @@
|
||||||
// gridlock
|
// gridlock
|
||||||
//
|
//
|
||||||
this.gridlock.Checked = false;
|
this.gridlock.Checked = false;
|
||||||
this.gridlock.Margin = new System.Windows.Forms.Padding(6, 1, 0, 2);
|
this.gridlock.Margin = new System.Windows.Forms.Padding(12, 1, 0, 2);
|
||||||
this.gridlock.Name = "gridlock";
|
this.gridlock.Name = "gridlock";
|
||||||
this.gridlock.Size = new System.Drawing.Size(120, 22);
|
this.gridlock.Size = new System.Drawing.Size(120, 22);
|
||||||
this.gridlock.Text = "Lock slices to grid";
|
this.gridlock.Text = "Lock slices to grid";
|
||||||
|
|
|
@ -88,6 +88,7 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
palettes[(int)ViewStats.Drawsegs] = new Palette(Resources.Drawsegs_pal);
|
palettes[(int)ViewStats.Drawsegs] = new Palette(Resources.Drawsegs_pal);
|
||||||
palettes[(int)ViewStats.Solidsegs] = new Palette(Resources.Solidsegs_pal);
|
palettes[(int)ViewStats.Solidsegs] = new Palette(Resources.Solidsegs_pal);
|
||||||
palettes[(int)ViewStats.Openings] = new Palette(Resources.Openings_pal);
|
palettes[(int)ViewStats.Openings] = new Palette(Resources.Openings_pal);
|
||||||
|
palettes[(int)ViewStats.Heatmap] = new Palette(Resources.Heatmap_pal); //mxd
|
||||||
ApplyUserColors();
|
ApplyUserColors();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -107,7 +108,6 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
interfaceform = null;
|
interfaceform = null;
|
||||||
vpo.Dispose();
|
vpo.Dispose();
|
||||||
vpo = null;
|
vpo = null;
|
||||||
//General.Actions.UnbindMethods(this); //mxd. But... we have no methods to unbind!
|
|
||||||
base.Dispose();
|
base.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,14 +35,20 @@
|
||||||
this.dsstats = new System.Windows.Forms.ToolStripMenuItem();
|
this.dsstats = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.ssstats = new System.Windows.Forms.ToolStripMenuItem();
|
this.ssstats = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.opstats = new System.Windows.Forms.ToolStripMenuItem();
|
this.opstats = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.cbopendoors = new CodeImp.DoomBuilder.Controls.ToolStripCheckBox();
|
||||||
|
this.cbheatmap = new CodeImp.DoomBuilder.Controls.ToolStripCheckBox();
|
||||||
this.tooltip = new System.Windows.Forms.ToolTip(this.components);
|
this.tooltip = new System.Windows.Forms.ToolTip(this.components);
|
||||||
|
this.separator = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.toolstrip.SuspendLayout();
|
this.toolstrip.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// toolstrip
|
// toolstrip
|
||||||
//
|
//
|
||||||
this.toolstrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
this.toolstrip.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
|
||||||
this.statsbutton});
|
this.statsbutton,
|
||||||
|
this.separator,
|
||||||
|
this.cbopendoors,
|
||||||
|
this.cbheatmap});
|
||||||
this.toolstrip.Location = new System.Drawing.Point(0, 0);
|
this.toolstrip.Location = new System.Drawing.Point(0, 0);
|
||||||
this.toolstrip.Name = "toolstrip";
|
this.toolstrip.Name = "toolstrip";
|
||||||
this.toolstrip.Size = new System.Drawing.Size(465, 25);
|
this.toolstrip.Size = new System.Drawing.Size(465, 25);
|
||||||
|
@ -68,7 +74,7 @@
|
||||||
this.vpstats.CheckState = System.Windows.Forms.CheckState.Checked;
|
this.vpstats.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
this.vpstats.Image = global::CodeImp.DoomBuilder.Plugins.VisplaneExplorer.Properties.Resources.Visplanes;
|
this.vpstats.Image = global::CodeImp.DoomBuilder.Plugins.VisplaneExplorer.Properties.Resources.Visplanes;
|
||||||
this.vpstats.Name = "vpstats";
|
this.vpstats.Name = "vpstats";
|
||||||
this.vpstats.Size = new System.Drawing.Size(132, 22);
|
this.vpstats.Size = new System.Drawing.Size(152, 22);
|
||||||
this.vpstats.Tag = "0";
|
this.vpstats.Tag = "0";
|
||||||
this.vpstats.Text = "Visplanes";
|
this.vpstats.Text = "Visplanes";
|
||||||
this.vpstats.Click += new System.EventHandler(this.stats_Click);
|
this.vpstats.Click += new System.EventHandler(this.stats_Click);
|
||||||
|
@ -77,7 +83,7 @@
|
||||||
//
|
//
|
||||||
this.dsstats.Image = global::CodeImp.DoomBuilder.Plugins.VisplaneExplorer.Properties.Resources.Drawsegs;
|
this.dsstats.Image = global::CodeImp.DoomBuilder.Plugins.VisplaneExplorer.Properties.Resources.Drawsegs;
|
||||||
this.dsstats.Name = "dsstats";
|
this.dsstats.Name = "dsstats";
|
||||||
this.dsstats.Size = new System.Drawing.Size(132, 22);
|
this.dsstats.Size = new System.Drawing.Size(152, 22);
|
||||||
this.dsstats.Tag = "1";
|
this.dsstats.Tag = "1";
|
||||||
this.dsstats.Text = "Drawsegs";
|
this.dsstats.Text = "Drawsegs";
|
||||||
this.dsstats.Click += new System.EventHandler(this.stats_Click);
|
this.dsstats.Click += new System.EventHandler(this.stats_Click);
|
||||||
|
@ -86,7 +92,7 @@
|
||||||
//
|
//
|
||||||
this.ssstats.Image = global::CodeImp.DoomBuilder.Plugins.VisplaneExplorer.Properties.Resources.Solidsegs;
|
this.ssstats.Image = global::CodeImp.DoomBuilder.Plugins.VisplaneExplorer.Properties.Resources.Solidsegs;
|
||||||
this.ssstats.Name = "ssstats";
|
this.ssstats.Name = "ssstats";
|
||||||
this.ssstats.Size = new System.Drawing.Size(132, 22);
|
this.ssstats.Size = new System.Drawing.Size(152, 22);
|
||||||
this.ssstats.Tag = "2";
|
this.ssstats.Tag = "2";
|
||||||
this.ssstats.Text = "Solidsegs";
|
this.ssstats.Text = "Solidsegs";
|
||||||
this.ssstats.Click += new System.EventHandler(this.stats_Click);
|
this.ssstats.Click += new System.EventHandler(this.stats_Click);
|
||||||
|
@ -95,11 +101,28 @@
|
||||||
//
|
//
|
||||||
this.opstats.Image = global::CodeImp.DoomBuilder.Plugins.VisplaneExplorer.Properties.Resources.Openings;
|
this.opstats.Image = global::CodeImp.DoomBuilder.Plugins.VisplaneExplorer.Properties.Resources.Openings;
|
||||||
this.opstats.Name = "opstats";
|
this.opstats.Name = "opstats";
|
||||||
this.opstats.Size = new System.Drawing.Size(132, 22);
|
this.opstats.Size = new System.Drawing.Size(152, 22);
|
||||||
this.opstats.Tag = "3";
|
this.opstats.Tag = "3";
|
||||||
this.opstats.Text = "Openings";
|
this.opstats.Text = "Openings";
|
||||||
this.opstats.Click += new System.EventHandler(this.stats_Click);
|
this.opstats.Click += new System.EventHandler(this.stats_Click);
|
||||||
//
|
//
|
||||||
|
// cbopendoors
|
||||||
|
//
|
||||||
|
this.cbopendoors.Checked = false;
|
||||||
|
this.cbopendoors.Margin = new System.Windows.Forms.Padding(12, 1, 0, 2);
|
||||||
|
this.cbopendoors.Name = "cbopendoors";
|
||||||
|
this.cbopendoors.Size = new System.Drawing.Size(89, 22);
|
||||||
|
this.cbopendoors.Text = "Open Doors";
|
||||||
|
this.cbopendoors.Click += new System.EventHandler(this.cbopendoors_Click);
|
||||||
|
//
|
||||||
|
// cbheatmap
|
||||||
|
//
|
||||||
|
this.cbheatmap.Checked = false;
|
||||||
|
this.cbheatmap.Name = "cbheatmap";
|
||||||
|
this.cbheatmap.Size = new System.Drawing.Size(88, 22);
|
||||||
|
this.cbheatmap.Text = "Heat Colors";
|
||||||
|
this.cbheatmap.Click += new System.EventHandler(this.cbheatmap_Click);
|
||||||
|
//
|
||||||
// tooltip
|
// tooltip
|
||||||
//
|
//
|
||||||
this.tooltip.AutomaticDelay = 1;
|
this.tooltip.AutomaticDelay = 1;
|
||||||
|
@ -108,6 +131,11 @@
|
||||||
this.tooltip.ReshowDelay = 0;
|
this.tooltip.ReshowDelay = 0;
|
||||||
this.tooltip.ShowAlways = true;
|
this.tooltip.ShowAlways = true;
|
||||||
//
|
//
|
||||||
|
// separator
|
||||||
|
//
|
||||||
|
this.separator.Name = "separator";
|
||||||
|
this.separator.Size = new System.Drawing.Size(6, 25);
|
||||||
|
//
|
||||||
// InterfaceForm
|
// InterfaceForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||||
|
@ -138,6 +166,9 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem ssstats;
|
private System.Windows.Forms.ToolStripMenuItem ssstats;
|
||||||
private System.Windows.Forms.ToolStripMenuItem opstats;
|
private System.Windows.Forms.ToolStripMenuItem opstats;
|
||||||
private System.Windows.Forms.ToolTip tooltip;
|
private System.Windows.Forms.ToolTip tooltip;
|
||||||
|
private CodeImp.DoomBuilder.Controls.ToolStripCheckBox cbopendoors;
|
||||||
|
private CodeImp.DoomBuilder.Controls.ToolStripCheckBox cbheatmap;
|
||||||
|
private System.Windows.Forms.ToolStripSeparator separator;
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -19,13 +19,17 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
#region ================== Variables
|
#region ================== Variables
|
||||||
|
|
||||||
private ViewStats viewstats;
|
private ViewStats viewstats;
|
||||||
Point oldttposition;
|
private static bool opendoors; //mxd
|
||||||
|
private static bool showheatmap; //mxd
|
||||||
|
private Point oldttposition;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ================== Properties
|
#region ================== Properties
|
||||||
|
|
||||||
internal ViewStats ViewStats { get { return viewstats; } }
|
internal ViewStats ViewStats { get { return viewstats; } }
|
||||||
|
internal bool OpenDoors { get { return opendoors; } } //mxd
|
||||||
|
internal bool ShowHeatmap { get { return showheatmap; } } //mxd
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -35,6 +39,8 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
public InterfaceForm()
|
public InterfaceForm()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
cbopendoors.Checked = opendoors; //mxd
|
||||||
|
cbheatmap.Checked = showheatmap; //mxd
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
@ -44,12 +50,18 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
// This adds the buttons to the toolbar
|
// This adds the buttons to the toolbar
|
||||||
public void AddToInterface()
|
public void AddToInterface()
|
||||||
{
|
{
|
||||||
General.Interface.AddButton(statsbutton, ToolbarSection.Custom);
|
General.Interface.AddButton(statsbutton);
|
||||||
|
General.Interface.AddButton(separator); //mxd
|
||||||
|
General.Interface.AddButton(cbopendoors); //mxd
|
||||||
|
General.Interface.AddButton(cbheatmap); //mxd
|
||||||
}
|
}
|
||||||
|
|
||||||
// This removes the buttons from the toolbar
|
// This removes the buttons from the toolbar
|
||||||
public void RemoveFromInterface()
|
public void RemoveFromInterface()
|
||||||
{
|
{
|
||||||
|
General.Interface.RemoveButton(cbheatmap); //mxd
|
||||||
|
General.Interface.RemoveButton(cbopendoors); //mxd
|
||||||
|
General.Interface.RemoveButton(separator); //mxd
|
||||||
General.Interface.RemoveButton(statsbutton);
|
General.Interface.RemoveButton(statsbutton);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -91,6 +103,23 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
General.Interface.RedrawDisplay();
|
General.Interface.RedrawDisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
private void cbheatmap_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
showheatmap = cbheatmap.Checked;
|
||||||
|
General.Interface.RedrawDisplay();
|
||||||
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
private void cbopendoors_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
opendoors = cbopendoors.Checked;
|
||||||
|
|
||||||
|
// Restart processing
|
||||||
|
BuilderPlug.VPO.Restart();
|
||||||
|
General.Interface.RedrawDisplay();
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,7 +9,7 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
internal class Palette
|
internal class Palette
|
||||||
{
|
{
|
||||||
// Members
|
// Members
|
||||||
private int[] colors;
|
private readonly int[] colors;
|
||||||
|
|
||||||
// Properties
|
// Properties
|
||||||
public int[] Colors { get { return colors; } }
|
public int[] Colors { get { return colors; } }
|
||||||
|
@ -20,7 +20,7 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
// Initialize
|
// Initialize
|
||||||
colors = new int[bmp.Size.Width];
|
colors = new int[bmp.Size.Width];
|
||||||
for(int x = 0; x < bmp.Size.Width; x++)
|
for(int x = 0; x < bmp.Size.Width; x++)
|
||||||
colors[x] = bmp.GetPixel(x, 1).ToArgb();
|
colors[x] = bmp.GetPixel(x, 0).ToArgb();
|
||||||
}
|
}
|
||||||
|
|
||||||
// This overrides a color
|
// This overrides a color
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
// <auto-generated>
|
// <auto-generated>
|
||||||
// This code was generated by a tool.
|
// This code was generated by a tool.
|
||||||
// Runtime Version:4.0.30319.269
|
// Runtime Version:2.0.50727.5420
|
||||||
//
|
//
|
||||||
// Changes to this file may cause incorrect behavior and will be lost if
|
// Changes to this file may cause incorrect behavior and will be lost if
|
||||||
// the code is regenerated.
|
// the code is regenerated.
|
||||||
|
@ -19,7 +19,7 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer.Properties {
|
||||||
// class via a tool like ResGen or Visual Studio.
|
// class via a tool like ResGen or Visual Studio.
|
||||||
// To add or remove a member, edit your .ResX file then rerun ResGen
|
// To add or remove a member, edit your .ResX file then rerun ResGen
|
||||||
// with the /str option, or rebuild your VS project.
|
// with the /str option, or rebuild your VS project.
|
||||||
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
|
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "2.0.0.0")]
|
||||||
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
|
||||||
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
|
||||||
internal class Resources {
|
internal class Resources {
|
||||||
|
@ -74,6 +74,13 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer.Properties {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
internal static System.Drawing.Bitmap Heatmap_pal {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("Heatmap_pal", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
internal static System.Drawing.Bitmap Openings {
|
internal static System.Drawing.Bitmap Openings {
|
||||||
get {
|
get {
|
||||||
object obj = ResourceManager.GetObject("Openings", resourceCulture);
|
object obj = ResourceManager.GetObject("Openings", resourceCulture);
|
||||||
|
|
|
@ -142,4 +142,7 @@
|
||||||
<data name="Visplanes_pal" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="Visplanes_pal" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\Visplanes_pal.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\Visplanes_pal.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="Heatmap_pal" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\Heatmap_pal.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
BIN
Source/Plugins/VisplaneExplorer/Resources/Heatmap_pal.png
Normal file
BIN
Source/Plugins/VisplaneExplorer/Resources/Heatmap_pal.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 462 B |
Binary file not shown.
|
@ -58,6 +58,9 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
private delegate void VPO_CloseMap();
|
private delegate void VPO_CloseMap();
|
||||||
|
|
||||||
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)] //mxd
|
||||||
|
private delegate void VPO_OpenDoorSectors(int dir);
|
||||||
|
|
||||||
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
[UnmanagedFunctionPointer(CallingConvention.Cdecl)]
|
||||||
private delegate int VPO_TestSpot(int x, int y, int dz, int angle,
|
private delegate int VPO_TestSpot(int x, int y, int dz, int angle,
|
||||||
ref int visplanes, ref int drawsegs, ref int openings, ref int solidsegs);
|
ref int visplanes, ref int drawsegs, ref int openings, ref int solidsegs);
|
||||||
|
@ -67,7 +70,7 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
#region ================== Variables
|
#region ================== Variables
|
||||||
|
|
||||||
// Main objects
|
// Main objects
|
||||||
private string[] tempfiles;
|
private readonly string[] tempfiles;
|
||||||
private IntPtr[] dlls;
|
private IntPtr[] dlls;
|
||||||
private Thread[] threads;
|
private Thread[] threads;
|
||||||
|
|
||||||
|
@ -76,8 +79,8 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
private string mapname;
|
private string mapname;
|
||||||
|
|
||||||
// Input and output queue (both require a lock on 'points' !)
|
// Input and output queue (both require a lock on 'points' !)
|
||||||
private Queue<TilePoint> points = new Queue<TilePoint>(EXPECTED_RESULTS_BUFFER);
|
private readonly Queue<TilePoint> points = new Queue<TilePoint>(EXPECTED_RESULTS_BUFFER);
|
||||||
private Queue<PointData> results = new Queue<PointData>(EXPECTED_RESULTS_BUFFER);
|
private readonly Queue<PointData> results = new Queue<PointData>(EXPECTED_RESULTS_BUFFER);
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
@ -146,6 +149,7 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
VPO_OpenMap OpenMap = (VPO_OpenMap)Marshal.GetDelegateForFunctionPointer(GetProcAddress(dlls[(int)index], "VPO_OpenMap"), typeof(VPO_OpenMap));
|
VPO_OpenMap OpenMap = (VPO_OpenMap)Marshal.GetDelegateForFunctionPointer(GetProcAddress(dlls[(int)index], "VPO_OpenMap"), typeof(VPO_OpenMap));
|
||||||
VPO_FreeWAD FreeWAD = (VPO_FreeWAD)Marshal.GetDelegateForFunctionPointer(GetProcAddress(dlls[(int)index], "VPO_FreeWAD"), typeof(VPO_FreeWAD));
|
VPO_FreeWAD FreeWAD = (VPO_FreeWAD)Marshal.GetDelegateForFunctionPointer(GetProcAddress(dlls[(int)index], "VPO_FreeWAD"), typeof(VPO_FreeWAD));
|
||||||
VPO_CloseMap CloseMap = (VPO_CloseMap)Marshal.GetDelegateForFunctionPointer(GetProcAddress(dlls[(int)index], "VPO_CloseMap"), typeof(VPO_CloseMap));
|
VPO_CloseMap CloseMap = (VPO_CloseMap)Marshal.GetDelegateForFunctionPointer(GetProcAddress(dlls[(int)index], "VPO_CloseMap"), typeof(VPO_CloseMap));
|
||||||
|
VPO_OpenDoorSectors OpenDoors = (VPO_OpenDoorSectors)Marshal.GetDelegateForFunctionPointer(GetProcAddress(dlls[(int)index], "VPO_OpenDoorSectors"), typeof(VPO_OpenDoorSectors)); //mxd
|
||||||
VPO_TestSpot TestSpot = (VPO_TestSpot)Marshal.GetDelegateForFunctionPointer(GetProcAddress(dlls[(int)index], "VPO_TestSpot"), typeof(VPO_TestSpot));
|
VPO_TestSpot TestSpot = (VPO_TestSpot)Marshal.GetDelegateForFunctionPointer(GetProcAddress(dlls[(int)index], "VPO_TestSpot"), typeof(VPO_TestSpot));
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -154,6 +158,7 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
bool isHexen = (General.Map.Config.FormatInterface == "HexenMapSetIO");
|
bool isHexen = (General.Map.Config.FormatInterface == "HexenMapSetIO");
|
||||||
if(LoadWAD(filename) != 0) throw new Exception("VPO is unable to read this file.");
|
if(LoadWAD(filename) != 0) throw new Exception("VPO is unable to read this file.");
|
||||||
if(OpenMap(mapname, ref isHexen) != 0) throw new Exception("VPO is unable to open this map.");
|
if(OpenMap(mapname, ref isHexen) != 0) throw new Exception("VPO is unable to open this map.");
|
||||||
|
OpenDoors(BuilderPlug.InterfaceForm.OpenDoors ? 1 : -1); //mxd
|
||||||
|
|
||||||
// Processing
|
// Processing
|
||||||
Queue<TilePoint> todo = new Queue<TilePoint>(POINTS_PER_ITERATION);
|
Queue<TilePoint> todo = new Queue<TilePoint>(POINTS_PER_ITERATION);
|
||||||
|
@ -246,6 +251,13 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
internal void Restart()
|
||||||
|
{
|
||||||
|
Stop();
|
||||||
|
Start(filename, mapname);
|
||||||
|
}
|
||||||
|
|
||||||
// This clears the list of enqueued points
|
// This clears the list of enqueued points
|
||||||
public void ClearPoints()
|
public void ClearPoints()
|
||||||
{
|
{
|
||||||
|
|
|
@ -6,10 +6,11 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
{
|
{
|
||||||
internal enum ViewStats
|
internal enum ViewStats
|
||||||
{
|
{
|
||||||
Visplanes = 0,
|
Visplanes,
|
||||||
Drawsegs = 1,
|
Drawsegs,
|
||||||
Solidsegs = 2,
|
Solidsegs,
|
||||||
Openings = 3,
|
Openings,
|
||||||
NumStats = 4
|
Heatmap, //mxd
|
||||||
|
NumStats
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -85,6 +85,7 @@
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="Resources\Gauge.png" />
|
<EmbeddedResource Include="Resources\Gauge.png" />
|
||||||
<Content Include="Resources\Gauge_large.ico" />
|
<Content Include="Resources\Gauge_large.ico" />
|
||||||
|
<None Include="Resources\Heatmap_pal.png" />
|
||||||
<EmbeddedResource Include="Resources\vpo.dll" />
|
<EmbeddedResource Include="Resources\vpo.dll" />
|
||||||
<None Include="Resources\Solidsegs_pal.png" />
|
<None Include="Resources\Solidsegs_pal.png" />
|
||||||
<None Include="Resources\Openings_pal.png" />
|
<None Include="Resources\Openings_pal.png" />
|
||||||
|
|
|
@ -128,8 +128,8 @@ namespace CodeImp.DoomBuilder.Plugins.VisplaneExplorer
|
||||||
Rectangle mapviewrect = new Rectangle((int)mapleftbot.x - Tile.TILE_SIZE, (int)maprighttop.y - Tile.TILE_SIZE, (int)maprighttop.x - (int)mapleftbot.x + Tile.TILE_SIZE, (int)mapleftbot.y - (int)maprighttop.y + Tile.TILE_SIZE);
|
Rectangle mapviewrect = new Rectangle((int)mapleftbot.x - Tile.TILE_SIZE, (int)maprighttop.y - Tile.TILE_SIZE, (int)maprighttop.x - (int)mapleftbot.x + Tile.TILE_SIZE, (int)mapleftbot.y - (int)maprighttop.y + Tile.TILE_SIZE);
|
||||||
|
|
||||||
int viewstats = (int)BuilderPlug.InterfaceForm.ViewStats;
|
int viewstats = (int)BuilderPlug.InterfaceForm.ViewStats;
|
||||||
Palette pal = BuilderPlug.Palettes[viewstats];
|
Palette pal = (BuilderPlug.InterfaceForm.ShowHeatmap ? BuilderPlug.Palettes[(int)ViewStats.Heatmap] : BuilderPlug.Palettes[viewstats]);
|
||||||
|
|
||||||
Size canvassize = canvas.Size;
|
Size canvassize = canvas.Size;
|
||||||
BitmapData bd = canvas.LockBits(new Rectangle(0, 0, canvassize.Width, canvassize.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
|
BitmapData bd = canvas.LockBits(new Rectangle(0, 0, canvassize.Width, canvassize.Height), ImageLockMode.WriteOnly, PixelFormat.Format32bppArgb);
|
||||||
RtlZeroMemory(bd.Scan0, bd.Width * bd.Height * 4);
|
RtlZeroMemory(bd.Scan0, bd.Width * bd.Height * 4);
|
||||||
|
|
|
@ -8,5 +8,6 @@ EXPORTS
|
||||||
VPO_OpenMap
|
VPO_OpenMap
|
||||||
VPO_CloseMap
|
VPO_CloseMap
|
||||||
VPO_GetLinedef
|
VPO_GetLinedef
|
||||||
|
VPO_OpenDoorSectors
|
||||||
VPO_TestSpot
|
VPO_TestSpot
|
||||||
|
|
Loading…
Reference in a new issue