mirror of
https://git.do.srb2.org/STJr/ZoneBuilder.git
synced 2024-11-14 00:20:40 +00:00
Added capability for rendering the NiGHTS path
This commit is contained in:
parent
70beb450d2
commit
4611851122
36 changed files with 294 additions and 96 deletions
|
@ -819,6 +819,7 @@ autoclearsidetextures = true;
|
||||||
storeselectededittab = true;
|
storeselectededittab = true;
|
||||||
rendercomments = true;
|
rendercomments = true;
|
||||||
rendergrid = true;
|
rendergrid = true;
|
||||||
|
rendernightspath = true;
|
||||||
defaultceilheight = 128;
|
defaultceilheight = 128;
|
||||||
defaultfloorheight = 0;
|
defaultfloorheight = 0;
|
||||||
defaultbrightness = 255;
|
defaultbrightness = 255;
|
||||||
|
|
|
@ -703,6 +703,7 @@
|
||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<None Include="Resources\ZBLogo.bmp" />
|
<None Include="Resources\ZBLogo.bmp" />
|
||||||
<None Include="Resources\ZBLogo.png" />
|
<None Include="Resources\ZBLogo.png" />
|
||||||
|
<None Include="Resources\axis1.png" />
|
||||||
<Content Include="ZB.ico" />
|
<Content Include="ZB.ico" />
|
||||||
<None Include="Resources\zonebuilder.png" />
|
<None Include="Resources\zonebuilder.png" />
|
||||||
<None Include="Resources\ZoneBuilder.bmp" />
|
<None Include="Resources\ZoneBuilder.bmp" />
|
||||||
|
|
|
@ -119,6 +119,7 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
private bool checkforupdates;
|
private bool checkforupdates;
|
||||||
private bool rendercomments;
|
private bool rendercomments;
|
||||||
private bool rendergrid;
|
private bool rendergrid;
|
||||||
|
private bool rendernightspath;
|
||||||
private bool dynamicgridsize;
|
private bool dynamicgridsize;
|
||||||
private int ignoredremoterevision;
|
private int ignoredremoterevision;
|
||||||
|
|
||||||
|
@ -211,6 +212,7 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
internal bool CheckForUpdates { get { return checkforupdates; } set { checkforupdates = value; } } //mxd
|
internal bool CheckForUpdates { get { return checkforupdates; } set { checkforupdates = value; } } //mxd
|
||||||
public bool RenderComments { get { return rendercomments; } internal set { rendercomments = value; } } //mxd
|
public bool RenderComments { get { return rendercomments; } internal set { rendercomments = value; } } //mxd
|
||||||
public bool RenderGrid { get { return rendergrid; } internal set { rendergrid = value; } } //mxd
|
public bool RenderGrid { get { return rendergrid; } internal set { rendergrid = value; } } //mxd
|
||||||
|
public bool RenderNiGHTSPath { get { return rendernightspath; } internal set { rendernightspath = value; } }
|
||||||
public bool DynamicGridSize { get { return dynamicgridsize; } internal set { dynamicgridsize = value; } } //mxd
|
public bool DynamicGridSize { get { return dynamicgridsize; } internal set { dynamicgridsize = value; } } //mxd
|
||||||
internal int IgnoredRemoteRevision { get { return ignoredremoterevision; } set { ignoredremoterevision = value; } } //mxd
|
internal int IgnoredRemoteRevision { get { return ignoredremoterevision; } set { ignoredremoterevision = value; } } //mxd
|
||||||
|
|
||||||
|
@ -326,6 +328,7 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
checkforupdates = cfg.ReadSetting("checkforupdates", false); //mxd
|
checkforupdates = cfg.ReadSetting("checkforupdates", false); //mxd
|
||||||
rendercomments = cfg.ReadSetting("rendercomments", true); //mxd
|
rendercomments = cfg.ReadSetting("rendercomments", true); //mxd
|
||||||
rendergrid = cfg.ReadSetting("rendergrid", true); //mxd
|
rendergrid = cfg.ReadSetting("rendergrid", true); //mxd
|
||||||
|
rendernightspath = cfg.ReadSetting("rendernightspath", true);
|
||||||
dynamicgridsize = cfg.ReadSetting("dynamicgridsize", true); //mxd
|
dynamicgridsize = cfg.ReadSetting("dynamicgridsize", true); //mxd
|
||||||
ignoredremoterevision = cfg.ReadSetting("ignoredremoterevision", 0); //mxd
|
ignoredremoterevision = cfg.ReadSetting("ignoredremoterevision", 0); //mxd
|
||||||
|
|
||||||
|
@ -425,6 +428,7 @@ namespace CodeImp.DoomBuilder.Config
|
||||||
cfg.WriteSetting("checkforupdates", checkforupdates); //mxd
|
cfg.WriteSetting("checkforupdates", checkforupdates); //mxd
|
||||||
cfg.WriteSetting("rendercomments", rendercomments); //mxd
|
cfg.WriteSetting("rendercomments", rendercomments); //mxd
|
||||||
cfg.WriteSetting("rendergrid", rendergrid); //mxd
|
cfg.WriteSetting("rendergrid", rendergrid); //mxd
|
||||||
|
cfg.WriteSetting("rendernightspath", rendernightspath); //mxd
|
||||||
cfg.WriteSetting("dynamicgridsize", dynamicgridsize); //mxd
|
cfg.WriteSetting("dynamicgridsize", dynamicgridsize); //mxd
|
||||||
cfg.WriteSetting("ignoredremoterevision", ignoredremoterevision); //mxd
|
cfg.WriteSetting("ignoredremoterevision", ignoredremoterevision); //mxd
|
||||||
|
|
||||||
|
|
|
@ -109,6 +109,9 @@ namespace CodeImp.DoomBuilder.IO
|
||||||
public override int Custom3DFloorType { get { return 160; } }
|
public override int Custom3DFloorType { get { return 160; } }
|
||||||
public override int ColormapType { get { return -1; } }
|
public override int ColormapType { get { return -1; } }
|
||||||
public override int FlatAlignmentType { get { return -1; } }
|
public override int FlatAlignmentType { get { return -1; } }
|
||||||
|
public override int AxisType { get { return -1; } }
|
||||||
|
public override int AxisTransferLineType { get { return -1; } }
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
@ -109,6 +109,8 @@ namespace CodeImp.DoomBuilder.IO
|
||||||
public override int Custom3DFloorType { get { return 160; } }
|
public override int Custom3DFloorType { get { return 160; } }
|
||||||
public override int ColormapType { get { return -1; } }
|
public override int ColormapType { get { return -1; } }
|
||||||
public override int FlatAlignmentType { get { return -1; } }
|
public override int FlatAlignmentType { get { return -1; } }
|
||||||
|
public override int AxisType { get { return -1; } }
|
||||||
|
public override int AxisTransferLineType { get { return -1; } }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
@ -79,5 +79,7 @@ namespace CodeImp.DoomBuilder.IO
|
||||||
int Custom3DFloorType { get; }
|
int Custom3DFloorType { get; }
|
||||||
int ColormapType { get; }
|
int ColormapType { get; }
|
||||||
int FlatAlignmentType { get; }
|
int FlatAlignmentType { get; }
|
||||||
|
int AxisType { get; }
|
||||||
|
int AxisTransferLineType { get; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -100,6 +100,9 @@ namespace CodeImp.DoomBuilder.IO
|
||||||
public abstract int Custom3DFloorType { get; }
|
public abstract int Custom3DFloorType { get; }
|
||||||
public abstract int ColormapType { get; }
|
public abstract int ColormapType { get; }
|
||||||
public abstract int FlatAlignmentType { get; }
|
public abstract int FlatAlignmentType { get; }
|
||||||
|
public abstract int AxisType { get; }
|
||||||
|
public abstract int AxisTransferLineType { get; }
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
@ -157,6 +157,8 @@ namespace CodeImp.DoomBuilder.IO
|
||||||
public override int MinThingHeight { get { return 0; } }
|
public override int MinThingHeight { get { return 0; } }
|
||||||
public override int ColormapType { get { return 606; } }
|
public override int ColormapType { get { return 606; } }
|
||||||
public override int FlatAlignmentType { get { return 7; } }
|
public override int FlatAlignmentType { get { return 7; } }
|
||||||
|
public override int AxisType { get { return 1700; } }
|
||||||
|
public override int AxisTransferLineType { get { return 1702; } }
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ================== Reading
|
#region ================== Reading
|
||||||
|
|
|
@ -159,6 +159,8 @@ namespace CodeImp.DoomBuilder.IO
|
||||||
public override int Custom3DFloorType { get { return 160; } }
|
public override int Custom3DFloorType { get { return 160; } }
|
||||||
public override int ColormapType { get { return -1; } }
|
public override int ColormapType { get { return -1; } }
|
||||||
public override int FlatAlignmentType { get { return -1; } }
|
public override int FlatAlignmentType { get { return -1; } }
|
||||||
|
public override int AxisType { get { return -1; } }
|
||||||
|
public override int AxisTransferLineType { get { return -1; } }
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|
|
@ -393,6 +393,21 @@ namespace CodeImp.DoomBuilder.Map
|
||||||
selecteditem = null;
|
selecteditem = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public int GetFlagsValue()
|
||||||
|
{
|
||||||
|
int flags = 0;
|
||||||
|
foreach (KeyValuePair<string, bool> f in Flags)
|
||||||
|
{
|
||||||
|
int fnum;
|
||||||
|
if (f.Value && int.TryParse(f.Key, out fnum)) flags |= fnum;
|
||||||
|
}
|
||||||
|
|
||||||
|
//SRB2 stores Z position in upper 12 bits of flags. Add Z position to flags.
|
||||||
|
if (General.Map.SRB2) flags |= (UInt16)Position.z << 4;
|
||||||
|
|
||||||
|
return flags;
|
||||||
|
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ================== Changes
|
#region ================== Changes
|
||||||
|
|
10
Source/Core/Properties/Resources.Designer.cs
generated
10
Source/Core/Properties/Resources.Designer.cs
generated
|
@ -110,6 +110,16 @@ namespace CodeImp.DoomBuilder.Properties {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||||
|
/// </summary>
|
||||||
|
internal static System.Drawing.Bitmap axis1 {
|
||||||
|
get {
|
||||||
|
object obj = ResourceManager.GetObject("axis1", resourceCulture);
|
||||||
|
return ((System.Drawing.Bitmap)(obj));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
/// Sucht eine lokalisierte Ressource vom Typ System.Drawing.Bitmap.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|
|
@ -550,4 +550,7 @@
|
||||||
<data name="ZBLogo" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
<data name="ZBLogo" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
<value>..\Resources\ZBLogo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
<value>..\Resources\ZBLogo.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
</data>
|
</data>
|
||||||
|
<data name="axis1" type="System.Resources.ResXFileRef, System.Windows.Forms">
|
||||||
|
<value>..\Resources\axis1.png;System.Drawing.Bitmap, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
|
||||||
|
</data>
|
||||||
</root>
|
</root>
|
|
@ -68,6 +68,7 @@ namespace CodeImp.DoomBuilder.Rendering
|
||||||
void PlotVerticesSet(ICollection<Vertex> vertices);
|
void PlotVerticesSet(ICollection<Vertex> vertices);
|
||||||
void RenderThing(Thing t, PixelColor c, float alpha);
|
void RenderThing(Thing t, PixelColor c, float alpha);
|
||||||
void RenderThingSet(ICollection<Thing> things, float alpha);
|
void RenderThingSet(ICollection<Thing> things, float alpha);
|
||||||
|
void RenderNiGHTSPath();
|
||||||
void RenderRectangle(RectangleF rect, float bordersize, PixelColor c, bool transformrect);
|
void RenderRectangle(RectangleF rect, float bordersize, PixelColor c, bool transformrect);
|
||||||
void RenderRectangleFilled(RectangleF rect, PixelColor c, bool transformrect);
|
void RenderRectangleFilled(RectangleF rect, PixelColor c, bool transformrect);
|
||||||
void RenderRectangleFilled(RectangleF rect, PixelColor c, bool transformrect, ImageData texture);
|
void RenderRectangleFilled(RectangleF rect, PixelColor c, bool transformrect, ImageData texture);
|
||||||
|
|
|
@ -59,6 +59,9 @@ namespace CodeImp.DoomBuilder.Rendering
|
||||||
|
|
||||||
internal const int NUM_VIEW_MODES = 4;
|
internal const int NUM_VIEW_MODES = 4;
|
||||||
|
|
||||||
|
private const int CIRCLE_PRECISION = 360;
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ================== Variables
|
#region ================== Variables
|
||||||
|
@ -1430,6 +1433,47 @@ namespace CodeImp.DoomBuilder.Rendering
|
||||||
RenderThingsBatch(things, alpha, false, new PixelColor());
|
RenderThingsBatch(things, alpha, false, new PixelColor());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public void RenderNiGHTSPath()
|
||||||
|
{
|
||||||
|
if (!General.Settings.RenderNiGHTSPath) return;
|
||||||
|
ICollection<Thing> things = General.Map.Map.Things;
|
||||||
|
List<Thing> axes = new List<Thing>();
|
||||||
|
List<Thing> axistransferlines = new List<Thing>();
|
||||||
|
foreach (Thing t in things)
|
||||||
|
{
|
||||||
|
if (t.Type % 4096 == General.Map.FormatInterface.AxisType) axes.Add(t);
|
||||||
|
if (t.Type % 4096 == General.Map.FormatInterface.AxisTransferLineType) axistransferlines.Add(t);
|
||||||
|
}
|
||||||
|
axistransferlines.Sort((x, y) => x.GetFlagsValue().CompareTo(y.GetFlagsValue()));
|
||||||
|
|
||||||
|
//Render axis transfer lines.
|
||||||
|
int i = 0;
|
||||||
|
int size = axistransferlines.Count;
|
||||||
|
while (i < size - 1)
|
||||||
|
{
|
||||||
|
int iNext = i;
|
||||||
|
while (iNext < size - 1 && axistransferlines[++iNext].GetFlagsValue() <= axistransferlines[i].GetFlagsValue()) ;
|
||||||
|
|
||||||
|
if (iNext < size && axistransferlines[iNext].GetFlagsValue() == axistransferlines[i].GetFlagsValue() + 1)
|
||||||
|
{
|
||||||
|
RenderLine((Vector2D)axistransferlines[i].Position, (Vector2D)axistransferlines[iNext].Position, 1f, General.Colors.Highlight, true);
|
||||||
|
/* Start looking for partners for the one beyond iNext. */
|
||||||
|
i = iNext + 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
/* No partner, so start looking for partners for iNext. */
|
||||||
|
i = iNext;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
//Render axes.
|
||||||
|
foreach (Thing axis in axes)
|
||||||
|
{
|
||||||
|
RenderCircle((Vector2D)axis.Position, (float)(axis.AngleDoom & 0x3FFF), 1f, General.Colors.Highlight, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ================== Surface
|
#region ================== Surface
|
||||||
|
@ -1834,6 +1878,23 @@ namespace CodeImp.DoomBuilder.Rendering
|
||||||
|
|
||||||
// This renders a line with given color
|
// This renders a line with given color
|
||||||
public void RenderLine(Vector2D start, Vector2D end, float thickness, PixelColor c, bool transformcoords)
|
public void RenderLine(Vector2D start, Vector2D end, float thickness, PixelColor c, bool transformcoords)
|
||||||
|
{
|
||||||
|
RenderLineVerts(new FlatVertex[][] { CreateLineVerts(start, end, thickness, c, transformcoords) });
|
||||||
|
}
|
||||||
|
|
||||||
|
public void RenderLines(Vector2D[] starts, Vector2D[] ends, float thickness, PixelColor c, bool transformcoords)
|
||||||
|
{
|
||||||
|
if (starts.Length != ends.Length) return;
|
||||||
|
FlatVertex[][] verts = new FlatVertex[starts.Length][];
|
||||||
|
for (int i = 0; i < starts.Length; i++)
|
||||||
|
{
|
||||||
|
verts[i] = CreateLineVerts(starts[i], ends[i], thickness, c, transformcoords);
|
||||||
|
}
|
||||||
|
|
||||||
|
RenderLineVerts(verts);
|
||||||
|
}
|
||||||
|
|
||||||
|
private FlatVertex[] CreateLineVerts(Vector2D start, Vector2D end, float thickness, PixelColor c, bool transformcoords)
|
||||||
{
|
{
|
||||||
FlatVertex[] verts = new FlatVertex[4];
|
FlatVertex[] verts = new FlatVertex[4];
|
||||||
|
|
||||||
|
@ -1866,6 +1927,10 @@ namespace CodeImp.DoomBuilder.Rendering
|
||||||
verts[3].z = 0.0f;
|
verts[3].z = 0.0f;
|
||||||
verts[3].c = c.ToInt();
|
verts[3].c = c.ToInt();
|
||||||
|
|
||||||
|
return verts;
|
||||||
|
}
|
||||||
|
private void RenderLineVerts(FlatVertex[][] verts)
|
||||||
|
{
|
||||||
// Set renderstates for rendering
|
// Set renderstates for rendering
|
||||||
graphics.Device.SetRenderState(RenderState.CullMode, Cull.None);
|
graphics.Device.SetRenderState(RenderState.CullMode, Cull.None);
|
||||||
graphics.Device.SetRenderState(RenderState.ZEnable, false);
|
graphics.Device.SetRenderState(RenderState.ZEnable, false);
|
||||||
|
@ -1880,12 +1945,36 @@ namespace CodeImp.DoomBuilder.Rendering
|
||||||
|
|
||||||
// Draw
|
// Draw
|
||||||
graphics.Shaders.Display2D.Begin();
|
graphics.Shaders.Display2D.Begin();
|
||||||
|
foreach (FlatVertex[] v in verts)
|
||||||
|
{
|
||||||
graphics.Shaders.Display2D.BeginPass(0);
|
graphics.Shaders.Display2D.BeginPass(0);
|
||||||
graphics.Device.DrawUserPrimitives(PrimitiveType.TriangleStrip, 0, 2, verts);
|
graphics.Device.DrawUserPrimitives(PrimitiveType.TriangleStrip, 0, 2, v);
|
||||||
graphics.Shaders.Display2D.EndPass();
|
graphics.Shaders.Display2D.EndPass();
|
||||||
|
}
|
||||||
graphics.Shaders.Display2D.End();
|
graphics.Shaders.Display2D.End();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This renders a circle with given color
|
||||||
|
public void RenderCircle(Vector2D center, float radius, float thickness, PixelColor c, bool transformcoords)
|
||||||
|
{
|
||||||
|
Vector2D[] points = new Vector2D[CIRCLE_PRECISION];
|
||||||
|
for (int i = 0; i < CIRCLE_PRECISION; i++)
|
||||||
|
{
|
||||||
|
float fAngle = i * 2 * (float)Math.PI / CIRCLE_PRECISION;
|
||||||
|
points[i].x = center.x + ((float)Math.Cos(fAngle) * radius);
|
||||||
|
points[i].y = center.y + ((float)Math.Sin(fAngle) * radius);
|
||||||
|
}
|
||||||
|
Vector2D[] starts = new Vector2D[CIRCLE_PRECISION];
|
||||||
|
Vector2D[] ends = new Vector2D[CIRCLE_PRECISION];
|
||||||
|
for (int i = 0; i < CIRCLE_PRECISION; i++)
|
||||||
|
{
|
||||||
|
starts[i] = points[i];
|
||||||
|
ends[i] = points[(i + 1) % CIRCLE_PRECISION];
|
||||||
|
}
|
||||||
|
RenderLines(starts, ends, thickness, c, transformcoords);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
#region ================== Geometry
|
#region ================== Geometry
|
||||||
|
|
|
@ -394,6 +394,17 @@ togglegrid
|
||||||
default = 262215; //Alt-G
|
default = 262215; //Alt-G
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//mxd
|
||||||
|
togglenightspath
|
||||||
|
{
|
||||||
|
title = "Toggle NiGHTS Path";
|
||||||
|
category = "classic";
|
||||||
|
description = "Toggles NiGHTS path rendering in classic modes.";
|
||||||
|
allowkeys = false;
|
||||||
|
allowmouse = false;
|
||||||
|
allowscroll = false;
|
||||||
|
}
|
||||||
|
|
||||||
//mxd
|
//mxd
|
||||||
toggledynamicgrid
|
toggledynamicgrid
|
||||||
{
|
{
|
||||||
|
|
BIN
Source/Core/Resources/axis1.png
Normal file
BIN
Source/Core/Resources/axis1.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 549 B |
15
Source/Core/Windows/MainForm.Designer.cs
generated
15
Source/Core/Windows/MainForm.Designer.cs
generated
|
@ -255,6 +255,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
this.modecontrolsloolbar = new System.Windows.Forms.ToolStrip();
|
this.modecontrolsloolbar = new System.Windows.Forms.ToolStrip();
|
||||||
this.itemtogglecomments = new System.Windows.Forms.ToolStripMenuItem();
|
this.itemtogglecomments = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.itemdynamicgridsize = new System.Windows.Forms.ToolStripMenuItem();
|
this.itemdynamicgridsize = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.itemrendernightspath = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
|
toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator();
|
toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
@ -736,6 +737,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
this.seperatorviewviews,
|
this.seperatorviewviews,
|
||||||
this.itemfullbrightness,
|
this.itemfullbrightness,
|
||||||
this.itemtogglegrid,
|
this.itemtogglegrid,
|
||||||
|
this.itemrendernightspath,
|
||||||
this.itemtogglecomments,
|
this.itemtogglecomments,
|
||||||
this.toolStripSeparator4,
|
this.toolStripSeparator4,
|
||||||
this.menuzoom,
|
this.menuzoom,
|
||||||
|
@ -2428,6 +2430,18 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
this.itemdynamicgridsize.Text = "Dynamic Grid Size";
|
this.itemdynamicgridsize.Text = "Dynamic Grid Size";
|
||||||
this.itemdynamicgridsize.Click += new System.EventHandler(this.InvokeTaggedAction);
|
this.itemdynamicgridsize.Click += new System.EventHandler(this.InvokeTaggedAction);
|
||||||
//
|
//
|
||||||
|
// itemrendernightspath
|
||||||
|
//
|
||||||
|
this.itemrendernightspath.Checked = true;
|
||||||
|
this.itemrendernightspath.CheckOnClick = true;
|
||||||
|
this.itemrendernightspath.CheckState = System.Windows.Forms.CheckState.Checked;
|
||||||
|
this.itemrendernightspath.Image = global::CodeImp.DoomBuilder.Properties.Resources.axis1;
|
||||||
|
this.itemrendernightspath.Name = "itemrendernightspath";
|
||||||
|
this.itemrendernightspath.Size = new System.Drawing.Size(215, 22);
|
||||||
|
this.itemrendernightspath.Tag = "builder_togglenightspath";
|
||||||
|
this.itemrendernightspath.Text = "&Show NiGHTS Path";
|
||||||
|
this.itemrendernightspath.Click += new System.EventHandler(this.InvokeTaggedAction);
|
||||||
|
//
|
||||||
// MainForm
|
// MainForm
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(96F, 96F);
|
||||||
|
@ -2689,6 +2703,7 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
private ToolStripButton buttontogglegrid;
|
private ToolStripButton buttontogglegrid;
|
||||||
private ToolStripButton buttontoggledynamicgrid;
|
private ToolStripButton buttontoggledynamicgrid;
|
||||||
private ToolStripMenuItem itemdynamicgridsize;
|
private ToolStripMenuItem itemdynamicgridsize;
|
||||||
|
private ToolStripMenuItem itemrendernightspath;
|
||||||
private ToolStripMenuItem itemtogglecomments;
|
private ToolStripMenuItem itemtogglecomments;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -2016,6 +2016,8 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
buttonfullbrightness.Checked = Renderer.FullBrightness; //mxd
|
buttonfullbrightness.Checked = Renderer.FullBrightness; //mxd
|
||||||
buttontogglegrid.Visible = General.Settings.ToolbarViewModes && maploaded; //mxd
|
buttontogglegrid.Visible = General.Settings.ToolbarViewModes && maploaded; //mxd
|
||||||
buttontogglegrid.Checked = General.Settings.RenderGrid; //mxd
|
buttontogglegrid.Checked = General.Settings.RenderGrid; //mxd
|
||||||
|
itemrendernightspath.Visible = maploaded && General.Map.SRB2;
|
||||||
|
itemrendernightspath.Checked = General.Settings.RenderNiGHTSPath;
|
||||||
buttontogglecomments.Visible = General.Settings.ToolbarViewModes && maploaded && General.Map.UDMF; //mxd
|
buttontogglecomments.Visible = General.Settings.ToolbarViewModes && maploaded && General.Map.UDMF; //mxd
|
||||||
buttontogglecomments.Checked = General.Settings.RenderComments; //mxd
|
buttontogglecomments.Checked = General.Settings.RenderComments; //mxd
|
||||||
separatorfullbrightness.Visible = General.Settings.ToolbarViewModes && maploaded; //mxd
|
separatorfullbrightness.Visible = General.Settings.ToolbarViewModes && maploaded; //mxd
|
||||||
|
@ -2804,6 +2806,17 @@ namespace CodeImp.DoomBuilder.Windows
|
||||||
General.Interface.RedrawDisplay();
|
General.Interface.RedrawDisplay();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[BeginAction("togglenightspath")]
|
||||||
|
protected void ToggleNiGHTSPath()
|
||||||
|
{
|
||||||
|
General.Settings.RenderNiGHTSPath = !General.Settings.RenderNiGHTSPath;
|
||||||
|
itemrendernightspath.Checked = General.Settings.RenderNiGHTSPath;
|
||||||
|
General.Interface.DisplayStatus(StatusType.Action, "NiGHTS path rendering is " + (General.Settings.RenderNiGHTSPath ? "ENABLED" : "DISABLED"));
|
||||||
|
|
||||||
|
// Redraw display to show changes
|
||||||
|
General.Interface.RedrawDisplay();
|
||||||
|
}
|
||||||
|
|
||||||
//mxd
|
//mxd
|
||||||
[BeginAction("toggledynamicgrid")]
|
[BeginAction("toggledynamicgrid")]
|
||||||
protected void ToggleDynamicGrid()
|
protected void ToggleDynamicGrid()
|
||||||
|
|
|
@ -373,6 +373,7 @@ namespace CodeImp.DoomBuilder.BuilderModes.ClassicModes
|
||||||
if(renderer.StartThings(true))
|
if(renderer.StartThings(true))
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -245,6 +245,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
if(renderer.StartThings(true))
|
if(renderer.StartThings(true))
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -129,6 +129,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
if(renderer.StartThings(true))
|
if(renderer.StartThings(true))
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -162,6 +163,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(unselectedthings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(unselectedthings, Presentation.THINGS_ALPHA);
|
||||||
renderer.RenderThingSet(selectedthings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(selectedthings, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -148,6 +148,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
if(renderer.StartThings(true))
|
if(renderer.StartThings(true))
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -182,6 +183,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(unselectedthings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(unselectedthings, Presentation.THINGS_ALPHA);
|
||||||
renderer.RenderThingSet(selectedthings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(selectedthings, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -312,6 +312,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(unselectedthings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(unselectedthings, Presentation.THINGS_ALPHA);
|
||||||
renderer.RenderThingSet(selectedthings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(selectedthings, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
|
|
||||||
// Draw the dragged item highlighted
|
// Draw the dragged item highlighted
|
||||||
// This is important to know, because this item is used
|
// This is important to know, because this item is used
|
||||||
|
|
|
@ -117,6 +117,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
if(renderer.StartThings(true))
|
if(renderer.StartThings(true))
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -150,6 +151,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(unselectedthings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(unselectedthings, Presentation.THINGS_ALPHA);
|
||||||
renderer.RenderThingSet(selectedthings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(selectedthings, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -562,6 +562,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
if(renderer.StartThings(true))
|
if(renderer.StartThings(true))
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1566,6 +1566,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
||||||
if(highlighted is Thing) renderer.RenderThing((highlighted as Thing), General.Colors.Highlight, Presentation.THINGS_ALPHA);
|
if(highlighted is Thing) renderer.RenderThing((highlighted as Thing), General.Colors.Highlight, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -137,6 +137,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
if(renderer.StartThings(true))
|
if(renderer.StartThings(true))
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
//foreach(ErrorResult result in selection) result.RenderThingsSelection(renderer); //mxd
|
//foreach(ErrorResult result in selection) result.RenderThingsSelection(renderer); //mxd
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
|
@ -140,6 +140,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
if(renderer.StartThings(true))
|
if(renderer.StartThings(true))
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.Map.Things, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
if (BuilderPlug.Me.FindReplaceForm.Finder != null)
|
if (BuilderPlug.Me.FindReplaceForm.Finder != null)
|
||||||
BuilderPlug.Me.FindReplaceForm.Finder.RenderThingsSelection(renderer, selection);
|
BuilderPlug.Me.FindReplaceForm.Finder.RenderThingsSelection(renderer, selection);
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
|
|
|
@ -877,6 +877,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -413,6 +413,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -346,6 +346,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -754,6 +754,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -190,6 +190,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
for (int i = 0; i < Thing.NUM_ARGS; i++) BuilderPlug.RenderAssociations(renderer, association[i], eventlines);
|
for (int i = 0; i < Thing.NUM_ARGS; i++) BuilderPlug.RenderAssociations(renderer, association[i], eventlines);
|
||||||
|
|
||||||
if((highlighted != null) && !highlighted.IsDisposed)
|
if((highlighted != null) && !highlighted.IsDisposed)
|
||||||
|
|
|
@ -157,6 +157,7 @@ namespace CodeImp.DoomBuilder.BuilderModes
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
renderer.Finish();
|
renderer.Finish();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -307,6 +307,7 @@ namespace CodeImp.DoomBuilder.SoundPropagationMode
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_BACK_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_BACK_ALPHA);
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
|
|
||||||
lock (BuilderPlug.Me.SoundEnvironments)
|
lock (BuilderPlug.Me.SoundEnvironments)
|
||||||
{
|
{
|
||||||
|
|
|
@ -278,6 +278,7 @@ namespace CodeImp.DoomBuilder.SoundPropagationMode
|
||||||
{
|
{
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_BACK_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.HiddenThings, Presentation.THINGS_BACK_ALPHA);
|
||||||
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_HIDDEN_ALPHA);
|
renderer.RenderThingSet(General.Map.ThingsFilter.VisibleThings, Presentation.THINGS_HIDDEN_ALPHA);
|
||||||
|
renderer.RenderNiGHTSPath();
|
||||||
foreach (Thing thing in huntingThings)
|
foreach (Thing thing in huntingThings)
|
||||||
{
|
{
|
||||||
renderer.RenderThing(thing, General.Colors.Selection, Presentation.THINGS_ALPHA);
|
renderer.RenderThing(thing, General.Colors.Selection, Presentation.THINGS_ALPHA);
|
||||||
|
|
Loading…
Reference in a new issue