mirror of
https://git.do.srb2.org/STJr/UltimateZoneBuilder.git
synced 2025-02-20 19:02:12 +00:00
Add actions to toggle NiGHTS, zoom tube and polyobject rendering
This commit is contained in:
parent
4ef3ba204b
commit
79f66f1b9b
4 changed files with 99 additions and 10 deletions
|
@ -153,6 +153,11 @@ namespace CodeImp.DoomBuilder.Config
|
|||
private bool flatShadeVertices;
|
||||
private bool alwaysShowVertices;
|
||||
|
||||
// SRB2
|
||||
private bool srb2rendernights;
|
||||
private bool srb2renderzoomtubes;
|
||||
private bool srb2renderpolyobjects;
|
||||
|
||||
// These are not stored in the configuration, only used at runtime
|
||||
private int defaultbrightness;
|
||||
private int defaultfloorheight;
|
||||
|
@ -287,6 +292,11 @@ namespace CodeImp.DoomBuilder.Config
|
|||
|
||||
public bool AlwaysShowVertices { get { return alwaysShowVertices; } internal set { alwaysShowVertices = value; } }
|
||||
|
||||
//SRB2
|
||||
public bool SRB2RenderNiGHTS { get { return srb2rendernights; } internal set { srb2rendernights = value; } }
|
||||
public bool SRB2RenderZoomTubes { get { return srb2renderzoomtubes; } internal set { srb2renderzoomtubes = value; } }
|
||||
public bool SRB2RenderPolyobjects { get { return srb2renderpolyobjects; } internal set { srb2renderpolyobjects = value; } }
|
||||
|
||||
//mxd. Left here for compatibility reasons...
|
||||
public string DefaultTexture { get { return General.Map != null ? General.Map.Options.DefaultWallTexture : "-"; } set { if(General.Map != null) General.Map.Options.DefaultWallTexture = value; } }
|
||||
public string DefaultFloorTexture { get { return General.Map != null ? General.Map.Options.DefaultFloorTexture : "-"; } set { if(General.Map != null) General.Map.Options.DefaultFloorTexture = value; } }
|
||||
|
@ -428,6 +438,11 @@ namespace CodeImp.DoomBuilder.Config
|
|||
alwaysShowVertices = cfg.ReadSetting("alwaysshowvertices", true);
|
||||
flatShadeVertices = cfg.ReadSetting("flatshadevertices", false);
|
||||
|
||||
// SRB2
|
||||
srb2rendernights = cfg.ReadSetting("srb2rendernights", true);
|
||||
srb2renderpolyobjects = cfg.ReadSetting("srb2renderpolyobjects", true);
|
||||
srb2renderzoomtubes = cfg.ReadSetting("srb2renderzoomtubes", true);
|
||||
|
||||
//mxd. Sector defaults
|
||||
defaultceilheight = cfg.ReadSetting("defaultceilheight", 128);
|
||||
defaultfloorheight = cfg.ReadSetting("defaultfloorheight", 0);
|
||||
|
@ -573,6 +588,11 @@ namespace CodeImp.DoomBuilder.Config
|
|||
cfg.WriteSetting("alwaysshowvertices", alwaysShowVertices);
|
||||
cfg.WriteSetting("flatshadevertices", flatShadeVertices);
|
||||
|
||||
//SRB2
|
||||
cfg.WriteSetting("srb2rendernights", srb2rendernights);
|
||||
cfg.WriteSetting("srb2renderzoomtubes", srb2renderzoomtubes);
|
||||
cfg.WriteSetting("srb2renderpolyobjects", srb2renderpolyobjects);
|
||||
|
||||
// Toasts
|
||||
General.ToastManager.WriteSettings(cfg);
|
||||
|
||||
|
|
|
@ -1615,7 +1615,7 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
|
||||
public void RenderSRB2Extras()
|
||||
{
|
||||
//if (!(General.Settings.RenderNiGHTSPath || General.Settings.RenderZoomtubes || General.Settings.RenderPolyPreview)) return;
|
||||
if (!(General.Settings.SRB2RenderNiGHTS || General.Settings.SRB2RenderZoomTubes || General.Settings.SRB2RenderPolyobjects)) return;
|
||||
|
||||
axes = new List<Thing>();
|
||||
axistransferlines = new List<Thing>();
|
||||
|
@ -1627,15 +1627,15 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
// Collect relevant things
|
||||
foreach (Thing t in General.Map.Map.Things)
|
||||
{
|
||||
if (t.Type == 1700) // General.Settings.RenderNiGHTSPath && t.Type == General.Map.FormatInterface.AxisType
|
||||
if (General.Settings.SRB2RenderNiGHTS && t.Type == 1700)
|
||||
axes.Add(t);
|
||||
else if (t.Type == 1702) // General.Settings.RenderNiGHTSPath && t.Type == General.Map.FormatInterface.AxisTransferLineType
|
||||
else if (General.Settings.SRB2RenderNiGHTS && t.Type == 1702)
|
||||
axistransferlines.Add(t);
|
||||
else if (t.Type == 753) // General.Settings.RenderZoomtubes && t.Type == General.Map.FormatInterface.WaypointType
|
||||
else if (General.Settings.SRB2RenderZoomTubes && t.Type == 753)
|
||||
waypoints.Add(t);
|
||||
else if (t.Type == 760) // General.Settings.RenderPolyPreview
|
||||
else if (General.Settings.SRB2RenderPolyobjects && t.Type == 760)
|
||||
polyanchors.Add(t);
|
||||
else if (t.Type == 761 || t.Type == 762) // General.Settings.RenderPolyPreview
|
||||
else if (General.Settings.SRB2RenderPolyobjects && (t.Type == 761 || t.Type == 762))
|
||||
polyspawns.Add(t);
|
||||
}
|
||||
|
||||
|
@ -1650,7 +1650,7 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
axistransferlines.Sort((x, y) => (x.Args[1] | x.Args[0]).CompareTo(y.Args[1] | y.Args[0]));
|
||||
|
||||
// Collect relevant lines
|
||||
//if (General.Settings.RenderPolyPreview)
|
||||
if (General.Settings.SRB2RenderPolyobjects)
|
||||
{
|
||||
foreach (Linedef l in General.Map.Map.Linedefs)
|
||||
{
|
||||
|
@ -1662,7 +1662,7 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
}
|
||||
|
||||
//Render (zoom tube) waypoint sequences.
|
||||
//if (General.Settings.RenderZoomtubes)
|
||||
if (General.Settings.SRB2RenderZoomTubes)
|
||||
{
|
||||
int i = 0;
|
||||
int size = waypoints.Count;
|
||||
|
@ -1714,7 +1714,7 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
}
|
||||
|
||||
//Render axis transfer lines.
|
||||
//if (General.Settings.RenderNiGHTSPath)
|
||||
if (General.Settings.SRB2RenderNiGHTS)
|
||||
{
|
||||
int i = 0;
|
||||
int size = axistransferlines.Count;
|
||||
|
@ -1744,7 +1744,7 @@ namespace CodeImp.DoomBuilder.Rendering
|
|||
}
|
||||
}
|
||||
|
||||
//if (General.Settings.RenderPolyPreview)
|
||||
if (General.Settings.SRB2RenderPolyobjects)
|
||||
{
|
||||
int i = 0, j = 0, k = 0;
|
||||
Sector s = null;
|
||||
|
|
|
@ -1365,6 +1365,36 @@ gztoggleenhancedrendering
|
|||
registertoast = true;
|
||||
}
|
||||
|
||||
srb2togglenights
|
||||
{
|
||||
title = "Toggle NiGHTS axis rendering";
|
||||
category = "view";
|
||||
description = "When enabled, shows NiGHTS axis circles and transfer lines.";
|
||||
allowkeys = true;
|
||||
allowmouse = true;
|
||||
allowscroll = false;
|
||||
}
|
||||
|
||||
srb2togglezoomtubes
|
||||
{
|
||||
title = "Toggle zoom tube waypoint rendering";
|
||||
category = "view";
|
||||
description = "When enabled, shows zoom tube waypoint sequences.";
|
||||
allowkeys = true;
|
||||
allowmouse = true;
|
||||
allowscroll = false;
|
||||
}
|
||||
|
||||
srb2togglepolyobjects
|
||||
{
|
||||
title = "Toggle polyobject preview rendering";
|
||||
category = "view";
|
||||
description = "When enabled, shows polyobject previews.";
|
||||
allowkeys = true;
|
||||
allowmouse = true;
|
||||
allowscroll = false;
|
||||
}
|
||||
|
||||
//////////////////////////////
|
||||
//GZDOOMBUILDER MENU ACTIONS//
|
||||
//////////////////////////////
|
||||
|
|
|
@ -3349,6 +3349,45 @@ namespace CodeImp.DoomBuilder.Windows
|
|||
General.MainWindow.UpdateGZDoomPanel();
|
||||
}
|
||||
|
||||
[BeginAction("srb2togglenights")]
|
||||
internal void SRB2ToggleNiGHTS()
|
||||
{
|
||||
General.Settings.SRB2RenderNiGHTS = !General.Settings.SRB2RenderNiGHTS;
|
||||
|
||||
//itemtogglerendernights.Checked = General.Settings.SRB2RenderNiGHTS;
|
||||
//buttontogglerendernights.Checked = General.Settings.SRB2RenderNiGHTS;
|
||||
|
||||
General.MainWindow.DisplayStatus(StatusType.Action, "NiGHTS track rendering " + (General.Settings.SRB2RenderNiGHTS ? "ENABLED" : "DISABLED"));
|
||||
General.MainWindow.RedrawDisplay();
|
||||
General.MainWindow.UpdateGZDoomPanel();
|
||||
}
|
||||
|
||||
[BeginAction("srb2togglezoomtubes")]
|
||||
internal void SRB2ToggleZoomTubes()
|
||||
{
|
||||
General.Settings.SRB2RenderZoomTubes = !General.Settings.SRB2RenderZoomTubes;
|
||||
|
||||
//itemtogglerenderzoomtubes.Checked = General.Settings.SRB2RenderZoomTubes;
|
||||
//buttontogglerenderzoomtubes.Checked = General.Settings.SRB2RenderZoomTubes;
|
||||
|
||||
General.MainWindow.DisplayStatus(StatusType.Action, "Zoom tube waypoint rendering is " + (General.Settings.SRB2RenderZoomTubes ? "ENABLED" : "DISABLED"));
|
||||
General.MainWindow.RedrawDisplay();
|
||||
General.MainWindow.UpdateGZDoomPanel();
|
||||
}
|
||||
|
||||
[BeginAction("srb2togglepolyobjects")]
|
||||
internal void SRB2TogglePolyobjects()
|
||||
{
|
||||
General.Settings.SRB2RenderPolyobjects = !General.Settings.SRB2RenderPolyobjects;
|
||||
|
||||
//itemtogglerenderpolyobjects.Checked = General.Settings.SRB2RenderPolyobjects;
|
||||
//buttontogglerenderpolyobjects.Checked = General.Settings.SRB2RenderPolyobjects;
|
||||
|
||||
General.MainWindow.DisplayStatus(StatusType.Action, "Polyobject preview rendering is " + (General.Settings.SRB2RenderPolyobjects ? "ENABLED" : "DISABLED"));
|
||||
General.MainWindow.RedrawDisplay();
|
||||
General.MainWindow.UpdateGZDoomPanel();
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region ================== Mode Menu
|
||||
|
|
Loading…
Reference in a new issue